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

Issue 10911277: Optimize code for bound checks if array is constant. Skip unnecessary Smi checks if they still surv… (Closed)

Created:
8 years, 3 months ago by srdjan
Modified:
8 years, 3 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Optimize code for bound checks if array is constant. Skip unnecessary Smi checks if they still survived to code emission. Committed: https://code.google.com/p/dart/source/detail?r=12322

Patch Set 1 #

Patch Set 2 : #

Total comments: 4

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+57 lines, -15 lines) Patch
M runtime/vm/flow_graph_optimizer.cc View 1 2 1 chunk +13 lines, -8 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 4 chunks +18 lines, -3 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 4 chunks +18 lines, -2 lines 0 comments Download
M tests/language/optimized_lists.dart View 1 chunk +8 lines, -2 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
8 years, 3 months ago (2012-09-13 09:16:31 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/10911277/diff/2002/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/10911277/diff/2002/runtime/vm/flow_graph_optimizer.cc#newcode368 runtime/vm/flow_graph_optimizer.cc:368: if (!(array->BindsToConstant() && index->BindsToConstant())) { Please add todo ...
8 years, 3 months ago (2012-09-13 09:27:51 UTC) #2
srdjan
8 years, 3 months ago (2012-09-13 09:46:45 UTC) #3
https://codereview.chromium.org/10911277/diff/2002/runtime/vm/flow_graph_opti...
File runtime/vm/flow_graph_optimizer.cc (right):

https://codereview.chromium.org/10911277/diff/2002/runtime/vm/flow_graph_opti...
runtime/vm/flow_graph_optimizer.cc:368: if (!(array->BindsToConstant() &&
index->BindsToConstant())) {
On 2012/09/13 09:27:51, Vyacheslav Egorov (Google) wrote:
> Please add todo so that we remove it when constant propagation lands.

Done.

https://codereview.chromium.org/10911277/diff/2002/runtime/vm/intermediate_la...
File runtime/vm/intermediate_language_ia32.cc (right):

https://codereview.chromium.org/10911277/diff/2002/runtime/vm/intermediate_la...
runtime/vm/intermediate_language_ia32.cc:2207: if (value()->ResultCid() ==
kSmiCid) {
On 2012/09/13 09:27:51, Vyacheslav Egorov (Google) wrote:
> Maybe we should better reorder LICM and CSE?

I will try this in a separate CL (added a TODO here), since I would need to do a
thorough performance analysis.

Powered by Google App Engine
This is Rietveld 408576698