diff options
author | Vladimir Marko <vmarko@google.com> | 2015-05-19 18:08:00 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2015-05-26 19:33:33 +0100 |
commit | 41b175aba41c9365a1c53b8a1afbd17129c87c14 (patch) | |
tree | 5c82606d39543fb932ddc0674694fc0758b1a866 /compiler/driver | |
parent | 54d65738eecc1fa79ed528ff2f6b9b4f7a4743be (diff) | |
download | art-41b175aba41c9365a1c53b8a1afbd17129c87c14.zip art-41b175aba41c9365a1c53b8a1afbd17129c87c14.tar.gz art-41b175aba41c9365a1c53b8a1afbd17129c87c14.tar.bz2 |
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
(cherry picked from commit 80afd02024d20e60b197d3adfbb43cc303cf29e0)
Change-Id: I905257a21de90b5860ebe1e39563758f721eab82
Diffstat (limited to 'compiler/driver')
-rw-r--r-- | compiler/driver/compiler_driver.cc | 1 | ||||
-rw-r--r-- | compiler/driver/compiler_driver.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 47288b5..7cc5aae 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -29,6 +29,7 @@ #include "art_field-inl.h" #include "base/stl_util.h" +#include "base/time_utils.h" #include "base/timing_logger.h" #include "class_linker-inl.h" #include "compiled_class.h" diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index 2b0985a..2cc2409 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -24,6 +24,7 @@ #include "arch/instruction_set.h" #include "base/arena_allocator.h" +#include "base/bit_utils.h" #include "base/mutex.h" #include "base/timing_logger.h" #include "class_reference.h" @@ -41,7 +42,6 @@ #include "utils/dedupe_set.h" #include "utils/dex_cache_arrays_layout.h" #include "utils/swap_space.h" -#include "utils.h" namespace art { |