summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorMingyao Yang <mingyao@google.com>2015-04-13 16:46:28 -0700
committerMingyao Yang <mingyao@google.com>2015-04-26 10:47:01 -0700
commit206d6fd6cae5ba8c4d5f0e230111fe77b9d5c0a5 (patch)
tree0684e7dd7ca2768991a839a5ddbe78f20bf1e4bf /compiler/optimizing/graph_visualizer.cc
parent76f1413492c228bfa710e1eaa4c60370eaffbb8a (diff)
Deoptimization-based BCE for unknown loop bounds.
For loop like: for (int i = start; i < end; i++) { array[i] = 1; } We add the following to the loop pre-header: if (start < 0) deoptimize(); if (end > array.length) deoptimize(); Then we can eliminate bounds-check of array[i] inside the loop. We also take care of indexing with induction variable plus some offsets, like array[i - 1]/array[i + 1] inside the loop, and adjust the condition for deoptimization accordingly. Change-Id: I9e24c6b5e134ff95eff5b5605ff8f95d6546616f
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions