Chromium Code Reviews| 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()}; |