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

Issue 10823278: Use type propagation for removing Smi checks in binary operations and comparisons. Regis will adapt… (Closed)

Created:
8 years, 4 months ago by srdjan
Modified:
8 years, 4 months ago
Reviewers:
regis
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Use type propagation for removing Smi checks in binary operations and comparisons. Regis will adapt type propagation to collect/propagate class ids and merge them into sets (arrays). Added printing for propagated types and parameter instructions. Committed: https://code.google.com/p/dart/source/detail?r=10545

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 4

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+151 lines, -51 lines) Patch
M runtime/vm/il_printer.cc View 1 2 3 4 6 chunks +23 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 3 4 2 chunks +16 lines, -3 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 5 6 3 chunks +56 lines, -22 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 5 6 3 chunks +56 lines, -22 lines 0 comments Download
M runtime/vm/object_store.h View 1 2 3 4 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
8 years, 4 months ago (2012-08-10 22:59:49 UTC) #1
regis
LGTM https://chromiumcodereview.appspot.com/10823278/diff/8001/runtime/vm/il_printer.cc File runtime/vm/il_printer.cc (right): https://chromiumcodereview.appspot.com/10823278/diff/8001/runtime/vm/il_printer.cc#newcode457 runtime/vm/il_printer.cc:457: index()); You should also call PrintPropagatedType(f, *this) here, ...
8 years, 4 months ago (2012-08-10 23:18:49 UTC) #2
srdjan
8 years, 4 months ago (2012-08-10 23:30:05 UTC) #3
https://chromiumcodereview.appspot.com/10823278/diff/8001/runtime/vm/il_print...
File runtime/vm/il_printer.cc (right):

https://chromiumcodereview.appspot.com/10823278/diff/8001/runtime/vm/il_print...
runtime/vm/il_printer.cc:457: index());
On 2012/08/10 23:18:49, regis wrote:
> You should also call PrintPropagatedType(f, *this) here, since it will give
you
> at least the type of the receiver (and phase parameter in constructors), once
I
> set them...

Done.

https://chromiumcodereview.appspot.com/10823278/diff/8001/runtime/vm/intermed...
File runtime/vm/intermediate_language.cc (right):

https://chromiumcodereview.appspot.com/10823278/diff/8001/runtime/vm/intermed...
runtime/vm/intermediate_language.cc:780:
Class::Handle(object_store->mint_class()));
On 2012/08/10 23:18:49, regis wrote:
> Add a TODO to add SmiType, MintType, and DoubleType to the object store. There
> is a similar TODO elsewhere. This will be more efficient that allocating a new
> type each time. 

Done.

Powered by Google App Engine
This is Rietveld 408576698