Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Unified Diff: src/runtime/runtime-debug.cc

Issue 1038613002: [turbofan] Support initial step-in through debugger statement. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Follow-up after rebase. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/debug.cc ('k') | test/cctest/cctest.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « src/debug.cc ('k') | test/cctest/cctest.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698