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

Issue 114543004: Restoring the remaining CL 104893003. For instance call representing numerical comparisons and bina… (Closed)

Created:
7 years ago by srdjan
Modified:
7 years ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Restoring the remaining CL 104893003. For instance call representing numerical comparisons and binary operations (double and Smi supported for now) that were never visited before optimization occurs, we guess the cids if one of the argument cids is known, e.g. ‘a == 1’ we guess that a is also going to be 1 thus avoiding emitting an IC-call in optimized code and propagating the type accordingly. Remove AssertAssignableInstr::RecomputeType as it may cause incorrect behavior: it changes the type of its value based on input, the graph below will then incorrectly remove CheckSmi. v27 <- BinaryMintOp:14(.. v28 <- AssertAssignable(v27) CheckSmi(v28) v17 <- BinarySmiOp:86(+, v28, v12) R=fschneider@google.com Committed: https://code.google.com/p/dart/source/detail?r=31137

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 2

Patch Set 7 : #

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+148 lines, -17 lines) Patch
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 2 chunks +29 lines, -4 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 2 3 4 5 6 1 chunk +0 lines, -12 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
A tests/language/assert_assignable_type_test.dart View 1 2 3 4 5 6 1 chunk +31 lines, -0 lines 0 comments Download
A tests/language/guess_cid_test.dart View 1 chunk +88 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
srdjan
7 years ago (2013-12-12 23:16:36 UTC) #1
Florian Schneider
lgtm https://codereview.chromium.org/114543004/diff/90001/runtime/vm/flow_graph_type_propagator.cc File runtime/vm/flow_graph_type_propagator.cc (left): https://codereview.chromium.org/114543004/diff/90001/runtime/vm/flow_graph_type_propagator.cc#oldcode773 runtime/vm/flow_graph_type_propagator.cc:773: bool AssertAssignableInstr::RecomputeType() { Do you have a regression ...
7 years ago (2013-12-13 13:11:09 UTC) #2
srdjan
https://codereview.chromium.org/114543004/diff/90001/runtime/vm/flow_graph_type_propagator.cc File runtime/vm/flow_graph_type_propagator.cc (left): https://codereview.chromium.org/114543004/diff/90001/runtime/vm/flow_graph_type_propagator.cc#oldcode773 runtime/vm/flow_graph_type_propagator.cc:773: bool AssertAssignableInstr::RecomputeType() { On 2013/12/13 13:11:09, Florian Schneider wrote: ...
7 years ago (2013-12-13 17:08:51 UTC) #3
srdjan
7 years ago (2013-12-13 17:15:10 UTC) #4
Message was sent while issue was closed.
Committed patchset #8 manually as r31137 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698