Thanks Erik, good catch on the const issue! :)
http://codereview.chromium.org/2027002/diff/5001/6004 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/2027002/diff/5001/6004#newcode3705 src/arm/codegen-arm.cc:3705: // JavaScript example: 'with (obj) foo(1, 2, 3)' // foo is in obj On 2010/05/07 09:39:05, Erik Corry wrote:
Is this the right comment. The code looks more related to 'eval' than
'with'.
Perhaps should say "foo may be in obj."
Well, this branch is for anything where the function variable is DYNAMIC, so the example is a fine example for that. I'll add an example with eval as well. http://codereview.chromium.org/2027002/diff/5001/6004#newcode3727 src/arm/codegen-arm.cc:3727: // This rules out argument loads. On 2010/05/07 09:39:05, Erik Corry wrote:
This rules out argument loads since the eval forces arguments into an
arguments
array.
Done. http://codereview.chromium.org/2027002/diff/5001/6004#newcode3757 src/arm/codegen-arm.cc:3757: done.Bind(); On 2010/05/07 09:39:05, Erik Corry wrote:
At this point everything is spilled but the function and receiver are
in r0 and
r1. I think a comment to that effect is in order.
Done. http://codereview.chromium.org/2027002/diff/5001/6003 File src/x64/codegen-x64.cc (right): http://codereview.chromium.org/2027002/diff/5001/6003#newcode2905 src/x64/codegen-x64.cc:2905: done.Branch(not_equal, &function); On 2010/05/07 09:39:05, Erik Corry wrote:
Should this skip the Push and the LoadGlobalReceiver.
Oops, no, it definitely should not. Added regression test and fixed this on x64 and ia32. Thanks! http://codereview.chromium.org/2027002/show -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
