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

Issue 11092102: Avoid rediscovering blocks on each call to FlowGraph::InlineCall. (Closed)

Created:
8 years, 2 months ago by zerny-google
Modified:
8 years, 2 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Avoid rediscovering blocks on each call to FlowGraph::InlineCall. R=kmillikin@google.com Committed: https://code.google.com/p/dart/source/detail?r=13922

Patch Set 1 #

Patch Set 2 : #

Total comments: 20

Patch Set 3 : Update for review comments. #

Total comments: 2

Patch Set 4 : Unfold loop and fix termination error. #

Total comments: 3

Patch Set 5 : comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+118 lines, -48 lines) Patch
M runtime/vm/flow_graph.h View 1 2 3 4 3 chunks +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph.cc View 1 2 3 4 6 chunks +111 lines, -48 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
zerny-google
Looks like this removed DiscoverBlocks from the top of perf (was at 0.67% when pref'ing ...
8 years, 2 months ago (2012-10-12 11:52:05 UTC) #1
Kevin Millikin (Google)
Good job on getting rid of the block discovery overhead. Here's my initial round of ...
8 years, 2 months ago (2012-10-22 09:10:37 UTC) #2
zerny-google
Thanks for the review. This CL should address your comments and I have a question ...
8 years, 2 months ago (2012-10-22 13:21:30 UTC) #3
Kevin Millikin (Google)
LGTM with the bugfix noted below. http://codereview.chromium.org/11092102/diff/7001/runtime/vm/flow_graph.cc File runtime/vm/flow_graph.cc (right): http://codereview.chromium.org/11092102/diff/7001/runtime/vm/flow_graph.cc#newcode733 runtime/vm/flow_graph.cc:733: void FlowGraph::ReplaceBlock(BlockEntryInstr* old_block, ...
8 years, 2 months ago (2012-10-22 14:13:10 UTC) #4
srdjan
8 years, 2 months ago (2012-10-24 15:10:23 UTC) #5
dbc

https://codereview.chromium.org/11092102/diff/14001/runtime/vm/flow_graph.cc
File runtime/vm/flow_graph.cc (right):

https://codereview.chromium.org/11092102/diff/14001/runtime/vm/flow_graph.cc#...
runtime/vm/flow_graph.cc:751: intptr_t pred_count = join->PredecessorCount();
const intptr_t old_index (and pred_count). The code is easier to understand that
way.

https://codereview.chromium.org/11092102/diff/14001/runtime/vm/flow_graph.cc#...
runtime/vm/flow_graph.cc:755: intptr_t new_id = new_block->block_id();
ditto for newid

https://codereview.chromium.org/11092102/diff/14001/runtime/vm/flow_graph.cc#...
runtime/vm/flow_graph.cc:757: if (old_block->block_id() < new_id) {
Add a comment that you expect the blocks to be sorted by id in the list of
predecessors_ (where are we checking/doing that?)

Powered by Google App Engine
This is Rietveld 408576698