LGTM
http://codereview.chromium.org/7391001/diff/3001/src/factory.h File src/factory.h (right): http://codereview.chromium.org/7391001/diff/3001/src/factory.h#newcode256 src/factory.h:256: void BecomeJSObject(Handle<JSReceiver> object); A comment explaining what this operation does would be nice. Also, I guess the object has to be a proxy or function proxy? If that is the case I think we should restrict the type from JSReceiver to JSProxy for the argument. http://codereview.chromium.org/7391001/diff/3001/src/heap.cc File src/heap.cc (right): http://codereview.chromium.org/7391001/diff/3001/src/heap.cc#newcode3282 src/heap.cc:3282: MaybeObject* Heap::AllocateGlobalObject(JSFunction* constructor) { Accidental edit. :-) http://codereview.chromium.org/7391001/diff/3001/src/heap.h File src/heap.h (right): http://codereview.chromium.org/7391001/diff/3001/src/heap.h#newcode447 src/heap.h:447: MUST_USE_RESULT MaybeObject* ReinitializeJSReceiverAsJSObject( JSReceiver -> JSProxy We don't need this operation for anything else and the current implementation restrictions on the size of the input means that it will not work for much else. Let's reflect that in the type of the input? http://codereview.chromium.org/7391001/diff/3001/test/mjsunit/harmony/proxies.js File test/mjsunit/harmony/proxies.js (right): http://codereview.chromium.org/7391001/diff/3001/test/mjsunit/harmony/proxies.js#newcode589 test/mjsunit/harmony/proxies.js:589: TestFix(["a", "b", "c", "d", "zz"], { I would add a newline between each TestFix invocation here to make it easier to read. http://codereview.chromium.org/7391001/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
