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

Issue 26255004: Allow the debugger to inspect local variables from optimized and (Closed)

Created:
7 years, 2 months ago by turnidge
Modified:
7 years, 2 months ago
Reviewers:
srdjan, Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Allow the debugger to inspect local variables from optimized and inlined frames. ------------ Most remaining deoptimization code from the code generator moves to DeoptContext. This allows the code to be reused by the debugger. There is some rework of the code along the way. The remaining code in the code generator is simpler. Implement the ability to deopt a frame to an Array. Each inlined frame accesses its locals from this array at some fixed offset. Refactor the Debugger::CollectStackTrace code. New code is int Debugger::CollectStackTraceNew. There is a flag --use_new_stacktrace which can be used to revert back to the old version. I intend to remove this flag shortly, after any dust clears. Added a unit test which makes sure that we can inspect locals from optimized and inlined frames. Tested this code in the dart editor debugger as well. R=iposva@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=28468

Patch Set 1 #

Patch Set 2 : #

Total comments: 17

Patch Set 3 : #

Total comments: 8

Patch Set 4 : #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+783 lines, -323 lines) Patch
M runtime/vm/code_generator.cc View 1 2 3 4 5 chunks +35 lines, -175 lines 0 comments Download
M runtime/vm/debugger.h View 1 2 3 4 6 chunks +28 lines, -2 lines 0 comments Download
M runtime/vm/debugger.cc View 1 2 3 4 24 chunks +229 lines, -22 lines 0 comments Download
M runtime/vm/debugger_api_impl_test.cc View 1 2 3 4 2 chunks +156 lines, -0 lines 0 comments Download
M runtime/vm/debugger_arm.cc View 1 2 3 4 1 chunk +0 lines, -8 lines 0 comments Download
M runtime/vm/debugger_ia32.cc View 1 2 3 4 1 chunk +0 lines, -8 lines 0 comments Download
M runtime/vm/debugger_mips.cc View 1 2 3 4 1 chunk +0 lines, -8 lines 0 comments Download
M runtime/vm/debugger_x64.cc View 1 2 3 4 1 chunk +0 lines, -8 lines 0 comments Download
M runtime/vm/deopt_instructions.h View 1 2 3 4 3 chunks +67 lines, -53 lines 0 comments Download
M runtime/vm/deopt_instructions.cc View 1 2 3 4 5 chunks +248 lines, -39 lines 0 comments Download
M runtime/vm/stack_frame.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/stack_frame.cc View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
turnidge
7 years, 2 months ago (2013-10-07 21:10:30 UTC) #1
srdjan
lgtm https://codereview.chromium.org/26255004/diff/11001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/26255004/diff/11001/runtime/vm/debugger.cc#newcode376 runtime/vm/debugger.cc:376: for (int i = 0; i < var_desc_len; ...
7 years, 2 months ago (2013-10-07 21:36:53 UTC) #2
turnidge
Hi Srdjan, thanks for the quick review. I have made most of the corrections you ...
7 years, 2 months ago (2013-10-08 17:29:12 UTC) #3
turnidge
https://codereview.chromium.org/26255004/diff/11001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/26255004/diff/11001/runtime/vm/debugger.cc#newcode535 runtime/vm/debugger.cc:535: uword var_address = fp() + slot_index * kWordSize; On ...
7 years, 2 months ago (2013-10-08 18:21:10 UTC) #4
srdjan
LGTM https://codereview.chromium.org/26255004/diff/11001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/26255004/diff/11001/runtime/vm/debugger.cc#newcode376 runtime/vm/debugger.cc:376: for (int i = 0; i < var_desc_len; ...
7 years, 2 months ago (2013-10-08 18:41:25 UTC) #5
Ivan Posva
LGTM with comments. -Ivan https://codereview.chromium.org/26255004/diff/17001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/26255004/diff/17001/runtime/vm/debugger.cc#newcode1064 runtime/vm/debugger.cc:1064: DeoptContext* deopt_context =new DeoptContext(frame, code, ...
7 years, 2 months ago (2013-10-08 18:49:46 UTC) #6
turnidge
https://codereview.chromium.org/26255004/diff/17001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/26255004/diff/17001/runtime/vm/debugger.cc#newcode1064 runtime/vm/debugger.cc:1064: DeoptContext* deopt_context =new DeoptContext(frame, code, On 2013/10/08 18:49:46, Ivan ...
7 years, 2 months ago (2013-10-09 17:57:20 UTC) #7
turnidge
7 years, 2 months ago (2013-10-10 18:16:00 UTC) #8
Message was sent while issue was closed.
Committed patchset #5 manually as r28468 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698