summaryrefslogtreecommitdiffstats
path: root/compiler/dex/type_inference.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-05-19 18:08:00 +0100
committerVladimir Marko <vmarko@google.com>2015-05-26 19:33:33 +0100
commit41b175aba41c9365a1c53b8a1afbd17129c87c14 (patch)
tree5c82606d39543fb932ddc0674694fc0758b1a866 /compiler/dex/type_inference.h
parent54d65738eecc1fa79ed528ff2f6b9b4f7a4743be (diff)
downloadart-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/dex/type_inference.h')
-rw-r--r--compiler/dex/type_inference.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/dex/type_inference.h b/compiler/dex/type_inference.h
index c9b29bf..85f79af 100644
--- a/compiler/dex/type_inference.h
+++ b/compiler/dex/type_inference.h
@@ -17,6 +17,7 @@
#ifndef ART_COMPILER_DEX_TYPE_INFERENCE_H_
#define ART_COMPILER_DEX_TYPE_INFERENCE_H_
+#include "base/bit_utils.h"
#include "base/logging.h"
#include "base/arena_object.h"
#include "base/scoped_arena_containers.h"