| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index 41c8667f1c726224776f18f5d2678f453ce76189..14fb8ca85220f1adba75dd26fb86711466bb72ad 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -1920,9 +1920,25 @@ void MacroAssembler::CallApiFunctionAndReturn(Address function_address,
|
| mov(edi, Operand::StaticVariable(limit_address));
|
| add(Operand::StaticVariable(level_address), Immediate(1));
|
|
|
| + if (FLAG_log_timer_events) {
|
| + FrameScope frame(this, StackFrame::MANUAL);
|
| + PushSafepointRegisters();
|
| + PrepareCallCFunction(0, eax);
|
| + CallCFunction(ExternalReference::log_enter_external_function(isolate()), 0);
|
| + PopSafepointRegisters();
|
| + }
|
| +
|
| // Call the api function.
|
| call(function_address, RelocInfo::RUNTIME_ENTRY);
|
|
|
| + if (FLAG_log_timer_events) {
|
| + FrameScope frame(this, StackFrame::MANUAL);
|
| + PushSafepointRegisters();
|
| + PrepareCallCFunction(0, eax);
|
| + CallCFunction(ExternalReference::log_leave_external_function(isolate()), 0);
|
| + PopSafepointRegisters();
|
| + }
|
| +
|
| if (!kReturnHandlesDirectly) {
|
| // PrepareCallApiFunction saved pointer to the output slot into
|
| // callee-save register esi.
|
|
|