http://codereview.chromium.org/7633014/diff/5001/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):

http://codereview.chromium.org/7633014/diff/5001/src/arm/code-stubs-arm.cc#newcode6323
src/arm/code-stubs-arm.cc:6323: __ add(ip, pc, Operand(4));
Replace 4 with kInstrSize, and assert on the size of the code generated
for str() and Jump().

http://codereview.chromium.org/7633014/diff/5001/src/arm/code-stubs-arm.cc#newcode6335
src/arm/code-stubs-arm.cc:6335: __ add(ip, pc, Operand(4));
As above.

http://codereview.chromium.org/7633014/diff/5001/src/arm/deoptimizer-arm.cc
File src/arm/deoptimizer-arm.cc (right):

http://codereview.chromium.org/7633014/diff/5001/src/arm/deoptimizer-arm.cc#newcode597
src/arm/deoptimizer-arm.cc:597: // handle this a bit differently.
The ARM ARM also deprecates using sp in an stm. Additionally, it says
"Instructions with the base register in the list and ! specified [...]
the use of such instructions is deprecated. If the base register is not
the lowest-numbered register in the list, such an instruction stores an
UNKNOWN value for the base register."
Thus, if restored_regs is populated, the updated sp is UNKNOWN. In
practice, this seems to work, but it may break in new ARM
implementations.
Perhaps add some debug code to check the sp stored on the stack is as
expected?

http://codereview.chromium.org/7633014/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to