Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 6314955b13749fbcc7abd71d535cc0225c9604f7..01484120f19b21e9d7adfd665b842bcd1cf24664 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -7444,12 +7444,6 @@ void JSFunction::MarkForLazyRecompilation() { |
} |
-bool SharedFunctionInfo::EnsureCompiled(Handle<SharedFunctionInfo> shared, |
- ClearExceptionFlag flag) { |
- return shared->is_compiled() || CompileLazy(shared, flag); |
-} |
- |
- |
static bool CompileLazyHelper(CompilationInfo* info, |
ClearExceptionFlag flag) { |
// Compile the source information to a code object. |
@@ -7466,6 +7460,7 @@ static bool CompileLazyHelper(CompilationInfo* info, |
bool SharedFunctionInfo::CompileLazy(Handle<SharedFunctionInfo> shared, |
ClearExceptionFlag flag) { |
+ ASSERT(shared->allows_lazy_compilation_without_context()); |
CompilationInfo info(shared); |
return CompileLazyHelper(&info, flag); |
} |
@@ -7478,6 +7473,7 @@ bool JSFunction::CompileLazy(Handle<JSFunction> function, |
function->ReplaceCode(function->shared()->code()); |
function->shared()->set_code_age(0); |
} else { |
+ ASSERT(function->shared()->allows_lazy_compilation()); |
CompilationInfo info(function); |
result = CompileLazyHelper(&info, flag); |
ASSERT(!result || function->is_compiled()); |
@@ -7495,6 +7491,12 @@ bool JSFunction::CompileOptimized(Handle<JSFunction> function, |
} |
+bool JSFunction::EnsureCompiled(Handle<JSFunction> function, |
+ ClearExceptionFlag flag) { |
+ return function->is_compiled() || CompileLazy(function, flag); |
+} |
+ |
+ |
bool JSFunction::IsInlineable() { |
if (IsBuiltin()) return false; |
SharedFunctionInfo* shared_info = shared(); |