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 --- compiler/dex/compiler_ir.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler/dex/compiler_ir.h') diff --git a/compiler/dex/compiler_ir.h b/compiler/dex/compiler_ir.h index dceea240fa..d28df1dcce 100644 --- a/compiler/dex/compiler_ir.h +++ b/compiler/dex/compiler_ir.h @@ -21,6 +21,7 @@ #include #include +#include "arch/instruction_set.h" #include "base/arena_allocator.h" #include "base/scoped_arena_allocator.h" #include "base/timing_logger.h" @@ -31,6 +32,7 @@ namespace art { class ClassLinker; class CompilerDriver; +class DexFile; class Mir2Lir; class MIRGraph; -- cgit v1.2.3-59-g8ed1b