aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/CompilerCodegen.h
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2009-11-22 23:31:11 -0800
committerBen Cheng <bccheng@google.com>2009-11-22 23:31:11 -0800
commit5d90c20bd7903d7bba966b224e576bf137bf8b4b (patch)
tree0e83785f8132c4397aa9438325c1503e37a54b0e /vm/compiler/codegen/CompilerCodegen.h
parentec6029afbfb9aafec2b54b447dff7ddef81e49f5 (diff)
Restructure the codegen to make architectural depedency explicit.
The original Codegen.c is broken into three components: - CodegenCommon.c (arch-independend) - CodegenFactory.c (Thumb1/2 dependent) - CodegenDriver.c (Dalvik dependent) For the Thumb/Thumb2 directories, each contain the followin three files: - Factory.c (low-level routines for instruction selections) - Gen.c (invoke the ISA-specific instruction selection routines) - Ralloc.c (arch-dependent register pools) The FP directory contains FP-specific codegen routines depending on Thumb/Thumb2/VFP/PortableFP: - Thumb2VFP.c - ThumbVFP.c - ThumbPortableFP.c Then the hierarchy is formed by stacking these files in the following top-down order: 1 CodegenCommon.c 2 Thumb[2]/Factory.c 3 CodegenFactory.c 4 Thumb[2]/Gen.c 5 FP stuff 6 Thumb[2]/Ralloc.c 7 CodegenDriver.c
Diffstat (limited to 'vm/compiler/codegen/CompilerCodegen.h')
-rw-r--r--vm/compiler/codegen/CompilerCodegen.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/vm/compiler/codegen/CompilerCodegen.h b/vm/compiler/codegen/CompilerCodegen.h
index 75307a766..3e9718c6d 100644
--- a/vm/compiler/codegen/CompilerCodegen.h
+++ b/vm/compiler/codegen/CompilerCodegen.h
@@ -46,6 +46,12 @@ void dvmCompilerRegAlloc(CompilationUnit *cUnit);
void dvmCompilerInitializeRegAlloc(CompilationUnit *cUnit);
/* Implemented in codegen/<target>/<target_variant>/ArchVariant.c */
-JitInstructionSetType dvmCompilerInstructionSet(CompilationUnit *cUnit);
+JitInstructionSetType dvmCompilerInstructionSet(void);
+
+/*
+ * Implemented in codegen/<target>/<target_variant>/ArchVariant.c
+ * Architecture-specific initializations and checks
+ */
+bool dvmCompilerArchVariantInit(void);
#endif /* _DALVIK_VM_COMPILERCODEGEN_H_ */