summaryrefslogtreecommitdiff
path: root/src/compiler/dex/compiler_enums.h
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2013-04-12 14:39:29 -0700
committer buzbee <buzbee@google.com> 2013-05-13 12:34:28 -0700
commita5abf7091711eed1e9f1d0e1538fe9963ebdf31c (patch)
treee256df83ca632744d144854403a326d90cb683a7 /src/compiler/dex/compiler_enums.h
parentbf47e5f28b1aa39748dce8ac5abbabca1baee093 (diff)
Compiler: replace DOM traversal computation
Originally the old trace JIT used a few recursive graph walking algorithms - which was perfectly reasonable given that the graph size was capped at a few dozen nodes at most. These were replaced with iterative walk order computations - or at least I thought they all were. Missed one of them, which caused a stack overflow on a pathologically large method compilation. Renaming of some arena_allocator items for consistency and clarity. More detailed memory usage logging. Reworked the allocator to waste less space when an allocation doesn't fit and a new block must be allocated. Change-Id: I4d84dded3c47819eefa0de90ebb821dd12eb8be8
Diffstat (limited to 'src/compiler/dex/compiler_enums.h')
-rw-r--r--src/compiler/dex/compiler_enums.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/compiler/dex/compiler_enums.h b/src/compiler/dex/compiler_enums.h
index 71d7d6563d..bc456b2e70 100644
--- a/src/compiler/dex/compiler_enums.h
+++ b/src/compiler/dex/compiler_enums.h
@@ -387,7 +387,30 @@ enum SelectInstructionKind {
kSelectGoto
};
-std::ostream& operator<<(std::ostream& os, const OpFeatureFlags& flag);
+std::ostream& operator<<(std::ostream& os, const SelectInstructionKind& kind);
+
+// Type of growable bitmap for memory tuning.
+enum OatBitMapKind {
+ kBitMapMisc = 0,
+ kBitMapUse,
+ kBitMapDef,
+ kBitMapLiveIn,
+ kBitMapBMatrix,
+ kBitMapDominators,
+ kBitMapIDominated,
+ kBitMapDomFrontier,
+ kBitMapPhi,
+ kBitMapTmpBlocks,
+ kBitMapInputBlocks,
+ kBitMapRegisterV,
+ kBitMapTempSSARegisterV,
+ kBitMapNullCheck,
+ kBitMapTmpBlockV,
+ kBitMapPredecessors,
+ kNumBitMapKinds
+};
+
+std::ostream& operator<<(std::ostream& os, const OatBitMapKind& kind);
} // namespace art