Commit dad8ed53 authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Only run TypeHintAnalysis when --turbo-type-feedback is on.

There's no point in trying to extract the type hints from the
fullcodegen CompareICs, BinaryOpICs and ToBooleanICs if the
feedback is not consumed (which is guarded by the flag).

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2048543002
Cr-Commit-Position: refs/heads/master@{#36768}
parent 90d31f4e
...@@ -599,10 +599,10 @@ PipelineCompilationJob::Status PipelineCompilationJob::CreateGraphImpl() { ...@@ -599,10 +599,10 @@ PipelineCompilationJob::Status PipelineCompilationJob::CreateGraphImpl() {
if (!info()->shared_info()->asm_function() || FLAG_turbo_asm_deoptimization) { if (!info()->shared_info()->asm_function() || FLAG_turbo_asm_deoptimization) {
info()->MarkAsDeoptimizationEnabled(); info()->MarkAsDeoptimizationEnabled();
} }
if (info()->is_deoptimization_enabled() && FLAG_turbo_type_feedback) {
info()->MarkAsTypeFeedbackEnabled();
}
if (!info()->is_optimizing_from_bytecode()) { if (!info()->is_optimizing_from_bytecode()) {
if (info()->is_deoptimization_enabled() && FLAG_turbo_type_feedback) {
info()->MarkAsTypeFeedbackEnabled();
}
if (!Compiler::EnsureDeoptimizationSupport(info())) return FAILED; if (!Compiler::EnsureDeoptimizationSupport(info())) return FAILED;
} }
...@@ -724,7 +724,7 @@ struct TypeHintAnalysisPhase { ...@@ -724,7 +724,7 @@ struct TypeHintAnalysisPhase {
static const char* phase_name() { return "type hint analysis"; } static const char* phase_name() { return "type hint analysis"; }
void Run(PipelineData* data, Zone* temp_zone) { void Run(PipelineData* data, Zone* temp_zone) {
if (!data->info()->is_optimizing_from_bytecode()) { if (data->info()->is_type_feedback_enabled()) {
TypeHintAnalyzer analyzer(data->graph_zone()); TypeHintAnalyzer analyzer(data->graph_zone());
Handle<Code> code(data->info()->shared_info()->code(), data->isolate()); Handle<Code> code(data->info()->shared_info()->code(), data->isolate());
TypeHintAnalysis* type_hint_analysis = analyzer.Analyze(code); TypeHintAnalysis* type_hint_analysis = analyzer.Analyze(code);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment