http://codereview.chromium.org/347001/diff/1/3
File src/compiler.cc (right):

http://codereview.chromium.org/347001/diff/1/3#newcode671
Line 671: // global variables and and properties.
"We support plain non-compound assignments to properties, parameters and
non-context (stack-allocated) locals, and global variables."

Otherwise it sounds like they might be only global properties.

http://codereview.chromium.org/347001/diff/1/3#newcode685
Line 685: Visit(expr->target());
Hmmm.  Here it's probably OK to visit the property as if it were an
rvalue, but I think we should avoid it.  Imagine if the selector had to
do something different for lvalue and rvalue properties....

Better:

if (var == NULL) {
   Property* prop = expr->target()->AsProperty();
   if (prop == NULL) BAILOUT(...);
   Visit(prop->obj());
   Visit(prop->key());
} else ...

http://codereview.chromium.org/347001/diff/1/3#newcode688
Line 688: ASSERT(var->slot() != NULL);
It occurs to me that we could hit the var->slot() == NULL case.  (Due to
a left-hand side that is not a property but is a proxy that rewrites to
a property.)  We should fix that by adding a bailout for var->slot() ==
NULL.

http://codereview.chromium.org/347001/diff/1/2
File src/ia32/fast-codegen-ia32.cc (right):

http://codereview.chromium.org/347001/diff/1/2#newcode470
Line 470: __ add(Operand(esp), Immediate(kPointerSize));
Indentation.

http://codereview.chromium.org/347001/diff/1/4
File src/x64/fast-codegen-x64.cc (right):

http://codereview.chromium.org/347001/diff/1/4#newcode482
Line 482: __ addq(rsp, Immediate(kPointerSize));
Indentation.

http://codereview.chromium.org/347001

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to