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

Issue 11418183: Fix a bad merge that lead to unused optimization: implement the dataEquals in HInterceptor in order… (Closed)

Created:
8 years ago by ngeoffray
Modified:
8 years ago
Reviewers:
ahe, floitsch, kasperl
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Fix a bad merge that lead to unused optimization: implement the dataEquals in HInterceptor in order to GVN it. Committed: https://code.google.com/p/dart/source/detail?r=15453

Patch Set 1 #

Total comments: 3

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+51 lines, -1 line) Patch
M sdk/lib/_internal/compiler/implementation/ssa/nodes.dart View 1 2 2 chunks +6 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/optimize.dart View 1 2 3 2 chunks +30 lines, -0 lines 2 comments Download
A tests/language/interceptor3_test.dart View 1 2 1 chunk +15 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
ngeoffray
8 years ago (2012-11-27 18:21:05 UTC) #1
ahe
https://codereview.chromium.org/11418183/diff/1/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart File sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (right): https://codereview.chromium.org/11418183/diff/1/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart#newcode2391 sdk/lib/_internal/compiler/implementation/ssa/nodes.dart:2391: // interceptor of the right kind. How do you ...
8 years ago (2012-11-27 18:29:01 UTC) #2
floitsch
LGTM. https://codereview.chromium.org/11418183/diff/1/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart File sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (right): https://codereview.chromium.org/11418183/diff/1/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart#newcode2391 sdk/lib/_internal/compiler/implementation/ssa/nodes.dart:2391: // interceptor of the right kind. On 2012/11/27 ...
8 years ago (2012-11-27 18:51:38 UTC) #3
ahe
https://codereview.chromium.org/11418183/diff/1/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart File sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (right): https://codereview.chromium.org/11418183/diff/1/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart#newcode2391 sdk/lib/_internal/compiler/implementation/ssa/nodes.dart:2391: // interceptor of the right kind. On 2012/11/27 18:51:38, ...
8 years ago (2012-11-27 19:03:36 UTC) #4
ngeoffray
Unfortunately, the gvn and code motion phases use both dataEquals, which should be specialized for ...
8 years ago (2012-11-28 12:05:18 UTC) #5
floitsch
LGTM.
8 years ago (2012-11-28 12:49:51 UTC) #6
ngeoffray
PTAL. After discussing with Kasper, we decided it was simpler to use a different phase ...
8 years ago (2012-11-28 15:41:48 UTC) #7
floitsch
Still LGTM.
8 years ago (2012-11-28 15:46:16 UTC) #8
kasperl
LGTM. https://codereview.chromium.org/11418183/diff/7002/sdk/lib/_internal/compiler/implementation/ssa/optimize.dart File sdk/lib/_internal/compiler/implementation/ssa/optimize.dart (right): https://codereview.chromium.org/11418183/diff/7002/sdk/lib/_internal/compiler/implementation/ssa/optimize.dart#newcode1441 sdk/lib/_internal/compiler/implementation/ssa/optimize.dart:1441: if (user is HInterceptor && interceptor.dominates(user)) { This ...
8 years ago (2012-11-29 08:22:27 UTC) #9
ngeoffray
8 years ago (2012-11-29 08:31:56 UTC) #10
Message was sent while issue was closed.
Thanks Kasper.

https://codereview.chromium.org/11418183/diff/7002/sdk/lib/_internal/compiler...
File sdk/lib/_internal/compiler/implementation/ssa/optimize.dart (right):

https://codereview.chromium.org/11418183/diff/7002/sdk/lib/_internal/compiler...
sdk/lib/_internal/compiler/implementation/ssa/optimize.dart:1441: if (user is
HInterceptor && interceptor.dominates(user)) {
On 2012/11/29 08:22:27, kasperl wrote:
> This is probably fine, but an alternative implementation would be to keep a
> scoped mapping from interceptor receivers to intercepted classes -- and let
the
> dominator tree walk eliminate the need for calling
interceptor.dominates(user).

Good point. Filed http://code.google.com/p/dart/issues/detail?id=7022 to not
forget about it.

Powered by Google App Engine
This is Rietveld 408576698