Index: src/runtime/runtime-debug.cc |
diff --git a/src/runtime/runtime-debug.cc b/src/runtime/runtime-debug.cc |
index 392f943472245bccce9f72b161eaddcdff79258e..862d860c59df992173095f14639e5045fcfe8dbd 100644 |
--- a/src/runtime/runtime-debug.cc |
+++ b/src/runtime/runtime-debug.cc |
@@ -1552,9 +1552,11 @@ RUNTIME_FUNCTION(Runtime_GetStepInPositions) { |
JavaScriptFrameIterator frame_it(isolate, id); |
RUNTIME_ASSERT(!frame_it.done()); |
- JavaScriptFrame* frame = frame_it.frame(); |
+ List<FrameSummary> frames(FLAG_max_inlining_levels + 1); |
+ frame_it.frame()->Summarize(&frames); |
+ FrameSummary summary = frames.first(); |
- Handle<JSFunction> fun = Handle<JSFunction>(frame->function()); |
+ Handle<JSFunction> fun = Handle<JSFunction>(summary.function()); |
Handle<SharedFunctionInfo> shared = Handle<SharedFunctionInfo>(fun->shared()); |
if (!isolate->debug()->EnsureDebugInfo(shared, fun)) { |
@@ -1565,7 +1567,7 @@ RUNTIME_FUNCTION(Runtime_GetStepInPositions) { |
// Find range of break points starting from the break point where execution |
// has stopped. |
- Address call_pc = frame->pc() - 1; |
+ Address call_pc = summary.pc() - 1; |
List<BreakLocation> locations; |
BreakLocation::FromAddressSameStatement(debug_info, ALL_BREAK_LOCATIONS, |
call_pc, &locations); |
@@ -1575,7 +1577,7 @@ RUNTIME_FUNCTION(Runtime_GetStepInPositions) { |
int index = 0; |
for (BreakLocation location : locations) { |
bool accept; |
- if (location.pc() > frame->pc()) { |
+ if (location.pc() > summary.pc()) { |
accept = true; |
} else { |
StackFrame::Id break_frame_id = isolate->debug()->break_frame_id(); |