I've added missing implementation of varproxy->property assignment to X64 and ARM.
http://codereview.chromium.org/405033/diff/1/5 File src/compiler.cc (right): http://codereview.chromium.org/405033/diff/1/5#newcode803 src/compiler.cc:803: BAILOUT("non-global/non-slot/non-property variable"); I don't think so either. Changed to ASSERT_NOT_NULL(property); http://codereview.chromium.org/405033/diff/1/5#newcode807 src/compiler.cc:807: BAILOUT("variable rewritten to property with non slot object"); I don't think this (or the next) bailout can happen either. I'll change them to asserts too. http://codereview.chromium.org/405033/diff/1/7 File src/ia32/fast-codegen-ia32.cc (right): http://codereview.chromium.org/405033/diff/1/7#newcode88 src/ia32/fast-codegen-ia32.cc:88: // Assert we do not have to copy any parameters into the context. Done http://codereview.chromium.org/405033/diff/1/7#newcode246 src/ia32/fast-codegen-ia32.cc:246: default: Apparently so. If I remove it, the compiler complains that control reaches the end of a non-void function. I'll add a comment to highlight the fallthrough from LOOKUP to default. http://codereview.chromium.org/405033/diff/1/7#newcode333 src/ia32/fast-codegen-ia32.cc:333: case Expression::kValue:\ Well spotted. http://codereview.chromium.org/405033/diff/1/7#newcode958 src/ia32/fast-codegen-ia32.cc:958: Move(Expression::kValue, object_slot); Done. http://codereview.chromium.org/405033/diff/1/7#newcode965 src/ia32/fast-codegen-ia32.cc:965: __ mov(eax, Operand(esp, 2 * kPointerSize)); I can see the idea, but in this particular case, if we had different kValue types, I would use the stack version to put the value on the stack. The context types here are constants, and are picked so that the result will end up on the stack. I will put in a comment to the fact. http://codereview.chromium.org/405033 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---