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

Issue 14858033: Implement breakpoint for closure calls (Closed)

Created:
7 years, 7 months ago by hausner
Modified:
7 years, 7 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Implement breakpoint for closure calls Introduce a new PcDescriptor kind to distinguish closure calls from other runtime calls. The debugger can patch these calls to set a breakpoint. When stepping into a closure call, the debugger must fish out the closure object from the stack, find the function and set breakpoints in it. Arm and Mips breakpoint stubs are not implemented yet. ia32 and x64 stubs tested by hand. Automated test to follow. R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=22596

Patch Set 1 #

Patch Set 2 : #

Total comments: 4

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+235 lines, -6 lines) Patch
M runtime/vm/code_generator.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/code_generator.cc View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M runtime/vm/code_patcher.h View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/code_patcher_arm.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/code_patcher_ia32.cc View 1 2 1 chunk +45 lines, -0 lines 0 comments Download
M runtime/vm/code_patcher_mips.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/code_patcher_x64.cc View 1 2 1 chunk +40 lines, -0 lines 0 comments Download
M runtime/vm/debugger.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/debugger.cc View 1 2 6 chunks +33 lines, -1 line 0 comments Download
M runtime/vm/debugger_arm.cc View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M runtime/vm/debugger_ia32.cc View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M runtime/vm/debugger_mips.cc View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M runtime/vm/debugger_x64.cc View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/object.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/stub_code.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 1 chunk +11 lines, -0 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
hausner
7 years, 7 months ago (2013-05-10 18:13:22 UTC) #1
srdjan
LGTM with comments https://codereview.chromium.org/14858033/diff/11001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/14858033/diff/11001/runtime/vm/debugger.cc#newcode1597 runtime/vm/debugger.cc:1597: if (!call_target.IsNull()) { Add comment when ...
7 years, 7 months ago (2013-05-10 18:56:23 UTC) #2
hausner
Committed patchset #3 manually as r22596 (presubmit successful).
7 years, 7 months ago (2013-05-10 21:06:14 UTC) #3
hausner
7 years, 7 months ago (2013-05-15 23:46:14 UTC) #4
Message was sent while issue was closed.
Apparently did not send the answers yet.

https://codereview.chromium.org/14858033/diff/11001/runtime/vm/debugger.cc
File runtime/vm/debugger.cc (right):

https://codereview.chromium.org/14858033/diff/11001/runtime/vm/debugger.cc#ne...
runtime/vm/debugger.cc:1597: if (!call_target.IsNull()) {
On 2013/05/10 18:56:23, srdjan wrote:
> Add comment when the call_target can be NULL and its consequence.

Done.

https://codereview.chromium.org/14858033/diff/11001/runtime/vm/debugger.cc#ne...
runtime/vm/debugger.cc:1601: if (targ_class.signature_function() !=
Function::null()) {
On 2013/05/10 18:56:23, srdjan wrote:
> Use targ_class.IsSignatureClass()

Done.

Powered by Google App Engine
This is Rietveld 408576698