diff options
Diffstat (limited to 'vm/compiler/CompilerUtility.h')
-rw-r--r-- | vm/compiler/CompilerUtility.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/vm/compiler/CompilerUtility.h b/vm/compiler/CompilerUtility.h index 551edb8ab..3e65a2eb0 100644 --- a/vm/compiler/CompilerUtility.h +++ b/vm/compiler/CompilerUtility.h @@ -39,19 +39,41 @@ void dvmCompilerArenaReset(void); typedef struct GrowableList { size_t numAllocated; size_t numUsed; - void **elemList; + intptr_t *elemList; } GrowableList; +typedef struct GrowableListIterator { + GrowableList *list; + size_t idx; + size_t size; +} GrowableListIterator; + #define GET_ELEM_N(LIST, TYPE, N) (((TYPE*) LIST->elemList)[N]) +#define BLOCK_NAME_LEN 80 + +/* Forward declarations */ struct LIR; +struct BasicBlock; void dvmInitGrowableList(GrowableList *gList, size_t initLength); -void dvmInsertGrowableList(GrowableList *gList, void *elem); +void dvmInsertGrowableList(GrowableList *gList, intptr_t elem); +void dvmGrowableListIteratorInit(GrowableList *gList, + GrowableListIterator *iterator); +intptr_t dvmGrowableListIteratorNext(GrowableListIterator *iterator); +intptr_t dvmGrowableListGetElement(const GrowableList *gList, size_t idx); + BitVector* dvmCompilerAllocBitVector(int startBits, bool expandable); bool dvmCompilerSetBit(BitVector* pBits, int num); +bool dvmCompilerClearBit(BitVector* pBits, int num); +void dvmCompilerMarkAllBits(BitVector *pBits, bool set); void dvmDebugBitVector(char *msg, const BitVector *bv, int length); void dvmDumpLIRInsn(struct LIR *lir, unsigned char *baseAddr); void dvmDumpResourceMask(struct LIR *lir, u8 mask, const char *prefix); +void dvmDumpBlockBitVector(const GrowableList *blocks, char *msg, + const BitVector *bv, int length); +void dvmGetBlockName(struct BasicBlock *bb, char *name); +int dvmCompilerCacheFlush(long start, long end, long flags); + #endif /* _DALVIK_COMPILER_UTILITY */ |