diff options
author | Vladimir Marko <vmarko@google.com> | 2014-01-17 17:49:33 +0000 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2014-03-17 14:27:16 +0000 |
commit | bfea9c29e809e04bde4a46591fea64c5a7b922fb (patch) | |
tree | 8c50357e0de293f105affd95941acc08ac33cd04 /compiler/utils/arena_bit_vector.h | |
parent | 341a84af890a328a6c8f719beb3f670dd1a369b4 (diff) | |
download | art-bfea9c29e809e04bde4a46591fea64c5a7b922fb.zip art-bfea9c29e809e04bde4a46591fea64c5a7b922fb.tar.gz art-bfea9c29e809e04bde4a46591fea64c5a7b922fb.tar.bz2 |
Class initialization check elimination.
Also, move null check elimination temporaries to the
ScopedArenaAllocator and reuse the same variables in the
class initialization check elimination.
Change-Id: Ic746f95427065506fa6016d4931e4cb8b34937af
Diffstat (limited to 'compiler/utils/arena_bit_vector.h')
-rw-r--r-- | compiler/utils/arena_bit_vector.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/utils/arena_bit_vector.h b/compiler/utils/arena_bit_vector.h index 1a3d6a3..485ed76 100644 --- a/compiler/utils/arena_bit_vector.h +++ b/compiler/utils/arena_bit_vector.h @@ -19,6 +19,7 @@ #include "base/bit_vector.h" #include "utils/arena_allocator.h" +#include "utils/scoped_arena_allocator.h" namespace art { @@ -38,6 +39,7 @@ enum OatBitMapKind { kBitMapRegisterV, kBitMapTempSSARegisterV, kBitMapNullCheck, + kBitMapClInitCheck, kBitMapTmpBlockV, kBitMapPredecessors, kNumBitMapKinds @@ -52,11 +54,16 @@ class ArenaBitVector : public BitVector { public: ArenaBitVector(ArenaAllocator* arena, uint32_t start_bits, bool expandable, OatBitMapKind kind = kBitMapMisc); + ArenaBitVector(ScopedArenaAllocator* arena, uint32_t start_bits, bool expandable, + OatBitMapKind kind = kBitMapMisc); ~ArenaBitVector() {} static void* operator new(size_t size, ArenaAllocator* arena) { return arena->Alloc(sizeof(ArenaBitVector), kArenaAllocGrowableBitMap); } + static void* operator new(size_t size, ScopedArenaAllocator* arena) { + return arena->Alloc(sizeof(ArenaBitVector), kArenaAllocGrowableBitMap); + } static void operator delete(void* p) {} // Nop. private: |