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

Side by Side Diff: src/hydrogen.cc

Issue 900553003: Reset inlining limits due to overly long compilation times in Speedometer, Dart2JS (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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/flag-definitions.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/hydrogen.h" 5 #include "src/hydrogen.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 7867 matching lines...) Expand 10 before | Expand all | Expand 10 after
7878 for (FunctionState* state = function_state(); 7878 for (FunctionState* state = function_state();
7879 state != NULL; 7879 state != NULL;
7880 state = state->outer()) { 7880 state = state->outer()) {
7881 if (*state->compilation_info()->closure() == *target) { 7881 if (*state->compilation_info()->closure() == *target) {
7882 TraceInline(target, caller, "target is recursive"); 7882 TraceInline(target, caller, "target is recursive");
7883 return false; 7883 return false;
7884 } 7884 }
7885 } 7885 }
7886 7886
7887 // We don't want to add more than a certain number of nodes from inlining. 7887 // We don't want to add more than a certain number of nodes from inlining.
7888 if (inlined_count_ > Min(FLAG_max_inlined_nodes_cumulative, 7888 // Always inline small methods (<= 10 nodes).
7889 if (nodes_added > 10 &&
7890 inlined_count_ > Min(FLAG_max_inlined_nodes_cumulative,
7889 kUnlimitedMaxInlinedNodesCumulative)) { 7891 kUnlimitedMaxInlinedNodesCumulative)) {
7890 TraceInline(target, caller, "cumulative AST node limit reached"); 7892 TraceInline(target, caller, "cumulative AST node limit reached");
7891 return false; 7893 return false;
7892 } 7894 }
7893 7895
7894 // Parse and allocate variables. 7896 // Parse and allocate variables.
7895 CompilationInfo target_info(target, zone()); 7897 CompilationInfo target_info(target, zone());
7896 // Use the same AstValueFactory for creating strings in the sub-compilation 7898 // Use the same AstValueFactory for creating strings in the sub-compilation
7897 // step, but don't transfer ownership to target_info. 7899 // step, but don't transfer ownership to target_info.
7898 target_info.SetAstValueFactory(top_info()->ast_value_factory(), false); 7900 target_info.SetAstValueFactory(top_info()->ast_value_factory(), false);
(...skipping 5577 matching lines...) Expand 10 before | Expand all | Expand 10 after
13476 if (ShouldProduceTraceOutput()) { 13478 if (ShouldProduceTraceOutput()) {
13477 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13479 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13478 } 13480 }
13479 13481
13480 #ifdef DEBUG 13482 #ifdef DEBUG
13481 graph_->Verify(false); // No full verify. 13483 graph_->Verify(false); // No full verify.
13482 #endif 13484 #endif
13483 } 13485 }
13484 13486
13485 } } // namespace v8::internal 13487 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/flag-definitions.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698