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

Issue 10317026: Inline type checks for complex uninstantiated types, e.g., List<T>. (Closed)

Created:
8 years, 7 months ago by srdjan
Modified:
8 years, 7 months ago
Reviewers:
regis
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Inline type checks for complex uninstantiated types, e.g., List<T>. Committed: https://code.google.com/p/dart/source/detail?r=7353

Patch Set 1 #

Patch Set 2 : #

Total comments: 26

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -113 lines) Patch
M runtime/vm/code_generator.cc View 1 2 3 4 10 chunks +143 lines, -81 lines 0 comments Download
M runtime/vm/code_generator_ia32.h View 1 2 3 4 3 chunks +9 lines, -5 lines 0 comments Download
M runtime/vm/code_generator_ia32.cc View 1 2 3 4 11 chunks +72 lines, -19 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 2 3 4 3 chunks +10 lines, -8 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
8 years, 7 months ago (2012-05-04 20:56:20 UTC) #1
regis
LGTM https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_generator.cc#newcode382 runtime/vm/code_generator.cc:382: const AbstractTypeArguments& instantiator_targs, "targs" sounds like "targets". I ...
8 years, 7 months ago (2012-05-04 21:53:39 UTC) #2
srdjan
8 years, 7 months ago (2012-05-04 23:01:58 UTC) #3
Thanks!

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
File runtime/vm/code_generator.cc (right):

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator.cc:382: const AbstractTypeArguments&
instantiator_targs,
On 2012/05/04 21:53:39, regis wrote:
> "targs" sounds like "targets".
> I have always tried to spell out "instantiator_type_arguments", even if it
> causes more indentation. I find it clearer to read. But I think I have also
used
> just "instantiator".

Using instantiator_type_arguments.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator.cc:433: TypeArguments& new_type_arguments =
On 2012/05/04 21:53:39, regis wrote:
> I think you can simply call new_type_arguments =
>
type_arguments.uninstantiated_type_arguments().InstantiateFrom(type_arguments.instantiator_type_arguments())
> with the proper casting and proper use of handles.

Thanks, very nice!

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator.cc:484: AbstractTypeArguments& instantiator_targs =
On 2012/05/04 21:53:39, regis wrote:
> instantiator_type_arguments?

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator.cc:587: const AbstractTypeArguments&
instantiator_targs =
On 2012/05/04 21:53:39, regis wrote:
> instantiator_type_arguments?

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator.cc:644: const AbstractTypeArguments&
dst_instantiator_targs =
On 2012/05/04 21:53:39, regis wrote:
> instantiator_type_arguments?
> You can drop dst_

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
File runtime/vm/code_generator_ia32.cc (right):

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_ia32.cc:797:
GenerateInstantiatorTypeArguments(node->token_index(), false);
On 2012/05/04 21:53:39, regis wrote:
> Document what false means.

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_ia32.cc:1383:
GenerateInstantiatorTypeArguments(token_index, true);
On 2012/05/04 21:53:39, regis wrote:
> Document what true means.

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_ia32.cc:1606:
GenerateInstantiatorTypeArguments(token_index, false);
On 2012/05/04 21:53:39, regis wrote:
> ditto

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_ia32.cc:1679:
GenerateInstantiatorTypeArguments(token_index, false);  // type arguments.
On 2012/05/04 21:53:39, regis wrote:
> ditto

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_ia32.cc:1795:
GenerateInstantiatorTypeArguments(token_index, true);
On 2012/05/04 21:53:39, regis wrote:
> ditto

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_ia32.cc:2474:
GenerateInstantiatorTypeArguments(token_index, false);
On 2012/05/04 21:53:39, regis wrote:
> Document false

Done.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
File runtime/vm/code_generator_x64.cc (right):

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_x64.cc:1295: __ pushq(raw_null);  // No type arguments
pushed (obsolete code).
On 2012/05/04 21:53:39, regis wrote:
> obsolete code? TODO?

Code goes away with your submit.

https://chromiumcodereview.appspot.com/10317026/diff/1007/runtime/vm/code_gen...
runtime/vm/code_generator_x64.cc:1519: __ pushq(raw_null);  // null instantiator
(obsolete code).
On 2012/05/04 21:53:39, regis wrote:
> ditto

Code is dead :-)!

Powered by Google App Engine
This is Rietveld 408576698