| Index: src/builtins.cc
|
| diff --git a/src/builtins.cc b/src/builtins.cc
|
| index 760bb8e786b38e4c88809900efded5238c72d60f..a7d5aea37c3ac7a1370f1506fdca76ca49cc4ec2 100644
|
| --- a/src/builtins.cc
|
| +++ b/src/builtins.cc
|
| @@ -2067,11 +2067,22 @@ MaybeHandle<JSFunction> CompileString(Handle<Context> context,
|
| }
|
|
|
| // Compile source string in the native context.
|
| - Handle<SharedFunctionInfo> outer_info(native_context->closure()->shared(),
|
| - isolate);
|
| + StackTraceFrameIterator it(isolate);
|
| + int eval_scope_position = 0;
|
| + int eval_position = RelocInfo::kNoPosition;
|
| + Handle<SharedFunctionInfo> outer_info;
|
| + if (!it.done() && it.is_javascript()) {
|
| + FrameSummary summary = FrameSummary::GetFirst(it.javascript_frame());
|
| + eval_position =
|
| + summary.abstract_code()->SourcePosition(summary.code_offset());
|
| + outer_info = Handle<SharedFunctionInfo>(summary.function()->shared());
|
| + } else {
|
| + outer_info =
|
| + Handle<SharedFunctionInfo>(native_context->closure()->shared());
|
| + }
|
| return Compiler::GetFunctionFromEval(source, outer_info, native_context,
|
| - SLOPPY, restriction,
|
| - RelocInfo::kNoPosition);
|
| + SLOPPY, restriction, eval_scope_position,
|
| + eval_position);
|
| }
|
|
|
| } // namespace
|
|
|