Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index 212c4efbf2d39a86f278b7c0d76de25f0acc7778..064d53aa3ab0447efdac008f7f11c66dd8547d3a 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -118,8 +118,10 @@ void CompilationInfo::Initialize(Isolate* isolate, |
? new List<OffsetRange>(2) : NULL; |
if (FLAG_hydrogen_track_positions) { |
inlined_function_infos_ = new List<InlinedFunctionInfo>(5); |
+ track_positions_ = true; |
} else { |
inlined_function_infos_ = NULL; |
+ track_positions_ = false; |
} |
for (int i = 0; i < DependentCode::kGroupCount; i++) { |
@@ -276,7 +278,7 @@ bool CompilationInfo::is_simple_parameter_list() { |
int CompilationInfo::TraceInlinedFunction(Handle<SharedFunctionInfo> shared, |
SourcePosition position, |
int parent_id) { |
- DCHECK(FLAG_hydrogen_track_positions); |
+ DCHECK(track_positions_); |
DCHECK(inlined_function_infos_); |
int inline_id = inlined_function_infos_->length(); |
@@ -286,7 +288,7 @@ int CompilationInfo::TraceInlinedFunction(Handle<SharedFunctionInfo> shared, |
Handle<Script> script(Script::cast(shared->script())); |
info.script_id = script->id()->value(); |
- if (!script->source()->IsUndefined()) { |
+ if (FLAG_hydrogen_track_positions) { |
yurys
2015/03/16 13:16:11
&& !script->source()->IsUndefined()
loislo
2015/03/16 13:20:58
done
|
CodeTracer::Scope tracing_scope(isolate()->GetCodeTracer()); |
OFStream os(tracing_scope.file()); |
os << "--- FUNCTION SOURCE (" << shared->DebugName()->ToCString().get() |
@@ -308,7 +310,7 @@ int CompilationInfo::TraceInlinedFunction(Handle<SharedFunctionInfo> shared, |
inlined_function_infos_->Add(info); |
- if (inline_id != 0) { |
+ if (FLAG_hydrogen_track_positions && inline_id != 0) { |
CodeTracer::Scope tracing_scope(isolate()->GetCodeTracer()); |
OFStream os(tracing_scope.file()); |
os << "INLINE (" << shared->DebugName()->ToCString().get() << ") id{" |
@@ -480,9 +482,10 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() { |
info()->shared_info()->disable_optimization_reason()); |
} |
- graph_builder_ = (FLAG_hydrogen_track_positions || FLAG_trace_ic) |
- ? new(info()->zone()) HOptimizedGraphBuilderWithPositions(info()) |
- : new(info()->zone()) HOptimizedGraphBuilder(info()); |
+ graph_builder_ = (info()->is_tracking_positions() || FLAG_trace_ic) |
+ ? new (info()->zone()) |
+ HOptimizedGraphBuilderWithPositions(info()) |
+ : new (info()->zone()) HOptimizedGraphBuilder(info()); |
Timer t(this, &time_taken_to_create_graph_); |
// TODO(titzer): ParseInfo::this_has_uses is only used by Crankshaft. Move. |