diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-02 08:46:00 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-07 10:32:11 +0100 |
commit | 804d09372cc3d80d537da1489da4a45e0e19aa5d (patch) | |
tree | b226350fdf3dc0c55a11e1615010c8475f167f90 /runtime/base/bit_vector.h | |
parent | 0095e0b8380a8802f40a21928800b9df6e11f1d7 (diff) | |
download | android_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.h | 7 |
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_; }; |