WebKit Bugzilla
Attachment 369802 Details for
Bug 197855
: Bound liveness of SetArgumentMaybe nodes when maximal flush insertion phase is enabled
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
maybe patch
a-backup.diff (text/plain), 1.66 KB, created by
Saam Barati
on 2019-05-13 16:35:50 PDT
(
hide
)
Description:
maybe patch
Filename:
MIME Type:
Creator:
Saam Barati
Created:
2019-05-13 16:35:50 PDT
Size:
1.66 KB
patch
obsolete
>Index: Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp >=================================================================== >--- Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp (revision 245243) >+++ Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp (working copy) >@@ -1863,6 +1863,8 @@ bool ByteCodeParser::handleVarargsInlini > registerOffset -= maxNumArguments; // includes "this" > registerOffset -= CallFrame::headerSizeInRegisters; > registerOffset = -WTF::roundUpToMultipleOf(stackAlignmentRegisters(), -registerOffset); >+ >+ Vector<VirtualRegister> setArgumentMaybes; > > auto insertChecks = [&] (CodeBlock* codeBlock) { > emitFunctionChecks(callVariant, callTargetNode, thisArgument); >@@ -1928,6 +1930,8 @@ bool ByteCodeParser::handleVarargsInlini > } > > Node* setArgument = addToGraph(numSetArguments >= mandatoryMinimum ? SetArgumentMaybe : SetArgumentDefinitely, OpInfo(variable)); >+ if (numSetArguments >= mandatoryMinimum && Options::useMaximalFlushInsertionPhase()) >+ setArgumentMaybes.append(variable->local()); > m_currentBlock->variablesAtTail.setOperand(variable->local(), setArgument); > ++numSetArguments; > } >@@ -1942,6 +1946,9 @@ bool ByteCodeParser::handleVarargsInlini > // calling LoadVarargs twice. > inlineCall(callTargetNode, result, callVariant, registerOffset, maxNumArguments, kind, nullptr, insertChecks); > >+ for (VirtualRegister reg : setArgumentMaybes) >+ setDirect(reg, jsConstant(jsUndefined()), ImmediateNakedSet); >+ > VERBOSE_LOG("Successful inlining (varargs, monomorphic).\nStack: ", currentCodeOrigin(), "\n"); > return true; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197855
:
369794
|
369802
|
369823
|
369898