Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index 3b088847d61765d28ed4d72a2199105cf356bbf8..ac2895efafec5fe23bd85506001e2c3b896ebc96 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -504,6 +504,13 @@ void MacroAssembler::PushTryHandler(CodeLocation try_location, |
} |
+void MacroAssembler::PopTryHandler() { |
+ ASSERT_EQ(0, StackHandlerConstants::kNextOffset); |
+ pop(Operand::StaticVariable(ExternalReference(Top::k_handler_address))); |
+ add(Operand(esp), Immediate(StackHandlerConstants::kSize - kPointerSize)); |
+} |
+ |
+ |
Register MacroAssembler::CheckMaps(JSObject* object, Register object_reg, |
JSObject* holder, Register holder_reg, |
Register scratch, |
@@ -1350,6 +1357,18 @@ void MacroAssembler::Ret() { |
} |
+void MacroAssembler::Drop(int stack_elements) { |
+ if (stack_elements > 0) { |
+ add(Operand(esp), Immediate(stack_elements * kPointerSize)); |
+ } |
+} |
+ |
+ |
+void MacroAssembler::Move(Register dst, Handle<Object> value) { |
+ mov(dst, value); |
+} |
+ |
+ |
void MacroAssembler::SetCounter(StatsCounter* counter, int value) { |
if (FLAG_native_code_counters && counter->Enabled()) { |
mov(Operand::StaticVariable(ExternalReference(counter)), Immediate(value)); |