Chromium Code Reviews

Issue 2497973002: [debug-wrapper] Further extend the debug wrapper (Closed)

Created:
4 years, 1 month ago by jgruber
Modified:
4 years, 1 month ago
Reviewers:
kozy, Yang
CC:
v8-reviews_googlegroups.com, devtools-reviews_chromium.org, dgozman
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[debug-wrapper] Further extend the debug wrapper This CL further extends the debug wrapper, migrates around 60 tests, and removes a few tests that use functionality we will not support anymore. In more detail: * Removed tests that use: * enable/disable individual breakpoints * invocationText() * the ScriptCollected event * showBreakPoints * evalFromScript (and similar) * mirror.constructedBy and mirror.referencedBy * event_data.promise() * Some frame.evaluate uses were adapted since due to differences between remote objects (inspector) and mirrors. For instance, exceptions are currently not recreated exactly, since the inspector protocol does not give us the stack and message separately. Other objects (such as 'this' in debug-evaluate-receiver-before-super) need to be explicitly converted to a string before the test works correctly. * Ensure that inspector stores the script before sending ScriptParsed and ScriptFailedToParse events in order to be able to use the script from within those events. * Better remote object reconstruction (e.g. for undefined and arrays). * New functionality in wrapper: * debuggerFlags().breakPointsActive.setValue() * scripts() * execState.setVariableValue() * execState.scopeObject().value() * execState.scopeObject().property() * execState.frame().allScopes() * eventData.exception() * eventData.script() * setBreakPointsActive() BUG=v8:5530 Committed: https://crrev.com/b06c4ce5a61da0392608a635358e4ebd53a963d8 Cr-Commit-Position: refs/heads/master@{#41019}

Patch Set 1 #

Patch Set 2 : Update .status files #

Patch Set 3 : One more test #

Total comments: 2

Patch Set 4 : Add showBreakPoints #

Patch Set 5 : Remove flags from old tests #

Total comments: 2

Patch Set 6 : Address comments #

