Chromium Code Reviews| Index: src/compiler.cc |
| diff --git a/src/compiler.cc b/src/compiler.cc |
| index e8094ed1f3e35f43f4102d01a3a4b3a23180f92c..d44718bc0fc7faed24c8ee8cfb4f7bfcfaac1322 100644 |
| --- a/src/compiler.cc |
| +++ b/src/compiler.cc |
| @@ -294,8 +294,9 @@ static bool MakeCrankshaftCode(CompilationInfo* info) { |
| } |
| Handle<Context> global_context(info->closure()->context()->global_context()); |
| - TypeFeedbackOracle oracle(code, global_context, info->isolate()); |
| - HGraphBuilder builder(info, &oracle); |
| + TypeFeedbackOracle oracle(code, global_context, info->isolate(), |
| + info->isolate()->zone()); |
| + HGraphBuilder builder(info, &oracle, info->isolate()->zone()); |
| HPhase phase(HPhase::kTotal); |
| HGraph* graph = builder.CreateGraph(); |
| if (info->isolate()->has_pending_exception()) { |
| @@ -346,7 +347,8 @@ bool Compiler::MakeCodeForLiveEdit(CompilationInfo* info) { |
| // the compilation info is set if compilation succeeded. |
| bool succeeded = MakeCode(info); |
| if (!info->shared_info().is_null()) { |
| - Handle<ScopeInfo> scope_info = ScopeInfo::Create(info->scope()); |
| + Handle<ScopeInfo> scope_info = ScopeInfo::Create(info->scope(), |
| + info->isolate()->zone()); |
|
danno
2012/06/05 13:42:35
How about add a zone() utility to CompileInfo? Thi
sanjoy
2012/06/05 14:21:39
I'm adding that in the next CL.
|
| info->shared_info()->set_scope_info(*scope_info); |
| } |
| return succeeded; |
| @@ -420,7 +422,7 @@ static Handle<SharedFunctionInfo> MakeFunctionInfo(CompilationInfo* info) { |
| lit->name(), |
| lit->materialized_literal_count(), |
| info->code(), |
| - ScopeInfo::Create(info->scope())); |
| + ScopeInfo::Create(info->scope(), info->isolate()->zone())); |
| ASSERT_EQ(RelocInfo::kNoPosition, lit->function_token_position()); |
| Compiler::SetFunctionInfo(result, lit, true, script); |
| @@ -462,7 +464,7 @@ static Handle<SharedFunctionInfo> MakeFunctionInfo(CompilationInfo* info) { |
| script, Debugger::NO_AFTER_COMPILE_FLAGS); |
| #endif |
| - live_edit_tracker.RecordFunctionInfo(result, lit); |
| + live_edit_tracker.RecordFunctionInfo(result, lit, isolate->zone()); |
| return result; |
| } |
| @@ -651,7 +653,8 @@ bool Compiler::CompileLazy(CompilationInfo* info) { |
| // info initialization is important since set_scope_info might |
| // trigger a GC, causing the ASSERT below to be invalid if the code |
| // was flushed. By setting the code object last we avoid this. |
| - Handle<ScopeInfo> scope_info = ScopeInfo::Create(info->scope()); |
| + Handle<ScopeInfo> scope_info = |
| + ScopeInfo::Create(info->scope(), info->isolate()->zone()); |
| shared->set_scope_info(*scope_info); |
| shared->set_code(*code); |
| if (!function.is_null()) { |
| @@ -728,7 +731,7 @@ Handle<SharedFunctionInfo> Compiler::BuildFunctionInfo(FunctionLiteral* literal, |
| } else if ((V8::UseCrankshaft() && MakeCrankshaftCode(&info)) || |
| (!V8::UseCrankshaft() && FullCodeGenerator::MakeCode(&info))) { |
| ASSERT(!info.code().is_null()); |
| - scope_info = ScopeInfo::Create(info.scope()); |
| + scope_info = ScopeInfo::Create(info.scope(), info.isolate()->zone()); |
| } else { |
| return Handle<SharedFunctionInfo>::null(); |
| } |
| @@ -747,7 +750,7 @@ Handle<SharedFunctionInfo> Compiler::BuildFunctionInfo(FunctionLiteral* literal, |
| // the resulting function. |
| SetExpectedNofPropertiesFromEstimate(result, |
| literal->expected_property_count()); |
| - live_edit_tracker.RecordFunctionInfo(result, literal); |
| + live_edit_tracker.RecordFunctionInfo(result, literal, info.isolate()->zone()); |
| return result; |
| } |