| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 8892142cb1b7411ffbe085ea7ba1a43b2703084d..c3319d9057205a3c25fe60a86d644d052b4fc022 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -896,6 +896,11 @@ void LCodeGen::DeoptimizeIf(Condition cc, LEnvironment* environment) {
|
| } else {
|
| __ jmp(entry, RelocInfo::RUNTIME_ENTRY);
|
| }
|
| + } else if (!needs_lazy_deopt && frame_is_built_) {
|
| + // Optimization for ia32 only that skips the indirection through a
|
| + // jump table entry for conditional deopts if possible.
|
| + ASSERT(cc != no_condition);
|
| + __ j(cc, entry, RelocInfo::RUNTIME_ENTRY);
|
| } else {
|
| // We often have several deopts to the same entry, reuse the last
|
| // jump entry if this is the case.
|
|
|