Unified diffs Side-by-side diffs Stats (+303 lines, -4391 lines)
M src/inspector/v8-debugger-agent-impl.cc View 1 chunk +17 lines, -11 lines 0 comments
A + test/debugger/debug/compiler/debug-catch-prediction.js View 1 chunk +0 lines, -1 line 0 comments
D test/debugger/debug/compiler/osr-typing-debug-change.js View 1 chunk +0 lines, -118 lines 0 comments
A + test/debugger/debug/debug-break-native.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/debug-breakpoints.js View 2 chunks +0 lines, -105 lines 0 comments
A + test/debugger/debug/debug-compile-event.js View 4 chunks +2 lines, -24 lines 0 comments
A + test/debugger/debug/debug-enable-disable-breakpoints.js View 2 chunks +2 lines, -45 lines 0 comments
A + test/debugger/debug/debug-multiple-var-decl.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/debug-scripts-throw.js View 1 chunk +2 lines, -4 lines 0 comments
M test/debugger/debug/debug-step.js View 2 chunks +21 lines, -17 lines 0 comments
A + test/debugger/debug/es6/debug-evaluate-arrow-function-receiver.js View 2 chunks +1 line, -2 lines 0 comments
A + test/debugger/debug/es6/debug-evaluate-blockscopes.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-evaluate-receiver-before-super.js View 2 chunks +1 line, -2 lines 0 comments
A + test/debugger/debug/es6/debug-exception-generators.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/es6/debug-promises/promise-all-uncaught.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/promise-race-uncaught.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/reject-caught-all.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/reject-caught-by-default-reject-handler.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/reject-in-constructor.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/reject-uncaught-all.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/reject-uncaught-late.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/reject-uncaught-uncaught.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-caught-all.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-caught-by-default-reject-handler.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-finally-caught-all.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-in-constructor.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-uncaught-all.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-uncaught-uncaught.js View 2 chunks +0 lines, -3 lines 0 comments
A + test/debugger/debug/es6/debug-promises/throw-with-throw-in-reject.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/try-reject-in-constructor.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-promises/try-throw-reject-in-constructor.js View 2 chunks +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/debug-stepin-default-parameters.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/es6/debug-stepin-proxies.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/es6/debug-stepin-string-template.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/es6/debug-stepnext-for.js View 1 chunk +1 line, -1 line 0 comments
A + test/debugger/debug/es6/default-parameters-debug.js View 1 chunk +0 lines, -2 lines 0 comments
A + test/debugger/debug/es6/regress/regress-468661.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/harmony/async-function-debug-evaluate.js View 1 chunk +1 line, -1 line 0 comments
A + test/debugger/debug/ignition/elided-instruction.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/ignition/optimized-debug-frame.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-102153.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-109195.js View 1 chunk +1 line, -1 line 0 comments
A + test/debugger/debug/regress/regress-119609.js View 2 chunks +1 line, -6 lines 0 comments
A + test/debugger/debug/regress/regress-2296.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-3960.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-4309-2.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-5164.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-crbug-119800.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-crbug-171715.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-crbug-222893.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-crbug-432493.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-crbug-605581.js View 1 chunk +0 lines, -1 line 0 comments
A + test/debugger/debug/regress/regress-debug-deopt-while-recompile.js View 1 chunk +0 lines, -1 line 0 comments
M test/debugger/debugger.status View 1 chunk +1 line, -0 lines 0 comments
M test/debugger/test-api.js View 12 chunks +251 lines, -33 lines 0 comments
D test/mjsunit/bugs/bug-2337.js View 1 chunk +0 lines, -53 lines 0 comments
D test/mjsunit/compiler/debug-catch-prediction.js View 1 chunk +0 lines, -143 lines 0 comments
A + test/mjsunit/compiler/osr-typing-debug-change.js View 1 chunk +1 line, -0 lines 0 comments
D test/mjsunit/debug-backtrace-text.js View 1 chunk +0 lines, -150 lines 0 comments
D test/mjsunit/debug-break-native.js View 1 chunk +0 lines, -42 lines 0 comments
D test/mjsunit/debug-breakpoints.js View 1 chunk +0 lines, -225 lines 0 comments
M test/mjsunit/debug-compile-event.js View 1 chunk +0 lines, -144 lines 0 comments
D test/mjsunit/debug-compile-event-newfunction.js View 1 chunk +0 lines, -68 lines 0 comments
D test/mjsunit/debug-constructed-by.js View 1 chunk +0 lines, -60 lines 0 comments
D test/mjsunit/debug-enable-disable-breakpoints.js View 1 chunk +0 lines, -105 lines 0 comments
D test/mjsunit/debug-multiple-var-decl.js View 1 chunk +0 lines, -74 lines 0 comments
D test/mjsunit/debug-referenced-by.js View 1 chunk +0 lines, -112 lines 0 comments
D test/mjsunit/debug-scripts-throw.js View 1 chunk +0 lines, -14 lines 0 comments
D test/mjsunit/es6/debug-evaluate-arrow-function-receiver.js View 1 chunk +0 lines, -116 lines 0 comments
D test/mjsunit/es6/debug-evaluate-blockscopes.js View 1 chunk +0 lines, -113 lines 0 comments
D test/mjsunit/es6/debug-evaluate-receiver-before-super.js View 1 chunk +0 lines, -39 lines 0 comments
D test/mjsunit/es6/debug-exception-generators.js View 1 chunk +0 lines, -49 lines 0 comments
D test/mjsunit/es6/debug-promises/promise-all-uncaught.js View 1 chunk +0 lines, -70 lines 0 comments
D test/mjsunit/es6/debug-promises/promise-race-uncaught.js View 1 chunk +0 lines, -70 lines 0 comments
D test/mjsunit/es6/debug-promises/reject-caught-all.js View 1 chunk +0 lines, -69 lines 0 comments
D test/mjsunit/es6/debug-promises/reject-caught-by-default-reject-handler.js View 1 chunk +0 lines, -77 lines 0 comments
D test/mjsunit/es6/debug-promises/reject-in-constructor.js View 1 chunk +0 lines, -39 lines 0 comments
D test/mjsunit/es6/debug-promises/reject-uncaught-all.js View 1 chunk +0 lines, -66 lines 0 comments
D test/mjsunit/es6/debug-promises/reject-uncaught-late.js View 1 chunk +0 lines, -73 lines 0 comments
D test/mjsunit/es6/debug-promises/reject-uncaught-uncaught.js View 1 chunk +0 lines, -66 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-caught-all.js View 1 chunk +0 lines, -68 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-caught-by-default-reject-handler.js View 1 chunk +0 lines, -78 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-finally-caught-all.js View 1 chunk +0 lines, -72 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-in-constructor.js View 1 chunk +0 lines, -40 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-uncaught-all.js View 1 chunk +0 lines, -67 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-uncaught-uncaught.js View 1 chunk +0 lines, -67 lines 0 comments
D test/mjsunit/es6/debug-promises/throw-with-throw-in-reject.js View 1 chunk +0 lines, -86 lines 0 comments
D test/mjsunit/es6/debug-promises/try-reject-in-constructor.js View 1 chunk +0 lines, -42 lines 0 comments
D test/mjsunit/es6/debug-promises/try-throw-reject-in-constructor.js View 1 chunk +0 lines, -44 lines 0 comments
D test/mjsunit/es6/debug-stepin-default-parameters.js View 1 chunk +0 lines, -46 lines 0 comments
D test/mjsunit/es6/debug-stepin-proxies.js View 1 chunk +0 lines, -61 lines 0 comments
D test/mjsunit/es6/debug-stepin-string-template.js View 1 chunk +0 lines, -61 lines 0 comments
D test/mjsunit/es6/debug-stepnext-for.js View 1 chunk +0 lines, -135 lines 0 comments
D test/mjsunit/es6/default-parameters-debug.js View 1 chunk +0 lines, -54 lines 0 comments
D test/mjsunit/es6/regress/regress-468661.js View 1 chunk +0 lines, -71 lines 0 comments
D test/mjsunit/harmony/async-function-debug-evaluate.js View 1 chunk +0 lines, -139 lines 0 comments
D test/mjsunit/ignition/elided-instruction.js View 1 chunk +0 lines, -37 lines 0 comments
D test/mjsunit/ignition/optimized-debug-frame.js View 1 chunk +0 lines, -38 lines 0 comments
M test/mjsunit/mjsunit.status View 1 chunk +0 lines, -1 line 0 comments
D test/mjsunit/regress/regress-102153.js View 1 chunk +0 lines, -57 lines 0 comments
D test/mjsunit/regress/regress-109195.js View 1 chunk +0 lines, -65 lines 0 comments
D test/mjsunit/regress/regress-119609.js View 1 chunk +0 lines, -71 lines 0 comments
D test/mjsunit/regress/regress-2296.js View 1 chunk +0 lines, -44 lines 0 comments
M test/mjsunit/regress/regress-3960.js View 1 chunk +0 lines, -36 lines 0 comments
D test/mjsunit/regress/regress-4309-2.js View 1 chunk +0 lines, -34 lines 0 comments
D test/mjsunit/regress/regress-5164.js View 1 chunk +0 lines, -44 lines 0 comments
D test/mjsunit/regress/regress-crbug-119800.js View 1 chunk +0 lines, -38 lines 0 comments
D test/mjsunit/regress/regress-crbug-171715.js View 1 chunk +0 lines, -87 lines 0 comments
D test/mjsunit/regress/regress-crbug-222893.js View 1 chunk +0 lines, -63 lines 0 comments
D test/mjsunit/regress/regress-crbug-432493.js View 1 chunk +0 lines, -57 lines 0 comments
D test/mjsunit/regress/regress-crbug-605581.js View 1 chunk +0 lines, -28 lines 0 comments
D test/mjsunit/regress/regress-debug-deopt-while-recompile.js View 1 chunk +0 lines, -84 lines 0 comments

