| Index: src/arm/macro-assembler-arm.cc
|
| ===================================================================
|
| --- src/arm/macro-assembler-arm.cc (revision 6451)
|
| +++ src/arm/macro-assembler-arm.cc (working copy)
|
| @@ -1939,7 +1939,7 @@
|
| void MacroAssembler::JumpIfNotBothSmi(Register reg1,
|
| Register reg2,
|
| Label* on_not_both_smi) {
|
| - ASSERT_EQ(0, kSmiTag);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| tst(reg1, Operand(kSmiTagMask));
|
| tst(reg2, Operand(kSmiTagMask), eq);
|
| b(ne, on_not_both_smi);
|
| @@ -1949,7 +1949,7 @@
|
| void MacroAssembler::JumpIfEitherSmi(Register reg1,
|
| Register reg2,
|
| Label* on_either_smi) {
|
| - ASSERT_EQ(0, kSmiTag);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| tst(reg1, Operand(kSmiTagMask));
|
| tst(reg2, Operand(kSmiTagMask), ne);
|
| b(eq, on_either_smi);
|
| @@ -1957,19 +1957,30 @@
|
|
|
|
|
| void MacroAssembler::AbortIfSmi(Register object) {
|
| - ASSERT_EQ(0, kSmiTag);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| tst(object, Operand(kSmiTagMask));
|
| Assert(ne, "Operand is a smi");
|
| }
|
|
|
|
|
| void MacroAssembler::AbortIfNotSmi(Register object) {
|
| - ASSERT_EQ(0, kSmiTag);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| tst(object, Operand(kSmiTagMask));
|
| Assert(eq, "Operand is not smi");
|
| }
|
|
|
|
|
| +void MacroAssembler::JumpIfNotHeapNumber(Register object,
|
| + Register heap_number_map,
|
| + Register scratch,
|
| + Label* on_not_heap_number) {
|
| + ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset));
|
| + AssertRegisterIsRoot(heap_number_map, Heap::kHeapNumberMapRootIndex);
|
| + cmp(scratch, heap_number_map);
|
| + b(ne, on_not_heap_number);
|
| +}
|
| +
|
| +
|
| void MacroAssembler::JumpIfNonSmisNotBothSequentialAsciiStrings(
|
| Register first,
|
| Register second,
|
| @@ -1996,7 +2007,7 @@
|
| Register scratch2,
|
| Label* failure) {
|
| // Check that neither is a smi.
|
| - ASSERT_EQ(0, kSmiTag);
|
| + STATIC_ASSERT(kSmiTag == 0);
|
| and_(scratch1, first, Operand(second));
|
| tst(scratch1, Operand(kSmiTagMask));
|
| b(eq, failure);
|
|
|