Thanks for the comments, Yang. I've uploaded a patch. Note an unrelated
change
in mips, the weakening of an assert that didn't make sense there
anyway...it's
simply that no one ever ran that code :p.
Submitting,
--Michael
https://codereview.chromium.org/1028093002/diff/40001/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):
https://codereview.chromium.org/1028093002/diff/40001/src/arm/code-stubs-arm.cc#newcode2919
src/arm/code-stubs-arm.cc:2919: __
push(VectorLoadICDescriptor::VectorRegister());
On 2015/03/23 14:23:59, Yang wrote:
If you use Push to push both registers at once, you may end up with a
shorter
instruction if you use the correct order.
Good idea, and I went further and do one push instruction for all four
registers (and one pop for the 3 after the call).
https://codereview.chromium.org/1028093002/diff/40001/src/arm64/code-stubs-arm64.cc
File src/arm64/code-stubs-arm64.cc (right):
https://codereview.chromium.org/1028093002/diff/40001/src/arm64/code-stubs-arm64.cc#newcode3331
src/arm64/code-stubs-arm64.cc:3331: __
Pop(VectorLoadICDescriptor::SlotRegister());
On 2015/03/23 14:23:59, Yang wrote:
Can we use the equivalent Pop with two registers?
Done. There is some hilarity here, because arm and arm64 have a
different convention for the Pop() instruction (left-to-right, versus
right-to-left).
https://codereview.chromium.org/1028093002/diff/40001/src/mips/code-stubs-mips.cc
File src/mips/code-stubs-mips.cc (right):
https://codereview.chromium.org/1028093002/diff/40001/src/mips/code-stubs-mips.cc#newcode3087
src/mips/code-stubs-mips.cc:3087: __
pop(VectorLoadICDescriptor::VectorRegister());
On 2015/03/23 14:23:59, Yang wrote:
Same here, corresponding Pop?
Done.
https://codereview.chromium.org/1028093002/diff/40001/test/mjsunit/string-index.js
File test/mjsunit/string-index.js (right):
https://codereview.chromium.org/1028093002/diff/40001/test/mjsunit/string-index.js#newcode255
test/mjsunit/string-index.js:255: var keys = [0, Math.abs(2)];
On 2015/03/23 14:23:59, Yang wrote:
You probably should check that this is not a smi via %IsSmi
Done. And the Math.floor(x) * 0.5 trick seems to work better than abs().
https://codereview.chromium.org/1028093002/
--
--
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.