| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 52c907cbc015cdf7ba0fa049214ad5e8745e8ab9..5e010ac5191af0821bffc63fcf374e328a2ec28b 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -98,6 +98,7 @@ CompilationInfo::CompilationInfo(Handle<JSFunction> closure, Zone* zone)
|
| script_(Handle<Script>(Script::cast(shared_info_->script()))),
|
| extension_(NULL),
|
| pre_parse_data_(NULL),
|
| + context_(closure->context()),
|
| osr_ast_id_(BailoutId::None()),
|
| zone_(zone),
|
| deferred_handles_(NULL) {
|
| @@ -286,6 +287,7 @@ OptimizingCompiler::Status OptimizingCompiler::CreateGraph() {
|
| // optimized code.
|
| unoptimized.SetFunction(info()->function());
|
| unoptimized.SetScope(info()->scope());
|
| + unoptimized.SetContext(info()->context());
|
| if (should_recompile) unoptimized.EnableDeoptimizationSupport();
|
| bool succeeded = FullCodeGenerator::MakeCode(&unoptimized);
|
| if (should_recompile) {
|
| @@ -586,6 +588,7 @@ Handle<SharedFunctionInfo> Compiler::Compile(Handle<String> source,
|
| info.MarkAsGlobal();
|
| info.SetExtension(extension);
|
| info.SetPreParseData(pre_data);
|
| + info.SetContext(context);
|
| if (FLAG_use_strict) {
|
| info.SetLanguageMode(FLAG_harmony_scoping ? EXTENDED_MODE : STRICT_MODE);
|
| }
|
| @@ -634,7 +637,7 @@ Handle<SharedFunctionInfo> Compiler::CompileEval(Handle<String> source,
|
| info.MarkAsEval();
|
| if (is_global) info.MarkAsGlobal();
|
| info.SetLanguageMode(language_mode);
|
| - info.SetCallingContext(context);
|
| + info.SetContext(context);
|
| result = MakeFunctionInfo(&info);
|
| if (!result.is_null()) {
|
| // Explicitly disable optimization for eval code. We're not yet prepared
|
|
|