Reviewers: Yang,

Message:
PTAL.

Most of the changes are simple renamings to increase sanity levels; but there
are also no less than four real bug fixes :-)


https://codereview.chromium.org/11413014/diff/1/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):

https://codereview.chromium.org/11413014/diff/1/src/arm/code-stubs-arm.cc#newcode870
src/arm/code-stubs-arm.cc:870: __ bic(scratch1, dst_exponent,
Operand(HeapNumber::kSignMask));
Bug fix 1: This code cleared the mantissa's sign bit!

https://codereview.chromium.org/11413014/diff/1/src/arm/code-stubs-arm.cc#newcode878
src/arm/code-stubs-arm.cc:878: DoubleIs32BitInteger(masm, dst_exponent,
dst_mantissa, scratch1, scratch2,
Bug fix 2: This call passed in the exponent/mantissa registers in the
wrong order.

https://codereview.chromium.org/11413014/diff/1/src/arm/code-stubs-arm.cc#newcode883
src/arm/code-stubs-arm.cc:883: __ Pop(dst_exponent, dst_mantissa);
Bug fix 3: Restore the "object" register before reloading the double
value from it.

https://codereview.chromium.org/11413014/diff/1/src/arm/code-stubs-arm.cc#newcode891
src/arm/code-stubs-arm.cc:891: __ Pop(dst_exponent, dst_mantissa);
Bug fix 4: Restore original inputs before calling the runtime.

Description:
Fix register confusion in non-VFP3 BinaryOpStubs on ARM


Please review this at https://codereview.chromium.org/11413014/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/code-stubs-arm.cc
  M src/arm/stub-cache-arm.cc


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

Reply via email to