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

Issue 18169002: Improve Dart Debugger performance and robustness by creating Dart wrappers using the standard SetNa… (Closed)

Created:
7 years, 5 months ago by Jacob
Modified:
7 years, 2 months ago
CC:
reviews+dom_dartlang.org
Visibility:
Public.

Description

Improve Dart Debugger performance and robustness by creating Dart wrappers using the standard SetNamedPropertyHandler and SetIndexedPropertyHandler logic rather than performing a lot of thunking back and forth between JS, C++, and Dart. This lets us provide better error messages when invoking invalid properties, handle NoSuchMethod better, and display Map and List keys and values. As part of this fix, enable additional missing dev tools functionality such as proper Node highlighting when logging nodes. BUG= R=podivilov@chromium.org, vsm@google.com Committed: https://src.chromium.org/viewvc/multivm?view=rev&revision=1301

Patch Set 1 : Checkpoint #

Total comments: 18

Patch Set 2 : Ready for review #

Patch Set 3 : ready for review #

Total comments: 6

Patch Set 4 : Ready to review #

Patch Set 5 : Ready to review #

Patch Set 6 : code review fixes #

Total comments: 7

Patch Set 7 : Code review fixes #

Total comments: 1

Patch Set 8 : ready for review. Rebased and fixed code to work better with DartEditor, prevent some crashes, and… #

Total comments: 6

Patch Set 9 : Move node highlighting hookup to v8 into a separate CL to keep dart specific changes separate from … #

