https://codereview.chromium.org/236633006/diff/10008/src/x64/builtins-x64.cc
File src/x64/builtins-x64.cc (right):
https://codereview.chromium.org/236633006/diff/10008/src/x64/builtins-x64.cc#newcode1343
src/x64/builtins-x64.cc:1343: __
PositiveSmiTimesPowerOfTwoToInteger64(rdx, rax, kPointerSizeLog2);
It seems that rax and rbx are raw integers, instead of SMI. Should this
be:
"
__ movp(rdx, rbx);
__ shlp(rdx, Immediate(kPointerSizeLog2));
"
as other ports did?
Another comment is that rbx might be -1
(SharedFunctionInfo::kDontAdaptArgumentsSentinel), we might need to emit
a check before "__ movp(rdx, rbx);", I would suggest:
__ subp(rcx, rdx);
+ __ testp(rcx, rcx);
+ __ j(negative, stack_overflow);
+ __ movp(rdx, rbx);
+ __ shlp(rdx, Immediate(kPointerSizeLog2));
__ cmpp(rcx, rdx);
__ j(less_equal, stack_overflow);
https://codereview.chromium.org/236633006/
--
--
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.