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

Unified Diff: src/compiler.cc

Issue 104663004: Preview of a first step towards unification of hydrogen calls (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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 side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698