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

Issue 1055923002: Don't call dinvoke on Object methods (Closed)

Created:
5 years, 8 months ago by vsm
Modified:
5 years, 8 months ago
CC:
dev-compiler+reviews_dartlang.org
Base URL:
https://github.com/dart-lang/dev_compiler.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Don't call dinvoke on Object methods There is the separate, but related question of how to invoke Object methods when the receiver is Object or a JS primitive. That should be handled in the JS backend. I can tackle that next if no one else is. See #98. R=jmesserly@google.com Committed: https://github.com/dart-lang/dev_compiler/commit/1b48ba1ea1d61a199c9ef8baf0413e4706011391

Patch Set 1 #

Patch Set 2 : modify test #

Total comments: 10

Patch Set 3 : Move logic to resolver #

Patch Set 4 : Reformat #

Patch Set 5 : Fix for sealed types #

Total comments: 12

Patch Set 6 : Upload latest #

Patch Set 7 : Refactor dynamic target logic #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+204 lines, -80 lines) Patch
M lib/runtime/dart/_isolate_helper.js View 1 2 1 chunk +1 line, -1 line 0 comments Download
M lib/runtime/dart/_js_helper.js View 1 2 3 4 5 5 chunks +6 lines, -6 lines 0 comments Download
M lib/runtime/dart/async.js View 1 2 1 chunk +1 line, -1 line 0 comments Download
M lib/runtime/dart/collection.js View 1 2 5 chunks +5 lines, -5 lines 0 comments Download
M lib/runtime/dart/convert.js View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M lib/runtime/dart/core.js View 1 2 1 chunk +1 line, -1 line 0 comments Download
M lib/runtime/dart/isolate.js View 1 2 1 chunk +1 line, -1 line 0 comments Download
M lib/src/checker/checker.dart View 1 2 3 4 5 6 2 chunks +2 lines, -4 lines 0 comments Download
M lib/src/checker/dart_sdk.dart View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M lib/src/checker/resolver.dart View 1 2 3 4 5 6 2 chunks +93 lines, -0 lines 0 comments Download
M lib/src/checker/rules.dart View 1 2 3 4 5 6 4 chunks +3 lines, -13 lines 1 comment Download
M lib/src/utils.dart View 1 2 3 4 5 6 2 chunks +9 lines, -1 line 0 comments Download
M test/checker/checker_test.dart View 1 2 3 4 5 3 chunks +33 lines, -0 lines 0 comments Download
M test/dart_codegen/expect/async/zone.dart View 1 2 11 chunks +35 lines, -35 lines 0 comments Download
M test/dart_codegen/expect/collection/hash_map.dart View 1 2 1 chunk +1 line, -1 line 0 comments Download
M test/dart_codegen/expect/convert/string_conversion.dart View 1 2 3 4 5 1 chunk +3 lines, -3 lines 0 comments Download
M test/dart_codegen/expect/convert/utf.dart View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download

Messages

Total messages: 13 (2 generated)
vsm
5 years, 8 months ago (2015-04-02 17:59:10 UTC) #2
Jacob
https://codereview.chromium.org/1055923002/diff/20001/lib/src/checker/rules.dart File lib/src/checker/rules.dart (right): https://codereview.chromium.org/1055923002/diff/20001/lib/src/checker/rules.dart#newcode526 lib/src/checker/rules.dart:526: name != 'hashCode' && Add TODO: get all object ...
5 years, 8 months ago (2015-04-02 18:29:49 UTC) #3
Jennifer Messerly
so, JS objects aren't core.Object. If we want hashCode/runtimeType/toString/nSM to work on JS objects, how ...
5 years, 8 months ago (2015-04-02 18:56:53 UTC) #4
vsm
Thanks - I need to iterate on this a little more, but replies.... https://codereview.chromium.org/1055923002/diff/20001/lib/src/checker/rules.dart File ...
5 years, 8 months ago (2015-04-02 19:21:56 UTC) #5
vsm
PTAL I moved this logic to the resolver. I'm conservative about rejecting the result of ...
5 years, 8 months ago (2015-04-07 18:32:35 UTC) #7
Jennifer Messerly
At a high level this new version is really nice. Just a few comments regarding ...
5 years, 8 months ago (2015-04-07 19:05:50 UTC) #8
vsm
Thanks, PTAL https://codereview.chromium.org/1055923002/diff/80001/lib/src/checker/resolver.dart File lib/src/checker/resolver.dart (right): https://codereview.chromium.org/1055923002/diff/80001/lib/src/checker/resolver.dart#newcode706 lib/src/checker/resolver.dart:706: return !_nonExtendableTypes.contains(t); On 2015/04/07 19:05:49, John Messerly ...
5 years, 8 months ago (2015-04-07 19:48:47 UTC) #9
Jennifer Messerly
Forgot upload maybe? Anyway your comments sound good, so LGTM based on that :) https://codereview.chromium.org/1055923002/diff/80001/lib/src/codegen/js_codegen.dart ...
5 years, 8 months ago (2015-04-07 21:49:23 UTC) #10
vsm
Hmm, I probably just forgot to upload. :-) Anyway, updated now with a little more ...
5 years, 8 months ago (2015-04-07 22:40:41 UTC) #11
Jennifer Messerly
LGTM https://codereview.chromium.org/1055923002/diff/120001/lib/src/checker/rules.dart File lib/src/checker/rules.dart (right): https://codereview.chromium.org/1055923002/diff/120001/lib/src/checker/rules.dart#newcode532 lib/src/checker/rules.dart:532: bool isDynamicTarget(Expression target) => nice!!!
5 years, 8 months ago (2015-04-07 23:00:21 UTC) #12
vsm
5 years, 8 months ago (2015-04-07 23:28:08 UTC) #13
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
1b48ba1ea1d61a199c9ef8baf0413e4706011391 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698