summaryrefslogtreecommitdiff
path: root/compiler/dex/local_value_numbering.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2015-05-19 18:08:00 +0100
committer Vladimir Marko <vmarko@google.com> 2015-05-26 15:59:02 +0100
commit80afd02024d20e60b197d3adfbb43cc303cf29e0 (patch)
treeef054c7b4f2a739f7cf063e0bc4c501c2c7e41b5 /compiler/dex/local_value_numbering.cc
parent559b178e34c5d92e7932f92e5d8a981ac334606f (diff)
ART: Clean up arm64 kNumberOfXRegisters usage.
Avoid undefined behavior for arm64 stemming from 1u << 32 in loops with upper bound kNumberOfXRegisters. Create iterators for enumerating bits in an integer either from high to low or from low to high and use them for <arch>Context::FillCalleeSaves() on all architectures. Refactor runtime/utils.{h,cc} by moving all bit-fiddling functions to runtime/base/bit_utils.{h,cc} (together with the new bit iterators) and all time-related functions to runtime/base/time_utils.{h,cc}. Improve test coverage and fix some corner cases for the bit-fiddling functions. Bug: 13925192 Change-Id: I704884dab15b41ecf7a1c47d397ab1c3fc7ee0f7
Diffstat (limited to 'compiler/dex/local_value_numbering.cc')
-rw-r--r--compiler/dex/local_value_numbering.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/dex/local_value_numbering.cc b/compiler/dex/local_value_numbering.cc
index cc9dbe4adb..38f7d1e712 100644
--- a/compiler/dex/local_value_numbering.cc
+++ b/compiler/dex/local_value_numbering.cc
@@ -16,9 +16,11 @@
#include "local_value_numbering.h"
+#include "base/bit_utils.h"
#include "global_value_numbering.h"
#include "mir_field_info.h"
#include "mir_graph.h"
+#include "utils.h"
namespace art {