Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 182b8142c852b6c367ae9dace3885e11c95e8e36..dd5f9614db29eebce675d2cbedd63fdb9361e001 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -561,9 +561,11 @@ struct LoopAssignmentAnalysisPhase { |
static const char* phase_name() { return "loop assignment analysis"; } |
void Run(PipelineData* data, Zone* temp_zone) { |
- AstLoopAssignmentAnalyzer analyzer(data->graph_zone(), data->info()); |
- LoopAssignmentAnalysis* loop_assignment = analyzer.Analyze(); |
- data->set_loop_assignment(loop_assignment); |
+ if (!data->info()->is_optimizing_from_bytecode()) { |
+ AstLoopAssignmentAnalyzer analyzer(data->graph_zone(), data->info()); |
+ LoopAssignmentAnalysis* loop_assignment = analyzer.Analyze(); |
+ data->set_loop_assignment(loop_assignment); |
+ } |
} |
}; |
@@ -572,10 +574,12 @@ struct TypeHintAnalysisPhase { |
static const char* phase_name() { return "type hint analysis"; } |
void Run(PipelineData* data, Zone* temp_zone) { |
- TypeHintAnalyzer analyzer(data->graph_zone()); |
- Handle<Code> code(data->info()->shared_info()->code(), data->isolate()); |
- TypeHintAnalysis* type_hint_analysis = analyzer.Analyze(code); |
- data->set_type_hint_analysis(type_hint_analysis); |
+ if (!data->info()->is_optimizing_from_bytecode()) { |
+ TypeHintAnalyzer analyzer(data->graph_zone()); |
+ Handle<Code> code(data->info()->shared_info()->code(), data->isolate()); |
+ TypeHintAnalysis* type_hint_analysis = analyzer.Analyze(code); |
+ data->set_type_hint_analysis(type_hint_analysis); |
+ } |
} |
}; |
@@ -587,7 +591,7 @@ struct GraphBuilderPhase { |
bool stack_check = !data->info()->IsStub(); |
bool succeeded = false; |
- if (data->info()->shared_info()->HasBytecodeArray()) { |
+ if (data->info()->is_optimizing_from_bytecode()) { |
BytecodeGraphBuilder graph_builder(temp_zone, data->info(), |
data->jsgraph()); |
succeeded = graph_builder.CreateGraph(); |