Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index c6dfa045b744a82da959c177e090546488322398..13d99fecf661711c3e448831fbaead3ad831ade5 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -91,6 +91,11 @@ CompilationInfo::CompilationInfo(Handle<JSFunction> closure, |
} |
+void CompilationInfo::CreateCodeObject() { |
Toon Verwaest
2013/12/18 16:11:41
That's a funny name. It doesn't actually create a
Jarin
2013/12/30 15:15:47
I am sorry, the whole CodeObject business is not n
|
+ closure_code_object_ = Handle<Object>(isolate()->heap()->undefined_value(), |
+ isolate()); |
Toon Verwaest
2013/12/18 16:11:41
isolate()->factory()->undefined_value() is already
|
+} |
+ |
CompilationInfo::CompilationInfo(HydrogenCodeStub* stub, |
Isolate* isolate, |
Zone* zone) |
@@ -308,6 +313,9 @@ void RecompileJob::RecordOptimizationStats() { |
// going, not necessarily that we optimized the code. |
static bool MakeCrankshaftCode(CompilationInfo* info) { |
RecompileJob job(info); |
+ |
+ info->CreateCodeObject(); |
+ |
RecompileJob::Status status = job.CreateGraph(); |
if (status != RecompileJob::SUCCEEDED) { |
@@ -1075,6 +1083,7 @@ bool Compiler::RecompileConcurrent(Handle<JSFunction> closure, |
} |
SmartPointer<CompilationInfo> info(new CompilationInfoWithZone(closure)); |
+ |
Handle<SharedFunctionInfo> shared = info->shared_info(); |
if (compiling_for_osr) { |
@@ -1110,6 +1119,7 @@ bool Compiler::RecompileConcurrent(Handle<JSFunction> closure, |
info->SetLanguageMode(language_mode); |
shared->set_language_mode(language_mode); |
info->SaveHandles(); |
+ info->CreateCodeObject(); |
if (Rewriter::Rewrite(info.get()) && Scope::Analyze(info.get())) { |
RecompileJob* job = new(info->zone()) RecompileJob(info.get()); |