Patch Set 10 : Code review fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1007 lines, -687 lines) Patch
M LayoutTests/dart/dom/Console.dart View 1 chunk +3 lines, -0 lines 0 comments Download
M LayoutTests/dart/dom/Console-expected.txt View 1 chunk +2 lines, -1 line 0 comments Download
M LayoutTests/dart/inspector/evaluate-in-console.html View 1 2 3 4 5 2 chunks +4 lines, -2 lines 0 comments Download
M LayoutTests/dart/inspector/evaluate-in-console-expected.txt View 1 2 3 4 5 1 chunk +10 lines, -2 lines 0 comments Download
M LayoutTests/dart/inspector/scope-variables.dart View 1 1 chunk +6 lines, -0 lines 0 comments Download
M LayoutTests/dart/inspector/scope-variables.html View 1 2 3 4 5 2 chunks +3 lines, -1 line 0 comments Download
M LayoutTests/dart/inspector/scope-variables-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +15 lines, -9 lines 0 comments Download
M Source/bindings/dart/DartDOMWrapper.h View 1 2 3 4 5 6 1 chunk +6 lines, -2 lines 0 comments Download
M Source/bindings/dart/DartDebugHooks.js View 6 chunks +6 lines, -344 lines 0 comments Download
M Source/bindings/dart/DartDebugServer.h View 1 chunk +0 lines, -2 lines 0 comments Download
M Source/bindings/dart/DartDebugServer.cpp View 1 2 3 4 5 6 7 8 chunks +43 lines, -105 lines 0 comments Download
M Source/bindings/dart/DartHandleProxy.h View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -2 lines 0 comments Download
M Source/bindings/dart/DartHandleProxy.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +898 lines, -215 lines 0 comments Download
M Source/bindings/dart/DartUtilities.cpp View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
Jacob
This CL isn't sent out for review at the moment. Sending out with commends now ...
7 years, 5 months ago (2013-07-11 18:52:27 UTC) #1
Jacob
Ready for review https://codereview.chromium.org/18169002/diff/2001/Source/bindings/dart/DartHandleProxy.cpp File Source/bindings/dart/DartHandleProxy.cpp (right): https://codereview.chromium.org/18169002/diff/2001/Source/bindings/dart/DartHandleProxy.cpp#newcode356 Source/bindings/dart/DartHandleProxy.cpp:356: if (!Dart_IsNull(ret) && !Dart_IsError(ret)) { why ...
7 years, 5 months ago (2013-07-15 18:03:26 UTC) #2
Jacob
Anton, can you comment on the hack I had to add to Source/bindings/v8/V8Binding.cpp ? I'm ...
7 years, 5 months ago (2013-07-15 18:38:18 UTC) #3
vsm
First set of quick comments. https://chromiumcodereview.appspot.com/18169002/diff/14002/LayoutTests/dart/inspector/evaluate-in-console-expected.txt File LayoutTests/dart/inspector/evaluate-in-console-expected.txt (right): https://chromiumcodereview.appspot.com/18169002/diff/14002/LayoutTests/dart/inspector/evaluate-in-console-expected.txt#newcode18 LayoutTests/dart/inspector/evaluate-in-console-expected.txt:18: Receiver: Closure: () => ...
7 years, 5 months ago (2013-07-15 18:40:29 UTC) #4
Jacob
PTAL Btw, this CL depends on https://codereview.chromium.org/18125007/ https://codereview.chromium.org/18169002/diff/14002/LayoutTests/dart/inspector/evaluate-in-console-expected.txt File LayoutTests/dart/inspector/evaluate-in-console-expected.txt (right): https://codereview.chromium.org/18169002/diff/14002/LayoutTests/dart/inspector/evaluate-in-console-expected.txt#newcode18 LayoutTests/dart/inspector/evaluate-in-console-expected.txt:18: Receiver: Closure: ...
7 years, 5 months ago (2013-07-15 22:23:54 UTC) #5
Anton Muhin
+Pavel who knows a lot about this part. Jacob, overall patch is very big and ...
7 years, 5 months ago (2013-07-16 13:27:40 UTC) #6
Anton Muhin
Oops, now indeed +Pavel.
7 years, 5 months ago (2013-07-16 13:28:16 UTC) #7
Jacob
Sorry for the size of the CL. Porting the proxies over from the old style ...
7 years, 5 months ago (2013-07-16 16:44:59 UTC) #8
dgrove
On 2013/07/16 16:44:59, Jacob wrote: > Sorry for the size of the CL. Porting the ...
7 years, 5 months ago (2013-07-16 16:47:21 UTC) #9
Jacob
PTAL also added a stub for @staticFields and @classInfo data used by the Dart Editor ...
7 years, 5 months ago (2013-07-17 05:58:16 UTC) #10
Jacob
Please let me know if there is anything I can do to make this code ...
7 years, 5 months ago (2013-07-18 03:53:10 UTC) #11
podivilov
On 2013/07/18 03:53:10, Jacob wrote: > Please let me know if there is anything I ...
7 years, 5 months ago (2013-07-18 10:35:24 UTC) #12
Jacob
On 2013/07/18 10:35:24, podivilov wrote: > On 2013/07/18 03:53:10, Jacob wrote: > > Please let ...
7 years, 5 months ago (2013-07-18 18:29:44 UTC) #13
vsm
lgtm https://chromiumcodereview.appspot.com/18169002/diff/42001/Source/bindings/dart/DartHandleProxy.cpp File Source/bindings/dart/DartHandleProxy.cpp (right): https://chromiumcodereview.appspot.com/18169002/diff/42001/Source/bindings/dart/DartHandleProxy.cpp#newcode130 Source/bindings/dart/DartHandleProxy.cpp:130: && DartNode::toNative(type, exception); Nit: I think this would ...
7 years, 5 months ago (2013-07-18 18:33:23 UTC) #14
Jacob
https://chromiumcodereview.appspot.com/18169002/diff/42001/Source/bindings/dart/DartHandleProxy.cpp File Source/bindings/dart/DartHandleProxy.cpp (right): https://chromiumcodereview.appspot.com/18169002/diff/42001/Source/bindings/dart/DartHandleProxy.cpp#newcode130 Source/bindings/dart/DartHandleProxy.cpp:130: && DartNode::toNative(type, exception); On 2013/07/18 18:33:23, vsm wrote: > ...
7 years, 5 months ago (2013-07-18 18:49:28 UTC) #15
vsm
Still LGTM
7 years, 5 months ago (2013-07-18 18:50:48 UTC) #16
Jacob
Committed patchset #10 manually as r1301 (presubmit successful).
7 years, 5 months ago (2013-07-18 18:51:23 UTC) #17
siva
7 years, 2 months ago (2013-10-03 22:41:31 UTC) #18
Message was sent while issue was closed.
https://chromiumcodereview.appspot.com/18169002/diff/34001/Source/bindings/da...
File Source/bindings/dart/DartDOMWrapper.h (right):

https://chromiumcodereview.appspot.com/18169002/diff/34001/Source/bindings/da...
Source/bindings/dart/DartDOMWrapper.h:194: // Node objects rather than objects
that implement the Node interface.
Could we open an issue and add a TODO(issue number) here so that we
remember and track this.

Powered by Google App Engine
This is Rietveld 408576698