I realise that some code that I have commented on was just moved from
Generate_Runtime_NewObject. If you'd rather not get distracted with it now, just
let me know and I'll make a follow-up patch to clean it.


https://codereview.chromium.org/1227163011/diff/40001/src/arm/builtins-arm.cc
File src/arm/builtins-arm.cc (right):

https://codereview.chromium.org/1227163011/diff/40001/src/arm/builtins-arm.cc#newcode357
src/arm/builtins-arm.cc:357: // Original constructor and function are
different.
This comment is now out of place. Consider something like this: "Fall
back to runtime if the original constructor and function are different."

https://codereview.chromium.org/1227163011/diff/40001/src/arm/builtins-arm.cc#newcode497
src/arm/builtins-arm.cc:497: __ ldr(r3, MemOperand(sp, 0 *
kPointerSize));
`MemOperand(sp)` would do here.

https://codereview.chromium.org/1227163011/diff/40001/src/arm64/builtins-arm64.cc
File src/arm64/builtins-arm64.cc (right):

https://codereview.chromium.org/1227163011/diff/40001/src/arm64/builtins-arm64.cc#newcode354
src/arm64/builtins-arm64.cc:354: // Original constructor and function
are different.
Same comment as for ARM.

https://codereview.chromium.org/1227163011/diff/40001/src/arm64/builtins-arm64.cc#newcode505
src/arm64/builtins-arm64.cc:505: __ bind(&rt_call_reload_new_target);
For ARM64, we use the MacroAssembler's "Bind" for consistency, unless in
a critical section where we're using the Assembler directly.

https://codereview.chromium.org/1227163011/diff/40001/src/arm64/builtins-arm64.cc#newcode519
src/arm64/builtins-arm64.cc:519: __ Push(original_constructor);  //
argument 3: original constructor
For ARM64, it's preferable to merge pushes wherever possible. Each call
to Push has a stack-maintenance overhead. The arguments to Push(...) are
ordered the same as if they were listed separately. In this case:

__ Push(x4, constructor, original_constructor);

https://codereview.chromium.org/1227163011/diff/40001/src/arm64/builtins-arm64.cc#newcode525
src/arm64/builtins-arm64.cc:525: __ jmp(&count_incremented);
I think we'd normally use "__ B(&label)". ARM64 doesn't have a "jmp"
instruction but it exists in the assembler for compatibility with other
bits of V8.

https://codereview.chromium.org/1227163011/diff/40001/src/arm64/builtins-arm64.cc#newcode528
src/arm64/builtins-arm64.cc:528: __ Push(original_constructor);  //
argument 2: original constructor
Merge the pushes again.

https://codereview.chromium.org/1227163011/

--
--
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.

Reply via email to