Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index a9567c07c9ce1757e768d3efa767a8ada43c905b..876eec109c970cc872c5197f00dd07a023845136 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -162,6 +162,21 @@ void MacroAssembler::StackLimitCheck(Label* on_stack_overflow) { |
} |
+void MacroAssembler::Drop(int stack_elements, Condition cond) { |
+ if (stack_elements > 0) { |
+ add(sp, sp, Operand(stack_elements * kPointerSize), LeaveCC, cond); |
+ } |
+} |
+ |
+ |
+void MacroAssembler::Call(Label* target) { |
+ bl(target); |
+} |
+ |
+ |
+void MacroAssembler::Move(Register dst, Handle<Object> value) { |
+ mov(dst, Operand(value)); |
+} |
void MacroAssembler::SmiJumpTable(Register index, Vector<Label*> targets) { |
@@ -628,6 +643,15 @@ void MacroAssembler::PushTryHandler(CodeLocation try_location, |
} |
+void MacroAssembler::PopTryHandler() { |
+ ASSERT_EQ(0, StackHandlerConstants::kNextOffset); |
+ pop(r1); |
+ mov(ip, Operand(ExternalReference(Top::k_handler_address))); |
+ add(sp, sp, Operand(StackHandlerConstants::kSize - kPointerSize)); |
+ str(r1, MemOperand(ip)); |
+} |
+ |
+ |
Register MacroAssembler::CheckMaps(JSObject* object, Register object_reg, |
JSObject* holder, Register holder_reg, |
Register scratch, |