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

Issue 104893003: For instance call representing numerical comparisons (double and Smi for now) that were never visit… (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

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. R=fschneider@google.com Committed: https://code.google.com/p/dart/source/detail?r=31036

Patch Set 1 #

Patch Set 2 : #

Total comments: 12

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+141 lines, -17 lines) Patch
M runtime/vm/compiler.cc View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 7 8 9 4 chunks +43 lines, -15 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 1 comment Download
A tests/language/guess_cid_test.dart View 1 2 3 4 5 6 7 1 chunk +91 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
srdjan
7 years ago (2013-12-05 19:55:19 UTC) #1
Florian Schneider
LGTM. Please make sure that the code cannot trigger repeated deoptimization by adding a test ...
7 years ago (2013-12-06 10:15:28 UTC) #2
srdjan
Added exact type for Mint operations. This optimization triggered a bug where type propagator assumes ...
7 years ago (2013-12-10 01:02:49 UTC) #3
srdjan
Committed patchset #10 manually as r31036 (presubmit successful).
7 years ago (2013-12-10 19:09:50 UTC) #4
srdjan
7 years ago (2013-12-10 22:56:30 UTC) #5
Message was sent while issue was closed.
https://codereview.chromium.org/104893003/diff/180001/runtime/vm/flow_graph_t...
File runtime/vm/flow_graph_type_propagator.cc (right):

https://codereview.chromium.org/104893003/diff/180001/runtime/vm/flow_graph_t...
runtime/vm/flow_graph_type_propagator.cc:1014: return
CompileType::FromCid(kMintCid);
Unfortunately this is incorrect, since a Mint result may produce a Smi (with
help of a BoxIntegerInstr that is appended).

Powered by Google App Engine
This is Rietveld 408576698