Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: src/compiler/pipeline.cc

Issue 2680313002: Count closures using the feedback vector cell map, specialize if count==1. (Closed)
Patch Set: Only specialize if compiling from bytecode Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/js-create-lowering.cc ('k') | src/debug/liveedit.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/compiler/pipeline.h" 5 #include "src/compiler/pipeline.h"
6 6
7 #include <fstream> // NOLINT(readability/streams) 7 #include <fstream> // NOLINT(readability/streams)
8 #include <memory> 8 #include <memory>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 if (FLAG_turbo_loop_peeling) { 587 if (FLAG_turbo_loop_peeling) {
588 info()->MarkAsLoopPeelingEnabled(); 588 info()->MarkAsLoopPeelingEnabled();
589 } 589 }
590 } 590 }
591 if (info()->is_optimizing_from_bytecode() || 591 if (info()->is_optimizing_from_bytecode() ||
592 !info()->shared_info()->asm_function()) { 592 !info()->shared_info()->asm_function()) {
593 info()->MarkAsDeoptimizationEnabled(); 593 info()->MarkAsDeoptimizationEnabled();
594 if (FLAG_inline_accessors) { 594 if (FLAG_inline_accessors) {
595 info()->MarkAsAccessorInliningEnabled(); 595 info()->MarkAsAccessorInliningEnabled();
596 } 596 }
597 if (info()->closure()->feedback_vector_cell()->map() ==
598 isolate()->heap()->one_closure_cell_map()) {
599 info()->MarkAsFunctionContextSpecializing();
600 }
597 } 601 }
598 if (!info()->is_optimizing_from_bytecode()) { 602 if (!info()->is_optimizing_from_bytecode()) {
599 if (!Compiler::EnsureDeoptimizationSupport(info())) return FAILED; 603 if (!Compiler::EnsureDeoptimizationSupport(info())) return FAILED;
600 } else if (FLAG_turbo_inlining) { 604 } else if (FLAG_turbo_inlining) {
601 info()->MarkAsInliningEnabled(); 605 info()->MarkAsInliningEnabled();
602 } 606 }
603 607
604 linkage_ = new (info()->zone()) 608 linkage_ = new (info()->zone())
605 Linkage(Linkage::ComputeIncoming(info()->zone(), info())); 609 Linkage(Linkage::ComputeIncoming(info()->zone(), info()));
606 610
(...skipping 1408 matching lines...) Expand 10 before | Expand all | Expand 10 after
2015 data->DeleteRegisterAllocationZone(); 2019 data->DeleteRegisterAllocationZone();
2016 } 2020 }
2017 2021
2018 CompilationInfo* PipelineImpl::info() const { return data_->info(); } 2022 CompilationInfo* PipelineImpl::info() const { return data_->info(); }
2019 2023
2020 Isolate* PipelineImpl::isolate() const { return info()->isolate(); } 2024 Isolate* PipelineImpl::isolate() const { return info()->isolate(); }
2021 2025
2022 } // namespace compiler 2026 } // namespace compiler
2023 } // namespace internal 2027 } // namespace internal
2024 } // namespace v8 2028 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/js-create-lowering.cc ('k') | src/debug/liveedit.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698