[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}
This commit is contained in:
parent
90d31f4eb5
commit
dad8ed5342
@ -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 {
|
|||||||
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);
|
||||||
|
Loading…
Reference in New Issue
Block a user