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

Issue 28633003: Fix bugs in load elimination and type propagation. (Closed)

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

Description

Fix bugs in load elimination and type propagation. Load elimination should consider the representation of loads/stores when numbering places. Different representations result now in different places so that there can't be mixed representations at phis after load elimination. Removed the flag --propagate-types because type propagation is required for correctness of smi-check hoisting. Therefore, switching it off does not make sense anymore. BUG=https://code.google.com/p/dart/issues/detail?id=6663, https://code.google.com/p/dart/issues/detail?id=14271 R=kmillikin@google.com Committed: https://code.google.com/p/dart/source/detail?r=28931

Patch Set 1 #

Patch Set 2 : #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -36 lines) Patch
M runtime/vm/compiler.cc View 6 chunks +13 lines, -33 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 10 chunks +28 lines, -2 lines 1 comment Download
M runtime/vm/flow_graph_type_propagator.h View 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 chunk +7 lines, -0 lines 2 comments Download
M tests/language/vm/load_to_load_forwarding_vm_test.dart View 1 2 chunks +23 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Florian Schneider
7 years, 2 months ago (2013-10-21 12:40:28 UTC) #1
Kevin Millikin (Google)
LGTM, with one comment. https://codereview.chromium.org/28633003/diff/70001/runtime/vm/flow_graph_type_propagator.cc File runtime/vm/flow_graph_type_propagator.cc (right): https://codereview.chromium.org/28633003/diff/70001/runtime/vm/flow_graph_type_propagator.cc#newcode24 runtime/vm/flow_graph_type_propagator.cc:24: DEBUG_ASSERT(flow_graph->VerifyUseLists()); Except for a couple ...
7 years, 2 months ago (2013-10-21 13:05:23 UTC) #2
Florian Schneider
https://codereview.chromium.org/28633003/diff/70001/runtime/vm/flow_graph_type_propagator.cc File runtime/vm/flow_graph_type_propagator.cc (right): https://codereview.chromium.org/28633003/diff/70001/runtime/vm/flow_graph_type_propagator.cc#newcode24 runtime/vm/flow_graph_type_propagator.cc:24: DEBUG_ASSERT(flow_graph->VerifyUseLists()); On 2013/10/21 13:05:23, kmillikin wrote: > Except for ...
7 years, 2 months ago (2013-10-21 13:30:04 UTC) #3
Florian Schneider
Committed patchset #2 manually as r28931 (presubmit successful).
7 years, 2 months ago (2013-10-21 14:00:03 UTC) #4
srdjan
7 years, 2 months ago (2013-10-21 17:42:34 UTC) #5
Message was sent while issue was closed.
https://codereview.chromium.org/28633003/diff/70001/runtime/vm/flow_graph_opt...
File runtime/vm/flow_graph_optimizer.cc (right):

https://codereview.chromium.org/28633003/diff/70001/runtime/vm/flow_graph_opt...
runtime/vm/flow_graph_optimizer.cc:4165: representation_ =
store_instance_field->RequiredInputRepresentation(1);
Please factor repeated use of 0, 1 and 2 into constants.

Powered by Google App Engine
This is Rietveld 408576698