summaryrefslogtreecommitdiffstats
path: root/runtime/signal_catcher.cc
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 15:59:02 +0100
commit80afd02024d20e60b197d3adfbb43cc303cf29e0 (patch)
treeef054c7b4f2a739f7cf063e0bc4c501c2c7e41b5 /runtime/signal_catcher.cc
parent559b178e34c5d92e7932f92e5d8a981ac334606f (diff)
downloadart-80afd02024d20e60b197d3adfbb43cc303cf29e0.tar.gz
art-80afd02024d20e60b197d3adfbb43cc303cf29e0.tar.bz2
art-80afd02024d20e60b197d3adfbb43cc303cf29e0.zip
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 'runtime/signal_catcher.cc')
-rw-r--r--runtime/signal_catcher.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/signal_catcher.cc b/runtime/signal_catcher.cc
index 863d59bd66..9f8c55c980 100644
--- a/runtime/signal_catcher.cc
+++ b/runtime/signal_catcher.cc
@@ -28,6 +28,7 @@
#include <sstream>
#include "arch/instruction_set.h"
+#include "base/time_utils.h"
#include "base/unix_file/fd_file.h"
#include "class_linker.h"
#include "gc/heap.h"