From 41b175aba41c9365a1c53b8a1afbd17129c87c14 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Tue, 19 May 2015 18:08:00 +0100 Subject: 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 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 --- runtime/gc/heap-inl.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'runtime/gc/heap-inl.h') diff --git a/runtime/gc/heap-inl.h b/runtime/gc/heap-inl.h index fbf36e8..eb0e9be 100644 --- a/runtime/gc/heap-inl.h +++ b/runtime/gc/heap-inl.h @@ -19,6 +19,7 @@ #include "heap.h" +#include "base/time_utils.h" #include "debugger.h" #include "gc/accounting/card_table-inl.h" #include "gc/collector/semi_space.h" @@ -31,6 +32,7 @@ #include "handle_scope-inl.h" #include "thread.h" #include "thread-inl.h" +#include "utils.h" #include "verify_object-inl.h" namespace art { -- cgit v1.1