Reviewers: jarin,
Description:
[turbofan] Right hand side of shifts needs ToUint32.
Currently we lower shifts directly to machine operators, and add an
appropriate Word32And to implement the & 0x1F operation on the right
hand side required by the specification. However for Word32And we assume
Int32 in simplified lowering, which is basically changes the right hand
side bit interpretation for the shifts from Uint32 to Int32, which is
obviously wrong. So now we represent that explicitly by proper
simplified operators for the shifts, which are lowered to machine in
simplified lowering.
[email protected]
Please review this at https://codereview.chromium.org/1213803008/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+248, -73 lines):
M src/compiler/js-typed-lowering.h
M src/compiler/js-typed-lowering.cc
M src/compiler/opcodes.h
M src/compiler/simplified-lowering.h
M src/compiler/simplified-lowering.cc
M src/compiler/simplified-operator.h
M src/compiler/simplified-operator.cc
M src/compiler/typer.cc
M src/compiler/verifier.cc
M test/cctest/compiler/test-js-typed-lowering.cc
A test/mjsunit/compiler/regress-shift-left.js
A test/mjsunit/compiler/regress-shift-right.js
A test/mjsunit/compiler/regress-shift-right-logical.js
M test/unittests/compiler/js-typed-lowering-unittest.cc
M test/unittests/compiler/node-test-utils.h
M test/unittests/compiler/node-test-utils.cc
--
--
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.