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

Issue 16799003: Support type arguments for allocation sinking in certain conditions. (Closed)

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

Description

Support type arguments for allocation sinking in certain conditions. The type arguments are treated like a normal field that is initialized with the type arguments passed to the allocation stub. This CL restricts the optimization to the case where no instantiator is passed (instantiator == kNoInstantiator). In this case the type arguments are either a constant or loaded from a field. Also: improve variable liveness analysis by pruning partially dead variables from the environment. At the beginning of each block, all variables that are _not_ in live-in are replaced with null. R=vegorov@google.com Committed: https://code.google.com/p/dart/source/detail?r=24459

Patch Set 1 #

Total comments: 7

Patch Set 2 : fix for variable liveness #

Patch Set 3 : rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -8 lines) Patch
M runtime/vm/flow_graph_optimizer.cc View 1 2 7 chunks +53 lines, -7 lines 0 comments Download
M tests/language/allocation_sinking_vm_test.dart View 1 2 3 chunks +19 lines, -1 line 0 comments Download

Messages

Total messages: 6 (0 generated)
Florian Schneider
7 years, 6 months ago (2013-06-12 13:03:29 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/16799003/diff/1/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/16799003/diff/1/runtime/vm/flow_graph_optimizer.cc#newcode4100 runtime/vm/flow_graph_optimizer.cc:4100: static bool HasSupportedArguments(AllocateObjectInstr* alloc) { The name is ...
7 years, 6 months ago (2013-06-12 13:26:17 UTC) #2
srdjan
DBC https://codereview.chromium.org/16799003/diff/1/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/16799003/diff/1/runtime/vm/flow_graph_optimizer.cc#newcode4101 runtime/vm/flow_graph_optimizer.cc:4101: if (alloc->ArgumentCount() == 0) return true; What Slava ...
7 years, 6 months ago (2013-06-12 16:22:07 UTC) #3
Florian Schneider
I'm waiting before landing this since there is still a bug (possibly something else revealed ...
7 years, 6 months ago (2013-06-13 14:38:39 UTC) #4
Florian Schneider
New version uploaded. https://codereview.chromium.org/16799003/diff/1/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/16799003/diff/1/runtime/vm/flow_graph_optimizer.cc#newcode4277 runtime/vm/flow_graph_optimizer.cc:4277: const Class& cls = Class::Handle(alloc->constructor().Owner()); On ...
7 years, 6 months ago (2013-06-20 14:06:26 UTC) #5
Florian Schneider
7 years, 6 months ago (2013-06-26 09:21:50 UTC) #6
Message was sent while issue was closed.
Committed patchset #3 manually as r24459 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698