Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index 77c514ff546624baa7db121f21baf63702608e5e..2415822d35b3e110262045d13e762189ab8814dd 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -3070,6 +3070,20 @@ void MacroAssembler::AssertName(Register object) { |
} |
+void MacroAssembler::AssertUndefinedOrAllocationSite(Register object, |
+ Register scratch) { |
+ if (emit_debug_code()) { |
+ Label done_checking; |
+ AssertNotSmi(object); |
+ CompareRoot(object, Heap::kUndefinedValueRootIndex); |
+ b(eq, &done_checking); |
+ ldr(scratch, FieldMemOperand(object, HeapObject::kMapOffset)); |
+ CompareRoot(scratch, Heap::kAllocationSiteMapRootIndex); |
+ Assert(eq, kExpectedUndefinedOrCell); |
+ bind(&done_checking); |
+ } |
+} |
+ |
void MacroAssembler::AssertIsRoot(Register reg, Heap::RootListIndex index) { |
if (emit_debug_code()) { |