From 8be50bbd705930eb5e50dcb189234d5687b30c37 Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Mon, 15 Jul 2013 13:36:36 +0000 Subject: [PATCH] Fix --deopt-every-n-times flag (was broken since r15640) R=titzer@chromium.org Review URL: https://codereview.chromium.org/19188002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/lithium-codegen-arm.cc | 3 ++- src/ia32/lithium-codegen-ia32.cc | 3 ++- src/mips/lithium-codegen-mips.cc | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc index 8c90831bc9..241ecf80fc 100644 --- a/src/arm/lithium-codegen-arm.cc +++ b/src/arm/lithium-codegen-arm.cc @@ -772,7 +772,8 @@ void LCodeGen::DeoptimizeIf(Condition cc, if (FLAG_deopt_every_n_times == 1 && !info()->IsStub() && info()->opt_count() == id) { - __ Jump(entry, RelocInfo::RUNTIME_ENTRY); + ASSERT(frame_is_built_); + __ Call(entry, RelocInfo::RUNTIME_ENTRY); return; } diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc index 46d0c1f46f..d9ee5bb38c 100644 --- a/src/ia32/lithium-codegen-ia32.cc +++ b/src/ia32/lithium-codegen-ia32.cc @@ -949,7 +949,8 @@ void LCodeGen::DeoptimizeIf(Condition cc, __ pop(ebx); __ pop(eax); __ popfd(); - __ jmp(entry, RelocInfo::RUNTIME_ENTRY); + ASSERT(frame_is_built_); + __ call(entry, RelocInfo::RUNTIME_ENTRY); __ bind(&no_deopt); __ mov(FieldOperand(ebx, SharedFunctionInfo::kStressDeoptCounterOffset), diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc index 56b6699aeb..deae97b139 100644 --- a/src/mips/lithium-codegen-mips.cc +++ b/src/mips/lithium-codegen-mips.cc @@ -744,7 +744,8 @@ void LCodeGen::DeoptimizeIf(Condition cc, if (FLAG_deopt_every_n_times == 1 && !info()->IsStub() && info()->opt_count() == id) { - __ Jump(entry, RelocInfo::RUNTIME_ENTRY); + ASSERT(frame_is_built_); + __ Call(entry, RelocInfo::RUNTIME_ENTRY); return; }