Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 50846d6e81f6c03c69fa4e2b40c33f8e0b93a96e..e0bd0ae06764b1286673ca04caf3396ef3022c61 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -1484,12 +1484,6 @@ void Pipeline::AllocateRegisters(const RegisterConfiguration* config, |
Run<MergeSplintersPhase>(); |
} |
- // We plan to enable frame elision only for stubs and bytecode handlers. |
- if (FLAG_turbo_frame_elision && info()->IsStub()) { |
- Run<LocateSpillSlotsPhase>(); |
- Run<FrameElisionPhase>(); |
- } |
- |
Run<AssignSpillSlotsPhase>(); |
Run<CommitAssignmentPhase>(); |
@@ -1500,6 +1494,12 @@ void Pipeline::AllocateRegisters(const RegisterConfiguration* config, |
Run<OptimizeMovesPhase>(); |
} |
+ if (descriptor && descriptor->RequiresFrameAsIncoming()) { |
+ data_->sequence()->instruction_blocks()[0]->mark_needs_frame(); |
danno
2016/03/22 09:27:20
I think this extra marking makes more sense in Ini
Mircea Trofin
2016/03/22 17:28:23
Done.
|
+ } |
+ Run<LocateSpillSlotsPhase>(); |
+ Run<FrameElisionPhase>(); |
+ |
if (FLAG_trace_turbo_graph) { |
OFStream os(stdout); |
PrintableInstructionSequence printable = {config, data->sequence()}; |