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

Issue 15888010: Re-apply "Implement operator== and hashCode for bound closures." (Closed)

Created:
7 years, 6 months ago by ngeoffray
Modified:
7 years, 6 months ago
Reviewers:
kasperl, sra1
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Re-apply "Implement operator== and hashCode for bound closures.". The emitter should not try to share a bound closure class between an intercepted method and a non-intercepted method because the call has different calling conventions: the intercepted version pass an extra argument, which is the actual receiver. R=kasperl@google.com Committed: https://code.google.com/p/dart/source/detail?r=23387

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Patch Set 4 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+255 lines, -54 lines) Patch
M sdk/lib/_internal/compiler/implementation/closure.dart View 1 chunk +5 lines, -2 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/compiler.dart View 2 chunks +2 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/enqueue.dart View 5 chunks +40 lines, -9 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/backend.dart View 1 chunk +2 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart View 1 2 3 12 chunks +20 lines, -35 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/emitter_no_eval.dart View 1 1 chunk +4 lines, -4 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/lib/js_helper.dart View 2 chunks +24 lines, -2 lines 2 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/builder.dart View 1 chunk +1 line, -2 lines 0 comments Download
A tests/language/bound_closure_equality_test.dart View 1 chunk +76 lines, -0 lines 0 comments Download
A tests/language/bound_closure_primitives_test.dart View 1 1 chunk +27 lines, -0 lines 0 comments Download
M tests/language/language.status View 2 chunks +3 lines, -0 lines 0 comments Download
A tests/language/local_function_non_equal_test.dart View 1 chunk +32 lines, -0 lines 0 comments Download
A tests/language/static_closure_identical_test.dart View 1 chunk +17 lines, -0 lines 0 comments Download
M tests/utils/dummy_compiler_test.dart View 1 chunk +1 line, -0 lines 0 comments Download
M tests/utils/recursive_import_test.dart View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
ngeoffray
Patch set 1 contains the original CL. Patch set 2 contains the fix.
7 years, 6 months ago (2013-05-30 08:18:33 UTC) #1
kasperl
LGTM. https://codereview.chromium.org/15888010/diff/3017/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart File sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart (right): https://codereview.chromium.org/15888010/diff/3017/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart#newcode1929 sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart:1929: String extraArg = null; Where is this used?
7 years, 6 months ago (2013-05-30 08:23:13 UTC) #2
ngeoffray
Thanks Kasper. https://codereview.chromium.org/15888010/diff/3017/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart File sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart (right): https://codereview.chromium.org/15888010/diff/3017/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart#newcode1929 sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart:1929: String extraArg = null; On 2013/05/30 08:23:14, ...
7 years, 6 months ago (2013-05-30 08:25:07 UTC) #3
ngeoffray
Committed patchset #4 manually as r23387 (presubmit successful).
7 years, 6 months ago (2013-05-30 08:27:40 UTC) #4
sra1
https://codereview.chromium.org/15888010/diff/19/sdk/lib/_internal/compiler/implementation/lib/js_helper.dart File sdk/lib/_internal/compiler/implementation/lib/js_helper.dart (right): https://codereview.chromium.org/15888010/diff/19/sdk/lib/_internal/compiler/implementation/lib/js_helper.dart#newcode951 sdk/lib/_internal/compiler/implementation/lib/js_helper.dart:951: var target; These need to be private: see https://code.google.com/p/dart/issues/detail?id=10986
7 years, 6 months ago (2013-05-30 20:11:04 UTC) #5
ngeoffray
7 years, 6 months ago (2013-05-30 20:15:44 UTC) #6
Message was sent while issue was closed.
https://codereview.chromium.org/15888010/diff/19/sdk/lib/_internal/compiler/i...
File sdk/lib/_internal/compiler/implementation/lib/js_helper.dart (right):

https://codereview.chromium.org/15888010/diff/19/sdk/lib/_internal/compiler/i...
sdk/lib/_internal/compiler/implementation/lib/js_helper.dart:951: var target;
On 2013/05/30 20:11:04, sra1 wrote:
> These need to be private: see
> https://code.google.com/p/dart/issues/detail?id=10986

That's a nifty catch :-)

Powered by Google App Engine
This is Rietveld 408576698