Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index 78ba28b6a6e5d14e1d618c265e6b47010bbdde70..25598cef55afa3044c16a8f9a133bd20c668b363 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -2297,7 +2297,7 @@ void MacroAssembler::PrepareCallApiFunction(int argc) { |
void MacroAssembler::CallApiFunctionAndReturn( |
- Address function_address, |
+ Register function_address, |
Address thunk_address, |
Operand thunk_last_arg, |
int stack_space, |
@@ -2310,6 +2310,7 @@ void MacroAssembler::CallApiFunctionAndReturn( |
ExternalReference level_address = |
ExternalReference::handle_scope_level_address(isolate()); |
+ ASSERT(edx.is(function_address)); |
// Allocate HandleScope in callee-save registers. |
mov(ebx, Operand::StaticVariable(next_address)); |
mov(edi, Operand::StaticVariable(limit_address)); |
@@ -2336,14 +2337,14 @@ void MacroAssembler::CallApiFunctionAndReturn( |
j(zero, &profiler_disabled); |
// Additional parameter is the address of the actual getter function. |
- mov(thunk_last_arg, Immediate(function_address)); |
+ mov(thunk_last_arg, function_address); |
// Call the api function. |
call(thunk_address, RelocInfo::RUNTIME_ENTRY); |
jmp(&end_profiler_check); |
bind(&profiler_disabled); |
// Call the api function. |
- call(function_address, RelocInfo::RUNTIME_ENTRY); |
+ call(function_address); |
bind(&end_profiler_check); |
if (FLAG_log_timer_events) { |