toplevel compilation and the toplevel compiler cannot handle the
function, we would erroneously signal a stack overflow instead of
falling back on the optimizing compiler.
Review URL: http://codereview.chromium.org/366005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
}
// Generate code and return it.
+ bool is_compiled = false;
if (FLAG_fast_compiler && literal->try_fast_codegen()) {
CodeGenSelector selector;
CodeGenSelector::CodeGenTag code_gen = selector.Select(literal);
code = FastCodeGenerator::MakeCode(literal,
script,
false); // Not eval.
+ is_compiled = true;
}
- ASSERT(code_gen == CodeGenSelector::NORMAL);
- } else {
+ }
+
+ if (!is_compiled) {
+ // We didn't try the fast compiler, or we failed to select it.
code = CodeGenerator::MakeCode(literal,
script,
false); // Not eval.