Status: New
Owner: ----

New issue 707 by plind44: bug in Arm MacroAssembler::JumpIfNotBothSequentialAsciiStrings()
http://code.google.com/p/v8/issues/detail?id=707

When porting this function to mips, I noticed a small bug. To check that neither operand is Smi requires logical OR. Here is the
patch:

diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
index c4b153f..8425fcd 100644
--- a/src/arm/macro-assembler-arm.cc
+++ b/src/arm/macro-assembler-arm.cc
@@ -1538,7 +1538,7 @@ void MacroAssembler::JumpIfNotBothSequentialAsciiStrings(Register first,
                                                          Label* failure) {
   // Check that neither is a smi.
   ASSERT_EQ(0, kSmiTag);
-  and_(scratch1, first, Operand(second));
+  orr(scratch1, first, Operand(second));
   tst(scratch1, Operand(kSmiTagMask));
   b(eq, failure);
   JumpIfNonSmisNotBothSequentialAsciiStrings(first,


This does not get caught in mjsunit tests, I did not run the other test suites for arm.

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

Reply via email to