summaryrefslogtreecommitdiffstats
path: root/runtime/base/bit_vector.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-05-02 08:46:00 +0100
committerNicolas Geoffray <ngeoffray@google.com>2014-05-07 10:32:11 +0100
commit804d09372cc3d80d537da1489da4a45e0e19aa5d (patch)
treeb226350fdf3dc0c55a11e1615010c8475f167f90 /runtime/base/bit_vector.h
parent0095e0b8380a8802f40a21928800b9df6e11f1d7 (diff)
downloadandroid_art-804d09372cc3d80d537da1489da4a45e0e19aa5d.tar.gz
android_art-804d09372cc3d80d537da1489da4a45e0e19aa5d.tar.bz2
android_art-804d09372cc3d80d537da1489da4a45e0e19aa5d.zip
Build live-in, live-out and kill sets for each block.
This information will be used when computing live ranges of instructions. Change-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74
Diffstat (limited to 'runtime/base/bit_vector.h')
-rw-r--r--runtime/base/bit_vector.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/base/bit_vector.h b/runtime/base/bit_vector.h
index db29c4969e..6ee6b00e07 100644
--- a/runtime/base/bit_vector.h
+++ b/runtime/base/bit_vector.h
@@ -103,7 +103,11 @@ class BitVector {
void Copy(const BitVector* src);
void Intersect(const BitVector* src2);
- void Union(const BitVector* src);
+ bool Union(const BitVector* src);
+
+ // Set bits of union_with that are not in not_in.
+ bool UnionIfNotIn(const BitVector* union_with, const BitVector* not_in);
+
void Subtract(const BitVector* src);
// Are we equal to another bit vector? Note: expandability attributes must also match.
bool Equal(const BitVector* src) {
@@ -155,6 +159,7 @@ class BitVector {
const bool expandable_; // expand bitmap if we run out?
uint32_t storage_size_; // current size, in 32-bit words.
uint32_t* storage_;
+ uint32_t number_of_bits_;
};