Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index bad052c55e1e9e283d969684614cf65d976291d1..733dbdb033d42069c43c15c15ba607eb44bc0978 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -1984,8 +1984,10 @@ void MacroAssembler::CallApiFunctionAndReturn(Address function_address, |
if (FLAG_log_timer_events) { |
FrameScope frame(this, StackFrame::MANUAL); |
PushSafepointRegisters(); |
- PrepareCallCFunction(0, eax); |
- CallCFunction(ExternalReference::log_enter_external_function(isolate()), 0); |
+ PrepareCallCFunction(1, eax); |
+ mov(Operand(esp, 0), |
+ Immediate(ExternalReference::isolate_address(isolate()))); |
+ CallCFunction(ExternalReference::log_enter_external_function(isolate()), 1); |
PopSafepointRegisters(); |
} |
@@ -1995,8 +1997,10 @@ void MacroAssembler::CallApiFunctionAndReturn(Address function_address, |
if (FLAG_log_timer_events) { |
FrameScope frame(this, StackFrame::MANUAL); |
PushSafepointRegisters(); |
- PrepareCallCFunction(0, eax); |
- CallCFunction(ExternalReference::log_leave_external_function(isolate()), 0); |
+ PrepareCallCFunction(1, eax); |
+ mov(Operand(esp, 0), |
+ Immediate(ExternalReference::isolate_address(isolate()))); |
+ CallCFunction(ExternalReference::log_leave_external_function(isolate()), 1); |
PopSafepointRegisters(); |
} |