Dependent Patchsets:

Messages

Total messages: 37 (27 generated)
jgruber
4 years, 1 month ago (2016-11-15 09:08:54 UTC) #13
Yang
lgtm https://codereview.chromium.org/2497973002/diff/40001/test/mjsunit/debug-breakpoints.js File test/mjsunit/debug-breakpoints.js (left): https://codereview.chromium.org/2497973002/diff/40001/test/mjsunit/debug-breakpoints.js#oldcode30 test/mjsunit/debug-breakpoints.js:30: Debug = debug.Debug From experience this test has ...
4 years, 1 month ago (2016-11-15 09:24:16 UTC) #17
jgruber
https://codereview.chromium.org/2497973002/diff/40001/test/mjsunit/debug-breakpoints.js File test/mjsunit/debug-breakpoints.js (left): https://codereview.chromium.org/2497973002/diff/40001/test/mjsunit/debug-breakpoints.js#oldcode30 test/mjsunit/debug-breakpoints.js:30: Debug = debug.Debug On 2016/11/15 09:24:16, Yang wrote: > ...
4 years, 1 month ago (2016-11-15 10:59:10 UTC) #20
Yang
On 2016/11/15 10:59:10, jgruber wrote: > https://codereview.chromium.org/2497973002/diff/40001/test/mjsunit/debug-breakpoints.js > File test/mjsunit/debug-breakpoints.js (left): > > https://codereview.chromium.org/2497973002/diff/40001/test/mjsunit/debug-breakpoints.js#oldcode30 > ...
4 years, 1 month ago (2016-11-15 13:54:31 UTC) #23
kozy
lgtm
4 years, 1 month ago (2016-11-15 22:17:05 UTC) #28
kozy
https://codereview.chromium.org/2497973002/diff/80001/src/inspector/v8-debugger-agent-impl.cc File src/inspector/v8-debugger-agent-impl.cc (right): https://codereview.chromium.org/2497973002/diff/80001/src/inspector/v8-debugger-agent-impl.cc#newcode1031 src/inspector/v8-debugger-agent-impl.cc:1031: auto& scriptRef = m_scripts[scriptId]; I prefer something like: ScriptsMap::iterator ...
4 years, 1 month ago (2016-11-15 22:25:08 UTC) #29
jgruber
https://codereview.chromium.org/2497973002/diff/80001/src/inspector/v8-debugger-agent-impl.cc File src/inspector/v8-debugger-agent-impl.cc (right): https://codereview.chromium.org/2497973002/diff/80001/src/inspector/v8-debugger-agent-impl.cc#newcode1031 src/inspector/v8-debugger-agent-impl.cc:1031: auto& scriptRef = m_scripts[scriptId]; On 2016/11/15 22:25:08, kozyatinskiy wrote: ...
4 years, 1 month ago (2016-11-16 08:06:47 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2497973002/100001
4 years, 1 month ago (2016-11-16 08:07:01 UTC) #33
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 1 month ago (2016-11-16 08:34:08 UTC) #35
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:35:32 UTC) #37
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/b06c4ce5a61da0392608a635358e4ebd53a963d8
Cr-Commit-Position: refs/heads/master@{#41019}

Powered by Google App Engine