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

Issue 87783003: Add UInt32 and UInt31 types to better infer bit operations. (Closed)

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

Description

Add UInt32 and UInt31 types to better infer bit operations. R=kasperl@google.com Committed: https://code.google.com/p/dart/source/detail?r=30693

Patch Set 1 : #

Total comments: 14

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+378 lines, -200 lines) Patch
M sdk/lib/_internal/compiler/implementation/compiler.dart View 2 chunks +4 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/constants.dart View 12 chunks +53 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart View 5 chunks +14 lines, -10 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart View 1 2 chunks +4 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/inferrer/type_graph_inferrer.dart View 1 2 5 chunks +25 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart View 1 2 2 chunks +33 lines, -16 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/backend.dart View 7 chunks +14 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart View 1 chunk +7 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/codegen.dart View 1 2 chunks +4 lines, -28 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/invoke_dynamic_specializers.dart View 1 9 chunks +54 lines, -11 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/nodes.dart View 1 2 chunks +13 lines, -21 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/types/flat_type_mask.dart View 2 chunks +7 lines, -2 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/types/types.dart View 2 chunks +27 lines, -1 line 0 comments Download
M sdk/lib/_internal/lib/js_number.dart View 1 3 chunks +10 lines, -7 lines 0 comments Download
M tests/compiler/dart2js/call_site_simple_type_inferer_test.dart View 3 chunks +13 lines, -12 lines 0 comments Download
M tests/compiler/dart2js/concrete_type_inference_test.dart View 2 chunks +2 lines, -2 lines 0 comments Download
M tests/compiler/dart2js/field_type_simple_inferer_test.dart View 3 chunks +44 lines, -44 lines 0 comments Download
M tests/compiler/dart2js/list_tracer2_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/list_tracer_test.dart View 2 chunks +3 lines, -4 lines 0 comments Download
M tests/compiler/dart2js/mirror_final_field_inferrer2_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/mirror_final_field_inferrer_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/mock_compiler.dart View 1 chunk +2 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/simple_inferrer_closure_test.dart View 1 chunk +7 lines, -6 lines 0 comments Download
M tests/compiler/dart2js/simple_inferrer_final_field2_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/simple_inferrer_final_field_test.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M tests/compiler/dart2js/simple_inferrer_no_such_method_test.dart View 2 chunks +5 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/simple_inferrer_test.dart View 3 chunks +17 lines, -17 lines 0 comments Download
M tests/compiler/dart2js/simple_inferrer_try_catch_test.dart View 1 chunk +5 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/simple_inferrer_unregister_call_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/value_range_test.dart View 1 chunk +2 lines, -0 lines 0 comments Download
M tests/utils/dummy_compiler_test.dart View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
ngeoffray
7 years ago (2013-11-26 14:37:44 UTC) #1
kasperl
https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart File sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart (right): https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart#newcode77 sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart:77: TypeMask get uint32Type => compiler.typesTask.uint32Type; Add uint31Type here? https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_inferrer.dart ...
7 years ago (2013-11-26 14:58:40 UTC) #2
floitsch
https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart File sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart (right): https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart#newcode530 sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart:530: bool intCheck(info) => info.type.containsOnlyInt(compiler); I don't like the name ...
7 years ago (2013-11-26 15:08:19 UTC) #3
ngeoffray
Thanks Kasper and Florian. PTAL. https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart File sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart (right): https://codereview.chromium.org/87783003/diff/70001/sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart#newcode77 sdk/lib/_internal/compiler/implementation/inferrer/simple_types_inferrer.dart:77: TypeMask get uint32Type => ...
7 years ago (2013-11-26 15:19:12 UTC) #4
kasperl
LGTM. https://codereview.chromium.org/87783003/diff/90001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart File sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart (right): https://codereview.chromium.org/87783003/diff/90001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart#newcode546 sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart:546: if (isUInt31(receiver) So I guess it's important to ...
7 years ago (2013-11-26 18:53:09 UTC) #5
ngeoffray
Thanks Kasper. https://codereview.chromium.org/87783003/diff/90001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart File sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart (right): https://codereview.chromium.org/87783003/diff/90001/sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart#newcode546 sdk/lib/_internal/compiler/implementation/inferrer/type_graph_nodes.dart:546: if (isUInt31(receiver) On 2013/11/26 18:53:09, kasperl wrote: ...
7 years ago (2013-11-27 07:39:52 UTC) #6
ngeoffray
7 years ago (2013-11-27 07:42:13 UTC) #7
Message was sent while issue was closed.
Committed patchset #3 manually as r30693 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698