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

Side by Side Diff: src/crankshaft/hydrogen.cc

Issue 2632123006: Reland: [Parse] ParseInfo owns the parsing Zone. (Closed)
Patch Set: Created 3 years, 11 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
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/crankshaft/hydrogen.h" 5 #include "src/crankshaft/hydrogen.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/allocation-site-scopes.h" 10 #include "src/allocation-site-scopes.h"
(...skipping 7956 matching lines...) Expand 10 before | Expand all | Expand 10 after
7967 if (inlined_count_ > Min(FLAG_max_inlined_nodes_cumulative, 7967 if (inlined_count_ > Min(FLAG_max_inlined_nodes_cumulative,
7968 kUnlimitedMaxInlinedNodesCumulative)) { 7968 kUnlimitedMaxInlinedNodesCumulative)) {
7969 TraceInline(target, caller, "cumulative AST node limit reached"); 7969 TraceInline(target, caller, "cumulative AST node limit reached");
7970 return false; 7970 return false;
7971 } 7971 }
7972 7972
7973 // Parse and allocate variables. 7973 // Parse and allocate variables.
7974 // Use the same AstValueFactory for creating strings in the sub-compilation 7974 // Use the same AstValueFactory for creating strings in the sub-compilation
7975 // step, but don't transfer ownership to target_info. 7975 // step, but don't transfer ownership to target_info.
7976 Handle<SharedFunctionInfo> target_shared(target->shared()); 7976 Handle<SharedFunctionInfo> target_shared(target->shared());
7977 ParseInfo parse_info(zone(), target_shared); 7977 ParseInfo parse_info(target_shared, top_info()->parse_info()->zone_shared());
7978 parse_info.set_ast_value_factory( 7978 parse_info.set_ast_value_factory(
7979 top_info()->parse_info()->ast_value_factory()); 7979 top_info()->parse_info()->ast_value_factory());
7980 parse_info.set_ast_value_factory_owned(false); 7980 parse_info.set_ast_value_factory_owned(false);
7981 7981
7982 CompilationInfo target_info(&parse_info, target); 7982 CompilationInfo target_info(&parse_info, target);
7983 7983
7984 if (inlining_kind != CONSTRUCT_CALL_RETURN && 7984 if (inlining_kind != CONSTRUCT_CALL_RETURN &&
7985 IsClassConstructor(target_shared->kind())) { 7985 IsClassConstructor(target_shared->kind())) {
7986 TraceInline(target, caller, "target is classConstructor"); 7986 TraceInline(target, caller, "target is classConstructor");
7987 return false; 7987 return false;
(...skipping 4958 matching lines...) Expand 10 before | Expand all | Expand 10 after
12946 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 12946 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
12947 } 12947 }
12948 12948
12949 #ifdef DEBUG 12949 #ifdef DEBUG
12950 graph_->Verify(false); // No full verify. 12950 graph_->Verify(false); // No full verify.
12951 #endif 12951 #endif
12952 } 12952 }
12953 12953
12954 } // namespace internal 12954 } // namespace internal
12955 } // namespace v8 12955 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698