Comments
https://codereview.chromium.org/680993003/diff/1/src/arm/full-codegen-arm.cc
File src/arm/full-codegen-arm.cc (right):
https://codereview.chromium.org/680993003/diff/1/src/arm/full-codegen-arm.cc#newcode2516
src/arm/full-codegen-arm.cc:2516: __ push(scratch);
Add a comment about why it is ok to skip access check here
https://codereview.chromium.org/680993003/diff/1/src/arm/full-codegen-arm.cc#newcode2525
src/arm/full-codegen-arm.cc:2525: __ ldr(ip, MemOperand(sp,
kPointerSize)); // constructor
Nit: use scratch register instead of 'ip' here
https://codereview.chromium.org/680993003/diff/1/src/arm/full-codegen-arm.cc#newcode2572
src/arm/full-codegen-arm.cc:2572: context()->Plug(r0);
The caller plugs context, no need to do it here.
https://codereview.chromium.org/680993003/diff/1/src/arm64/full-codegen-arm64.cc
File src/arm64/full-codegen-arm64.cc (right):
https://codereview.chromium.org/680993003/diff/1/src/arm64/full-codegen-arm64.cc#newcode2188
src/arm64/full-codegen-arm64.cc:2188: __ Push(scratch);
Comment on why access check is not needed.
https://codereview.chromium.org/680993003/diff/1/src/arm64/full-codegen-arm64.cc#newcode2197
src/arm64/full-codegen-arm64.cc:2197: __ Peek(x1, kPointerSize); //
constructor
Nit: Use scratch register here.
https://codereview.chromium.org/680993003/diff/1/src/arm64/full-codegen-arm64.cc#newcode2244
src/arm64/full-codegen-arm64.cc:2244: context()->Plug(x0);
The caller plugs context, no need to do this here.
https://codereview.chromium.org/680993003/diff/1/src/full-codegen.h
File src/full-codegen.h (right):
https://codereview.chromium.org/680993003/diff/1/src/full-codegen.h#newcode567
src/full-codegen.h:567: // Expects the class (function) in the
accumulator.
Nit: add a comment that accumulator contains constructor after the
function
https://codereview.chromium.org/680993003/diff/1/src/ia32/full-codegen-ia32.cc
File src/ia32/full-codegen-ia32.cc (right):
https://codereview.chromium.org/680993003/diff/1/src/ia32/full-codegen-ia32.cc#newcode2430
src/ia32/full-codegen-ia32.cc:2430: __ mov(scratch, FieldOperand(eax,
JSFunction::kPrototypeOrInitialMapOffset));
Access check comment.
https://codereview.chromium.org/680993003/diff/1/src/ia32/full-codegen-ia32.cc#newcode2481
src/ia32/full-codegen-ia32.cc:2481: context()->Plug(eax);
Caller plugs context; no need to do it here
https://codereview.chromium.org/680993003/diff/1/src/x64/full-codegen-x64.cc
File src/x64/full-codegen-x64.cc (right):
https://codereview.chromium.org/680993003/diff/1/src/x64/full-codegen-x64.cc#newcode2428
src/x64/full-codegen-x64.cc:2428: Register scratch = rcx;
Nit: Why rcx here, but ebx in ia32?
https://codereview.chromium.org/680993003/diff/1/src/x64/full-codegen-x64.cc#newcode2429
src/x64/full-codegen-x64.cc:2429: __ movp(scratch, FieldOperand(rax,
JSFunction::kPrototypeOrInitialMapOffset));
Access check comment.
https://codereview.chromium.org/680993003/diff/1/src/x64/full-codegen-x64.cc#newcode2480
src/x64/full-codegen-x64.cc:2480: context()->Plug(rax);
Caller plugs context
https://codereview.chromium.org/680993003/diff/1/test/mjsunit/harmony/classes.js
File test/mjsunit/harmony/classes.js (right):
https://codereview.chromium.org/680993003/diff/1/test/mjsunit/harmony/classes.js#newcode180
test/mjsunit/harmony/classes.js:180:
Additional tests:
1. Test that 'DefineProperty' is not a store (extend a class that has
getter/setter, define method with same name)
2. Test property descriptors of things that are not __proto__.
3. Tests with super calls (do I understand correctly though that these
do not work yet since home object is not installed on methods?)
https://codereview.chromium.org/680993003/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.