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

Issue 163683006: Simplify generated code for object allocation with type arguments. (Closed)

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

Description

Simplify generated code for object allocation with type arguments. The motivation for the change is to make allocation sinking more general when type arguments are in play. As a result I cleaned up the code dealing with constructor type arguments as follows: * Remove ExtractConstructorTypeArguments and ExtractConstructorInstantiator from the intermediate language. * The allocation stub takes now 1 argument (instead of 2) for parameterized classes. * The allocation stub always get an instantiated type arguments object as input. It does not need to do a lookup in the instantiations array anymore. * The code for looking up cached instantiated type arguments is moved to the InstantiateTypeArguments instruction. This instruction is now also used for object allocation. I'm not sure how relevant the cache lookup is performance-wise. dart2js compilation did not show any regression without it. R=regis@google.com Committed: https://code.google.com/p/dart/source/detail?r=32697

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 15

Patch Set 4 : addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+182 lines, -768 lines) Patch
M runtime/vm/code_generator.cc View 1 2 3 3 chunks +26 lines, -46 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 1 chunk +0 lines, -8 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 3 chunks +12 lines, -79 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 7 chunks +4 lines, -52 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 chunk +0 lines, -8 lines 0 comments Download
M runtime/vm/intermediate_language.h View 4 chunks +3 lines, -75 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 3 chunks +24 lines, -82 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 3 chunks +26 lines, -84 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 3 chunks +22 lines, -80 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 3 chunks +27 lines, -81 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 3 4 chunks +10 lines, -43 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 3 4 chunks +4 lines, -40 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 3 5 chunks +14 lines, -50 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 3 3 chunks +4 lines, -40 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Florian Schneider
6 years, 10 months ago (2014-02-13 17:03:11 UTC) #1
regis
LGTM https://codereview.chromium.org/163683006/diff/120001/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (left): https://codereview.chromium.org/163683006/diff/120001/runtime/vm/code_generator.cc#oldcode136 runtime/vm/code_generator.cc:136: // the instantiator. Preserve this comment about the ...
6 years, 10 months ago (2014-02-13 19:07:49 UTC) #2
Florian Schneider
https://codereview.chromium.org/163683006/diff/120001/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (left): https://codereview.chromium.org/163683006/diff/120001/runtime/vm/code_generator.cc#oldcode136 runtime/vm/code_generator.cc:136: // the instantiator. On 2014/02/13 19:07:50, regis wrote: > ...
6 years, 10 months ago (2014-02-14 11:36:34 UTC) #3
Florian Schneider
6 years, 10 months ago (2014-02-14 13:03:47 UTC) #4
Message was sent while issue was closed.
Committed patchset #4 manually as r32697 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698