Chromium Code Reviews| Index: src/compiler/pipeline.cc |
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
| index 3fdf826543557d2ed745635e0fe91740e6719f12..c5de2882fcf29d5d302f432a6bb7bfc5f4e4a8ec 100644 |
| --- a/src/compiler/pipeline.cc |
| +++ b/src/compiler/pipeline.cc |
| @@ -110,6 +110,8 @@ class PipelineData { |
| } |
| Zone* instruction_zone() const { return instruction_zone_; } |
| + // RawMachineAssembler generally produces graphs which cannot be verified. |
| + bool MayHaveUnverifiableGraph() { return outer_zone_ == nullptr; } |
|
Benedikt Meurer
2014/11/14 08:56:02
Nit: const
|
| void DeleteGraphZone() { |
| // Destroy objects with destructors first. |
| @@ -559,12 +561,7 @@ Handle<Code> Pipeline::GenerateCode(Linkage* linkage, PipelineData* data) { |
| selector.SelectInstructions(); |
| } |
| - if (FLAG_trace_turbo) { |
| - OFStream os(stdout); |
| - PrintableInstructionSequence printable = { |
| - RegisterConfiguration::ArchDefault(), &sequence}; |
| - os << "----- Instruction sequence before register allocation -----\n" |
| - << printable; |
| + if (FLAG_trace_turbo && !data->MayHaveUnverifiableGraph()) { |
| TurboCfgFile tcf(isolate()); |
| tcf << AsC1V("CodeGen", data->schedule(), data->source_positions(), |
| &sequence); |
| @@ -605,7 +602,7 @@ Handle<Code> Pipeline::GenerateCode(Linkage* linkage, PipelineData* data) { |
| info()->AbortOptimization(kNotEnoughVirtualRegistersRegalloc); |
| return Handle<Code>::null(); |
| } |
| - if (FLAG_trace_turbo) { |
| + if (FLAG_trace_turbo && !data->MayHaveUnverifiableGraph()) { |
| TurboCfgFile tcf(isolate()); |
| tcf << AsC1VAllocator("CodeGen", &allocator); |
| } |