Index: src/frames.cc |
diff --git a/src/frames.cc b/src/frames.cc |
index 9fd00422aa07056df0a8b80a49e422894d3c691f..e3ed2de4e36d5acd4176aa83014e3fbe622a76bb 100644 |
--- a/src/frames.cc |
+++ b/src/frames.cc |
@@ -723,12 +723,17 @@ void JavaScriptFrame::PrintTop(FILE* file, |
JavaScriptFrame* frame = it.frame(); |
if (frame->IsConstructor()) PrintF(file, "new "); |
// function name |
- Object* fun = frame->function(); |
- if (fun->IsJSFunction()) { |
- SharedFunctionInfo* shared = JSFunction::cast(fun)->shared(); |
- shared->DebugName()->ShortPrint(file); |
+ Object* maybe_fun = frame->function(); |
+ if (maybe_fun->IsJSFunction()) { |
+ JSFunction* fun = JSFunction::cast(maybe_fun); |
+ fun->PrintName(); |
+ Code* js_code = frame->unchecked_code(); |
+ Address pc = frame->pc(); |
+ int code_offset = |
+ static_cast<int>(pc - js_code->instruction_start()); |
+ PrintF("+%d", code_offset); |
+ SharedFunctionInfo* shared = fun->shared(); |
if (print_line_number) { |
- Address pc = frame->pc(); |
Code* code = Code::cast( |
v8::internal::Isolate::Current()->heap()->FindCodeObject(pc)); |
int source_pos = code->SourcePosition(pc); |
@@ -751,7 +756,7 @@ void JavaScriptFrame::PrintTop(FILE* file, |
} |
} |
} else { |
- fun->ShortPrint(file); |
+ PrintF("<unknown>"); |
} |
if (print_args) { |