Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index 1fa694f82f294ba8b17f33231f8f3db0ea166e0b..6b5c8dabf67351cb50364bf9dd1100d2866b4816 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -1924,14 +1924,15 @@ void MacroAssembler::CallApiFunctionAndReturn(Address function_address, |
j(not_equal, &promote_scheduled_exception); |
LeaveApiExitFrame(); |
ret(stack_space * kPointerSize); |
- bind(&promote_scheduled_exception); |
- TailCallRuntime(Runtime::kPromoteScheduledException, 0, 1); |
bind(&empty_handle); |
// It was zero; the result is undefined. |
mov(eax, isolate()->factory()->undefined_value()); |
jmp(&prologue); |
+ bind(&promote_scheduled_exception); |
+ TailCallRuntime(Runtime::kPromoteScheduledException, 0, 1); |
+ |
// HandleScope limit has changed. Delete allocated extensions. |
ExternalReference delete_extensions = |
ExternalReference::delete_handle_scope_extensions(isolate()); |