Index: src/handles.cc |
diff --git a/src/handles.cc b/src/handles.cc |
index d625d644c776e744251d69bfc7f582b77751c1b2..c5921c7302da26f9d95493d33dfa90e229bb3cf0 100644 |
--- a/src/handles.cc |
+++ b/src/handles.cc |
@@ -834,14 +834,16 @@ bool CompileLazyShared(Handle<SharedFunctionInfo> shared, |
} |
-bool CompileLazy(Handle<JSFunction> function, |
- ClearExceptionFlag flag) { |
+static bool CompileLazyFunction(Handle<JSFunction> function, |
+ ClearExceptionFlag flag, |
+ InLoopFlag in_loop_flag) { |
bool result = true; |
if (function->shared()->is_compiled()) { |
function->ReplaceCode(function->shared()->code()); |
function->shared()->set_code_age(0); |
} else { |
CompilationInfo info(function); |
+ if (in_loop_flag == IN_LOOP) info.MarkAsInLoop(); |
result = CompileLazyHelper(&info, flag); |
ASSERT(!result || function->is_compiled()); |
} |
@@ -852,22 +854,15 @@ bool CompileLazy(Handle<JSFunction> function, |
} |
+bool CompileLazy(Handle<JSFunction> function, |
+ ClearExceptionFlag flag) { |
+ return CompileLazyFunction(function, flag, NOT_IN_LOOP); |
+} |
+ |
+ |
bool CompileLazyInLoop(Handle<JSFunction> function, |
ClearExceptionFlag flag) { |
- bool result = true; |
- if (function->shared()->is_compiled()) { |
- function->ReplaceCode(function->shared()->code()); |
- function->shared()->set_code_age(0); |
- } else { |
- CompilationInfo info(function); |
- info.MarkAsInLoop(); |
- result = CompileLazyHelper(&info, flag); |
- ASSERT(!result || function->is_compiled()); |
- } |
- if (result && function->is_compiled()) { |
- PROFILE(FunctionCreateEvent(*function)); |
- } |
- return result; |
+ return CompileLazyFunction(function, flag, IN_LOOP); |
} |