1. I don't know how well two different constructors will work because you have to conditionally select them. Probably simplest to pass a flag to the single constructor. You'll ideally just have something like this in VisitAssignment:
Reference ref(this, node->is_compound_assignment()); ... 2. For now (before ICs are rewritten) we should not regress performance. So, GetValue should (a) work just like before for a 'compound assignment' reference or (b) call the IC and then drop the receiver/key from the stack otherwise. Consider invalidating the reference in case (b). SetValue should only work for references that haven't been invalidated, and should call the IC then drop the receiver/key from the stack (invalidating the reference). The destructor can just check that the reference has been invalidated. http://codereview.chromium.org/487017 -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
