RESOLVED FIXED 140233
Add the lexicalEnvironment as an operand to op_get_argument_by_val
https://bugs.webkit.org/show_bug.cgi?id=140233
Summary Add the lexicalEnvironment as an operand to op_get_argument_by_val
Mark Lam
Reported 2015-01-07 17:06:50 PST
This is another step towards having the DFG CreateArguments and GetMyArgumentByVal nodes take the lexicalEnvironment as a parameter. Also changed the default value of CodeBlock::lexicalEnvironment() to a constant 0 VirtualRegister instead of an invalid one. This makes the BytecodeGenerator code that loads it as an operand slightly more readable.
Attachments
the patch. (12.98 KB, patch)
2015-01-07 17:43 PST, Mark Lam
no flags
patch 2 (5.84 KB, patch)
2015-01-07 21:14 PST, Mark Lam
no flags
Mark Lam
Comment 1 2015-01-07 17:43:14 PST
Created attachment 244230 [details] the patch.
Mark Lam
Comment 2 2015-01-07 19:57:38 PST
The mac-wk2 EWS test run failure appears to be unrelated to this patch. I've run the layout tests locally with this patch, and the results looks to be as fine. I'm not getting any crashes.
Filip Pizlo
Comment 3 2015-01-07 20:11:57 PST
Comment on attachment 244230 [details] the patch. View in context: https://bugs.webkit.org/attachment.cgi?id=244230&action=review > Source/JavaScriptCore/ChangeLog:13 > + Also changed the value of CodeBlock::lexicalEnvironment() to be > + a constant 0 VirtualRegister instead of an invalid one when there isn't > + a JSLexicalEnvironment present. This makes the BytecodeGenerator code > + that loads it as an operand slightly more readable. Can we not do this? It's weird to have "isLocal()" checks in the DFG.
Filip Pizlo
Comment 4 2015-01-07 20:12:18 PST
(In reply to comment #3) > Comment on attachment 244230 [details] > the patch. > > View in context: > https://bugs.webkit.org/attachment.cgi?id=244230&action=review > > > Source/JavaScriptCore/ChangeLog:13 > > + Also changed the value of CodeBlock::lexicalEnvironment() to be > > + a constant 0 VirtualRegister instead of an invalid one when there isn't > > + a JSLexicalEnvironment present. This makes the BytecodeGenerator code > > + that loads it as an operand slightly more readable. > > Can we not do this? It's weird to have "isLocal()" checks in the DFG. ... its' also just inconsistent with how we do things elsewhere.
Mark Lam
Comment 5 2015-01-07 20:50:45 PST
(In reply to comment #4) > (In reply to comment #3) > > Comment on attachment 244230 [details] > > the patch. > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=244230&action=review > > > > > Source/JavaScriptCore/ChangeLog:13 > > > + Also changed the value of CodeBlock::lexicalEnvironment() to be > > > + a constant 0 VirtualRegister instead of an invalid one when there isn't > > > + a JSLexicalEnvironment present. This makes the BytecodeGenerator code > > > + that loads it as an operand slightly more readable. > > > > Can we not do this? It's weird to have "isLocal()" checks in the DFG. > > ... its' also just inconsistent with how we do things elsewhere. Ok, I’ll remove that part.
Mark Lam
Comment 6 2015-01-07 21:14:03 PST
WebKit Commit Bot
Comment 7 2015-01-07 22:20:16 PST
Comment on attachment 244238 [details] patch 2 Clearing flags on attachment: 244238 Committed r178106: <http://trac.webkit.org/changeset/178106>
WebKit Commit Bot
Comment 8 2015-01-07 22:20:20 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.