summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/CompilerCodegen.h
diff options
context:
space:
mode:
authorBill Buzbee <buzbee@google.com>2009-09-23 17:17:35 -0700
committerBill Buzbee <buzbee@google.com>2009-10-30 14:33:08 -0700
commit1465db5ee2d3c4c4dcc8e017a294172e858765cb (patch)
tree618d010f0001f74ce4ad7f5664c1cf7d0a37aa1c /vm/compiler/codegen/CompilerCodegen.h
parent113154c2cf1c09894c4426d30e37f03dd6fe4785 (diff)
downloadandroid_dalvik-1465db5ee2d3c4c4dcc8e017a294172e858765cb.tar.gz
android_dalvik-1465db5ee2d3c4c4dcc8e017a294172e858765cb.tar.bz2
android_dalvik-1465db5ee2d3c4c4dcc8e017a294172e858765cb.zip
Major registor allocation rework - stage 1.
Direct usage of registers abstracted out. Live values tracked locally. Redundant loads and stores suppressed. Address of registers and register pairs unified w/ single "location" mechanism Register types inferred using existing dataflow analysis pass. Interim (i.e. Hack) mechanism for storing register liveness info. Rewrite TBD. Stubbed-out code for linear scan allocation (for loop and long traces) Moved optimistic lock check for monitor-enter/exit inline for Thumb2 Minor restructuring, renaming and general cleanup of codegen Renaming of enums to follow coding convention Formatting fixes introduced by the enum renaming Rewrite of RallocUtil.c and addition of linear scan to come in stage 2.
Diffstat (limited to 'vm/compiler/codegen/CompilerCodegen.h')
-rw-r--r--vm/compiler/codegen/CompilerCodegen.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/vm/compiler/codegen/CompilerCodegen.h b/vm/compiler/codegen/CompilerCodegen.h
index 28e13a5b1..8f138a699 100644
--- a/vm/compiler/codegen/CompilerCodegen.h
+++ b/vm/compiler/codegen/CompilerCodegen.h
@@ -36,6 +36,12 @@ void* dvmJitChain(void *tgtAddr, u4* branchAddr);
u4* dvmJitUnchain(void *codeAddr);
void dvmJitUnchainAll(void);
+/* Implemented in codegen/<target>/Ralloc.c */
+void dvmCompilerRegAlloc(CompilationUnit *cUnit);
+
+/* Implemented in codegen/<target>/Thumb<version>Util.c */
+void dvmCompilerInitializeRegAlloc(CompilationUnit *cUnit);
+
/* Implemented in codegen/<target>/<target_variant>/ArchVariant.c */
JitInstructionSetType dvmCompilerInstructionSet(CompilationUnit *cUnit);