Don't emit the lazy deopt sequence when we can't deopt.

Saves 3.2% of instructions size for precompiled hello world on ARM.

R=fschneider@google.com

Review URL: https://codereview.chromium.org//1367573002 .
This commit is contained in:
Ryan Macnak 2015-09-23 12:27:52 -07:00
parent 66f9abc7e3
commit 8c44721965
5 changed files with 5 additions and 5 deletions

View file

@ -1109,7 +1109,7 @@ void FlowGraphCompiler::CompileGraph() {
ASSERT(assembler()->constant_pool_allowed()); ASSERT(assembler()->constant_pool_allowed());
GenerateDeferredCode(); GenerateDeferredCode();
if (is_optimizing()) { if (is_optimizing() && Compiler::allow_recompilation()) {
// Leave enough space for patching in case of lazy deoptimization from // Leave enough space for patching in case of lazy deoptimization from
// deferred code. // deferred code.
for (intptr_t i = 0; for (intptr_t i = 0;

View file

@ -1110,7 +1110,7 @@ void FlowGraphCompiler::CompileGraph() {
ASSERT(assembler()->constant_pool_allowed()); ASSERT(assembler()->constant_pool_allowed());
GenerateDeferredCode(); GenerateDeferredCode();
if (is_optimizing()) { if (is_optimizing() && Compiler::allow_recompilation()) {
// Leave enough space for patching in case of lazy deoptimization from // Leave enough space for patching in case of lazy deoptimization from
// deferred code. // deferred code.
for (intptr_t i = 0; for (intptr_t i = 0;

View file

@ -1128,7 +1128,7 @@ void FlowGraphCompiler::CompileGraph() {
__ int3(); __ int3();
GenerateDeferredCode(); GenerateDeferredCode();
if (is_optimizing()) { if (is_optimizing() && Compiler::allow_recompilation()) {
// Leave enough space for patching in case of lazy deoptimization from // Leave enough space for patching in case of lazy deoptimization from
// deferred code. // deferred code.
__ nop(CallPattern::pattern_length_in_bytes()); __ nop(CallPattern::pattern_length_in_bytes());

View file

@ -1126,7 +1126,7 @@ void FlowGraphCompiler::CompileGraph() {
__ break_(0); __ break_(0);
GenerateDeferredCode(); GenerateDeferredCode();
if (is_optimizing()) { if (is_optimizing() && Compiler::allow_recompilation()) {
// Leave enough space for patching in case of lazy deoptimization from // Leave enough space for patching in case of lazy deoptimization from
// deferred code. // deferred code.
for (intptr_t i = 0; for (intptr_t i = 0;

View file

@ -1128,7 +1128,7 @@ void FlowGraphCompiler::CompileGraph() {
// Emit function patching code. This will be swapped with the first 13 bytes // Emit function patching code. This will be swapped with the first 13 bytes
// at entry point. // at entry point.
if (is_optimizing()) { if (is_optimizing() && Compiler::allow_recompilation()) {
// Leave enough space for patching in case of lazy deoptimization from // Leave enough space for patching in case of lazy deoptimization from
// deferred code. // deferred code.
__ nop(ShortCallPattern::pattern_length_in_bytes()); __ nop(ShortCallPattern::pattern_length_in_bytes());