[webkit-reviews] review granted: [Bug 126600] DFG fixup phase should be responsible for inserting ValueToInt32's as needed and it should use Phantom to keep the original values alive in case of OSR exit : [Attachment 220550] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 7 14:49:24 PST 2014


Michael Saboff <msaboff at apple.com> has granted Filip Pizlo <fpizlo at apple.com>'s
request for review:
Bug 126600: DFG fixup phase should be responsible for inserting ValueToInt32's
as needed and it should use Phantom to keep the original values alive in case
of OSR exit
https://bugs.webkit.org/show_bug.cgi?id=126600

Attachment 220550: the patch
https://bugs.webkit.org/attachment.cgi?id=220550&action=review

------- Additional Comments from Michael Saboff <msaboff at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=220550&action=review


r+ with comments.

> Source/JavaScriptCore/ChangeLog:10
> +	   was the only exception to that rule, and that was one of the reasons
why we had this bug.

Provide a description of what you did.

> Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1558
> +	   Node* charCode = addToGraph(StringCharCodeAt,
OpInfo(ArrayMode(Array::String).asWord()), get(VirtualRegister(thisOperand)),
get(indexOperand));

Why the VirtualRegister(thisOperand)?  Use thisOperand directly.

> Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1570
> +	   Node* charCode = addToGraph(StringCharAt,
OpInfo(ArrayMode(Array::String).asWord()), get(VirtualRegister(thisOperand)),
get(indexOperand));

Why the VirtualRegister(thisOperand)?  Use thisOperand directly.

> Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:1618
> +	       fixIntEdge(m_currentNode->child1()) |
fixIntEdge(m_currentNode->child2());

You really want a binary OR (|) and not a logical OR (||)?


More information about the webkit-reviews mailing list