diff options
Diffstat (limited to 'vm/compiler/codegen/CompilerCodegen.h')
| -rw-r--r-- | vm/compiler/codegen/CompilerCodegen.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/vm/compiler/codegen/CompilerCodegen.h b/vm/compiler/codegen/CompilerCodegen.h index c9e6bd6df..ff39cd408 100644 --- a/vm/compiler/codegen/CompilerCodegen.h +++ b/vm/compiler/codegen/CompilerCodegen.h @@ -14,11 +14,14 @@ * limitations under the License. */ -#include "../CompilerIR.h" - #ifndef _DALVIK_VM_COMPILERCODEGEN_H_ #define _DALVIK_VM_COMPILERCODEGEN_H_ +#include "compiler/CompilerIR.h" + +/* Maximal number of switch cases to have inline chains */ +#define MAX_CHAINED_SWITCH_CASES 64 + /* Work unit is architecture dependent */ bool dvmCompilerDoWork(CompilerWorkOrder *work); @@ -28,6 +31,9 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit); /* Assemble LIR into machine code */ void dvmCompilerAssembleLIR(CompilationUnit *cUnit, JitTranslationInfo *info); +/* Patch inline cache content for polymorphic callsites */ +bool dvmJitPatchInlineCache(void *cellPtr, void *contentPtr); + /* Implemented in the codegen/<target>/ArchUtility.c */ void dvmCompilerCodegenDump(CompilationUnit *cUnit); @@ -36,7 +42,19 @@ 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); +JitInstructionSetType dvmCompilerInstructionSet(void); + +/* + * Implemented in codegen/<target>/<target_variant>/ArchVariant.c + * Architecture-specific initializations and checks + */ +bool dvmCompilerArchVariantInit(void); #endif /* _DALVIK_VM_COMPILERCODEGEN_H_ */ |
