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

Issue 11341041: Fix for dartbug.com/6036: the intersection of two different types is not always conflicting. (Closed)

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

Description

Fix for dartbug.com/6036: the intersection of two different types is not always conflicting. Committed: https://code.google.com/p/dart/source/detail?r=14278

Patch Set 1 : #

Total comments: 9

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2139 lines, -1099 lines) Patch
M lib/compiler/implementation/js_backend/backend.dart View 10 chunks +15 lines, -12 lines 0 comments Download
M lib/compiler/implementation/ssa/bailout.dart View 1 chunk +1 line, -1 line 0 comments Download
M lib/compiler/implementation/ssa/codegen.dart View 1 chunk +3 lines, -1 line 0 comments Download
M lib/compiler/implementation/ssa/nodes.dart View 29 chunks +73 lines, -45 lines 0 comments Download
M lib/compiler/implementation/ssa/optimize.dart View 4 chunks +5 lines, -4 lines 0 comments Download
M lib/compiler/implementation/ssa/types.dart View 1 47 chunks +65 lines, -54 lines 0 comments Download
M lib/compiler/implementation/ssa/types_propagation.dart View 4 chunks +4 lines, -4 lines 0 comments Download
M tests/compiler/dart2js/type_combination_test.dart View 2 chunks +1952 lines, -978 lines 0 comments Download
A tests/language/typed_equality_test.dart View 1 chunk +21 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
ngeoffray
8 years, 1 month ago (2012-10-30 12:27:48 UTC) #1
kasperl
https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/type_combination_test.dart File tests/compiler/dart2js/type_combination_test.dart (right): https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/type_combination_test.dart#newcode2031 tests/compiler/dart2js/type_combination_test.dart:2031: Compiler compiler = new MockCompiler(); Is it too nasty ...
8 years, 1 month ago (2012-10-30 12:33:46 UTC) #2
karlklose
https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/type_combination_test.dart File tests/compiler/dart2js/type_combination_test.dart (right): https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/type_combination_test.dart#newcode38 tests/compiler/dart2js/type_combination_test.dart:38: CONFLICTING.union(CONFLICTING, compiler)); You could use a helper union(a, b) ...
8 years, 1 month ago (2012-10-30 12:43:24 UTC) #3
ngeoffray
https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/type_combination_test.dart File tests/compiler/dart2js/type_combination_test.dart (right): https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/type_combination_test.dart#newcode38 tests/compiler/dart2js/type_combination_test.dart:38: CONFLICTING.union(CONFLICTING, compiler)); On 2012/10/30 12:43:24, karlklose wrote: > You ...
8 years, 1 month ago (2012-10-30 12:58:41 UTC) #4
kasperl
LGTM. https://codereview.chromium.org/11341041/diff/2001/lib/compiler/implementation/ssa/types.dart File lib/compiler/implementation/ssa/types.dart (right): https://codereview.chromium.org/11341041/diff/2001/lib/compiler/implementation/ssa/types.dart#newcode704 lib/compiler/implementation/ssa/types.dart:704: if (other is HBoundedType) { It feels like ...
8 years, 1 month ago (2012-10-30 13:00:43 UTC) #5
ngeoffray
8 years, 1 month ago (2012-10-30 13:25:35 UTC) #6
Thanks Kasper

https://codereview.chromium.org/11341041/diff/2001/lib/compiler/implementatio...
File lib/compiler/implementation/ssa/types.dart (right):

https://codereview.chromium.org/11341041/diff/2001/lib/compiler/implementatio...
lib/compiler/implementation/ssa/types.dart:704: if (other is HBoundedType) {
On 2012/10/30 13:00:43, kasperl wrote:
> It feels like this method could use some more comments. I have to think a bit
> too much to understand what the different cases mean.

Done.

https://codereview.chromium.org/11341041/diff/2001/lib/compiler/implementatio...
lib/compiler/implementation/ssa/types.dart:704: if (other is HBoundedType) {
On 2012/10/30 13:00:43, kasperl wrote:
> It feels like this method could use some more comments. I have to think a bit
> too much to understand what the different cases mean.

Done.

https://codereview.chromium.org/11341041/diff/2001/lib/compiler/implementatio...
lib/compiler/implementation/ssa/types.dart:732: && identical(isExact(), other
.isExact()));
On 2012/10/30 13:00:43, kasperl wrote:
> Remove space before .

Done.

https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/typ...
File tests/compiler/dart2js/type_combination_test.dart (right):

https://codereview.chromium.org/11341041/diff/2001/tests/compiler/dart2js/typ...
tests/compiler/dart2js/type_combination_test.dart:2031: Compiler compiler = new
MockCompiler();
On 2012/10/30 12:33:46, kasperl wrote:
> Is it too nasty to use lazy static initialization for these? Maybe.

Good we agree :)

Powered by Google App Engine
This is Rietveld 408576698