| Index: src/top.cc
|
| ===================================================================
|
| --- src/top.cc (revision 5587)
|
| +++ src/top.cc (working copy)
|
| @@ -344,6 +344,10 @@
|
| Handle<String> column_key = Factory::LookupAsciiSymbol("column");
|
| Handle<String> line_key = Factory::LookupAsciiSymbol("lineNumber");
|
| Handle<String> script_key = Factory::LookupAsciiSymbol("scriptName");
|
| + Handle<String> name_or_source_url_key =
|
| + Factory::LookupAsciiSymbol("nameOrSourceURL");
|
| + Handle<String> script_name_or_source_url_key =
|
| + Factory::LookupAsciiSymbol("scriptNameOrSourceURL");
|
| Handle<String> function_key = Factory::LookupAsciiSymbol("functionName");
|
| Handle<String> eval_key = Factory::LookupAsciiSymbol("isEval");
|
| Handle<String> constructor_key = Factory::LookupAsciiSymbol("isConstructor");
|
| @@ -355,13 +359,13 @@
|
| Handle<JSObject> stackFrame = Factory::NewJSObject(object_function());
|
|
|
| JavaScriptFrame* frame = it.frame();
|
| - JSFunction* fun(JSFunction::cast(frame->function()));
|
| - Script* script = Script::cast(fun->shared()->script());
|
| + Handle<JSFunction> fun(JSFunction::cast(frame->function()));
|
| + Handle<Script> script(Script::cast(fun->shared()->script()));
|
|
|
| if (options & StackTrace::kLineNumber) {
|
| int script_line_offset = script->line_offset()->value();
|
| int position = frame->code()->SourcePosition(frame->pc());
|
| - int line_number = GetScriptLineNumber(Handle<Script>(script), position);
|
| + int line_number = GetScriptLineNumber(script, position);
|
| // line_number is already shifted by the script_line_offset.
|
| int relative_line_number = line_number - script_line_offset;
|
| if (options & StackTrace::kColumnOffset && relative_line_number >= 0) {
|
| @@ -387,10 +391,9 @@
|
|
|
| if (options & StackTrace::kScriptNameOrSourceURL) {
|
| Handle<Object> script_name(script->name());
|
| - Handle<String> method_name =
|
| - Factory::LookupAsciiSymbol("nameOrSourceURL");
|
| - Handle<JSValue> script_wrapper = GetScriptWrapper(Handle<Script>(script));
|
| - Handle<Object> property = GetProperty(script_wrapper, method_name);
|
| + Handle<JSValue> script_wrapper = GetScriptWrapper(script);
|
| + Handle<Object> property = GetProperty(script_wrapper,
|
| + name_or_source_url_key);
|
| ASSERT(property->IsJSFunction());
|
| Handle<JSFunction> method = Handle<JSFunction>::cast(property);
|
| bool caught_exception;
|
| @@ -399,8 +402,6 @@
|
| if (caught_exception) {
|
| result = Factory::undefined_value();
|
| }
|
| - Handle<String> script_name_or_source_url_key =
|
| - Factory::LookupAsciiSymbol("scriptNameOrSourceURL");
|
| SetProperty(stackFrame, script_name_or_source_url_key, result, NONE);
|
| }
|
|
|
|
|