summaryrefslogtreecommitdiffstats
path: root/vm/compiler/Utility.c
diff options
context:
space:
mode:
authorBen Cheng <bccheng@android.com>2011-03-22 14:09:09 -0700
committerBen Cheng <bccheng@android.com>2011-03-31 13:19:19 -0700
commit32115a971ea00ab2421fab4e4a3afa6c50c82173 (patch)
tree46a022082ba16b413c4978d2d1014b0623a82492 /vm/compiler/Utility.c
parent9220113edce56372d613f7aba006513ae85a99bc (diff)
downloadandroid_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.c10
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: