[webkit-reviews] review granted: [Bug 181739] Update the argument count in DFGByteCodeParser::handleRecursiveCall : [Attachment 331641] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jan 18 11:31:07 PST 2018
Saam Barati <sbarati at apple.com> has granted Robin Morisset
<rmorisset at apple.com>'s request for review:
Bug 181739: Update the argument count in DFGByteCodeParser::handleRecursiveCall
https://bugs.webkit.org/show_bug.cgi?id=181739
Attachment 331641: Patch
https://bugs.webkit.org/attachment.cgi?id=331641&action=review
--- Comment #9 from Saam Barati <sbarati at apple.com> ---
Comment on attachment 331641
--> https://bugs.webkit.org/attachment.cgi?id=331641
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=331641&action=review
> Source/JavaScriptCore/ChangeLog:9
> + It required adding a new DFG node: 'SetArgumentCountIncludingThis',
that takes an unsigned int
> + as its first OpInfo field, and stores it to the stack at the right
place.
Please also add a description of the bug here. This just states what your
solution is. It doesn't go into enough detail about what was wrong with the
initial implementation.
> Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1405
> + // We must update the argument count on the stack with
'SetArgumentCountIncludingThis' instead of SetLocal,
> + // because it is a 32-bit slot on the stack, and not a normal (64
bit) js value.
This comment does not add any real info IMO. I think it falls out just from
reading the code.
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:11303
> + m_jit.store32(TrustedImm32(node->argumentCountIncludingThis()),
JITCompiler::payloadFor(CallFrameSlot::argumentCount));
You need to add
noResult(node)
here.
More information about the webkit-reviews
mailing list