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

Issue 11280230: Optimize checked mode asserts with uninstantiated types and known constant type-arguments. (Closed)

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

Description

Instantiate uninstantiated types with known constant type-arguments. The enables eliminating more type-checks. For type-checks that have a uninstantiated target type and a constant instantiator type arguments as input, we can instantiate the type at compile-time. Committed: https://code.google.com/p/dart/source/detail?r=15689

Patch Set 1 #

Total comments: 5

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+61 lines, -20 lines) Patch
M runtime/vm/flow_graph_compiler.cc View 1 3 chunks +3 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 5 chunks +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 5 chunks +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 1 11 chunks +14 lines, -10 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 4 chunks +33 lines, -9 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Florian Schneider
8 years ago (2012-11-29 11:35:01 UTC) #1
regis
LGTM https://codereview.chromium.org/11280230/diff/1/runtime/vm/intermediate_language.cc File runtime/vm/intermediate_language.cc (right): https://codereview.chromium.org/11280230/diff/1/runtime/vm/intermediate_language.cc#newcode1510 runtime/vm/intermediate_language.cc:1510: (check->dst_type().Canonicalize() == dst_type().Canonicalize())) { Aren't the types canonicalized ...
8 years ago (2012-11-29 16:25:19 UTC) #2
Florian Schneider
https://codereview.chromium.org/11280230/diff/1/runtime/vm/intermediate_language.cc File runtime/vm/intermediate_language.cc (right): https://codereview.chromium.org/11280230/diff/1/runtime/vm/intermediate_language.cc#newcode1510 runtime/vm/intermediate_language.cc:1510: (check->dst_type().Canonicalize() == dst_type().Canonicalize())) { On 2012/11/29 16:25:19, regis wrote: ...
8 years ago (2012-12-04 14:48:04 UTC) #3
regis
8 years ago (2012-12-05 19:08:02 UTC) #4
Message was sent while issue was closed.
https://codereview.chromium.org/11280230/diff/1/runtime/vm/intermediate_langu...
File runtime/vm/intermediate_language.cc (right):

https://codereview.chromium.org/11280230/diff/1/runtime/vm/intermediate_langu...
runtime/vm/intermediate_language.cc:1510: (check->dst_type().Canonicalize() ==
dst_type().Canonicalize())) {
On 2012/12/04 14:48:04, Florian Schneider wrote:
> On 2012/11/29 16:25:19, regis wrote:
> > Aren't the types canonicalized already? It may be worth asserting that they
> are
> > and fix the code upstream if they are not.
> 
> They are not all canonicalized. For now, I'm using Equals instead of comparing
> raw objects. 
> 

"For now"? Please add a TODO.
Why are they not canonicalized? That was my first question. We need to
understand why and canonicalize them or explain in a comment under what
circumstances they are not canonicalized.

Powered by Google App Engine
This is Rietveld 408576698