Index: src/arm/macro-assembler-arm.cc |
=================================================================== |
--- src/arm/macro-assembler-arm.cc (revision 6773) |
+++ src/arm/macro-assembler-arm.cc (working copy) |
@@ -1747,6 +1747,18 @@ |
} |
+void MacroAssembler::AbortIfNotString(Register object) { |
+ STATIC_ASSERT(kSmiTag == 0); |
+ tst(object, Operand(kSmiTagMask)); |
+ Assert(ne, "Operand is not a string"); |
+ push(object); |
+ ldr(object, FieldMemOperand(object, HeapObject::kMapOffset)); |
+ CompareInstanceType(object, object, FIRST_NONSTRING_TYPE); |
+ pop(object); |
+ Assert(lo, "Operand is not a string"); |
+} |
+ |
+ |
void MacroAssembler::JumpIfNonSmisNotBothSequentialAsciiStrings( |
Register first, |
Register second, |