| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index f556cfa643655227320761eb2bd86e7cffb46b65..eb8d76350e53a31282e575e2e98e694716fcb49e 100755
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -176,6 +176,8 @@ static void AbortAndDisable(CompilationInfo* info) {
|
| ASSERT(code->kind() == Code::FUNCTION);
|
| code->set_optimizable(false);
|
| info->SetCode(code);
|
| + Isolate* isolate = code->GetIsolate();
|
| + isolate->compilation_cache()->MarkForLazyOptimizing(info->closure());
|
| if (FLAG_trace_opt) {
|
| PrintF("[disabled optimization for: ");
|
| info->closure()->PrintName();
|
| @@ -538,6 +540,7 @@ Handle<SharedFunctionInfo> Compiler::Compile(Handle<String> source,
|
| info.MarkAsGlobal();
|
| info.SetExtension(extension);
|
| info.SetPreParseData(pre_data);
|
| + if (natives == NATIVES_CODE) info.MarkAsAllowingNativesSyntax();
|
| result = MakeFunctionInfo(&info);
|
| if (extension == NULL && !result.is_null()) {
|
| compilation_cache->PutScript(source, result);
|
|
|