| 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);
|
| }
|
|
|
|
|
|
|