Index: src/compiler.cc |
=================================================================== |
--- src/compiler.cc (revision 2595) |
+++ src/compiler.cc (working copy) |
@@ -28,6 +28,7 @@ |
#include "v8.h" |
#include "bootstrapper.h" |
+#include "cfg.h" |
#include "codegen-inl.h" |
#include "compilation-cache.h" |
#include "compiler.h" |
@@ -78,6 +79,21 @@ |
return Handle<Code>::null(); |
} |
+ if (FLAG_multipass) { |
+ Cfg* cfg = Cfg::Build(literal); |
+#ifdef DEBUG |
+ if (FLAG_print_cfg && cfg != NULL) { |
+ SmartPointer<char> name = literal->name()->ToCString(); |
+ PrintF("Function \"%s\":\n", *name); |
+ cfg->Print(); |
+ PrintF("\n"); |
+ } |
+#endif |
+ if (cfg != NULL) { |
+ return cfg->Compile(literal, script); |
+ } |
+ } |
+ |
// Generate code and return it. |
Handle<Code> result = CodeGenerator::MakeCode(literal, script, is_eval); |
return result; |