diff options
author | Ben Cheng <bccheng@android.com> | 2011-03-22 14:09:09 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@android.com> | 2011-03-31 13:19:19 -0700 |
commit | 32115a971ea00ab2421fab4e4a3afa6c50c82173 (patch) | |
tree | 46a022082ba16b413c4978d2d1014b0623a82492 /vm/compiler/Utility.c | |
parent | 9220113edce56372d613f7aba006513ae85a99bc (diff) | |
download | android_dalvik-32115a971ea00ab2421fab4e4a3afa6c50c82173.tar.gz android_dalvik-32115a971ea00ab2421fab4e4a3afa6c50c82173.tar.bz2 android_dalvik-32115a971ea00ab2421fab4e4a3afa6c50c82173.zip |
Generate code for loops formed with the new builder
Adapt the existing counted loop analysis and range/null check
elimination code to work with the new loop building heuristics.
Cleaned up the old ad-hoc loop builder.
Suspend polling is enabled by default for loops. The backward chaining
cell will be used in self-verification and profiling mode.
If the loop includes accesses to resolved fields/classes, abort code
generation for now and revert to the basic acyclic trace. Added
tests/090-loop-formation to make sure the JIT won't choke on such
instructions.
Change-Id: Idbc57df0a745be3b692f68c1acb6d4861c537f75
Diffstat (limited to 'vm/compiler/Utility.c')
-rw-r--r-- | vm/compiler/Utility.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/vm/compiler/Utility.c b/vm/compiler/Utility.c index fb16388cb..2599e0a03 100644 --- a/vm/compiler/Utility.c +++ b/vm/compiler/Utility.c @@ -165,11 +165,9 @@ void dvmCompilerDumpCompilationUnit(CompilationUnit *cUnit) "Backward Branch", "Chaining Cell Gap", "N/A", - "Method Entry Block", - "Trace Entry Block", + "Entry Block", "Code Block", - "Trace Exit Block", - "Method Exit Block", + "Exit Block", "PC Reconstruction", "Exception Handling", }; @@ -389,10 +387,10 @@ void dvmDumpBlockBitVector(const GrowableList *blocks, char *msg, void dvmGetBlockName(BasicBlock *bb, char *name) { switch (bb->blockType) { - case kMethodEntryBlock: + case kEntryBlock: snprintf(name, BLOCK_NAME_LEN, "entry"); break; - case kMethodExitBlock: + case kExitBlock: snprintf(name, BLOCK_NAME_LEN, "exit"); break; case kDalvikByteCode: |