aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorBen Cheng <bccheng@android.com>2010-02-24 20:58:44 -0800
committerBen Cheng <bccheng@android.com>2010-02-25 23:48:38 -0800
commit40094c16d9727cc1e047a7d4bddffe04dd566211 (patch)
treef7474e76fa4fa24bd8be6ac655ff361ecf941d16 /vm/compiler/codegen/arm/CodegenDriver.c
parente84bea92791b9c0edaa9ad04099c43ebf4ab9670 (diff)
Tweak the interpreter entries and 2nd level trace filter to capture more traces.
Real changes: 1) Add a new entry point from JIT to the interpreter to request hot traces w/o doing chaining. 2) Increase the granularity of the secondary profile filter to match 64-byte chunks using 64 entries. The remaining are just cosmetic changes.
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index d3b10a45e..a6aafd126 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -3094,7 +3094,7 @@ static void handleHotChainingCell(CompilationUnit *cUnit,
unsigned int offset)
{
loadWordDisp(cUnit, rGLUE, offsetof(InterpState,
- jitToInterpEntries.dvmJitToTraceSelect), r0);
+ jitToInterpEntries.dvmJitToInterpTraceSelect), r0);
opReg(cUnit, kOpBlx, r0);
addWordData(cUnit, (int) (cUnit->method->insns + offset), true);
}
@@ -3106,7 +3106,8 @@ static void handleBackwardBranchChainingCell(CompilationUnit *cUnit,
{
#if defined(WITH_SELF_VERIFICATION)
newLIR3(cUnit, kThumbLdrRRI5, r0, rGLUE,
- offsetof(InterpState, jitToInterpEntries.dvmJitToBackwardBranch) >> 2);
+ offsetof(InterpState,
+ jitToInterpEntries.dvmJitToInterpBackwardBranch) >> 2);
#else
newLIR3(cUnit, kThumbLdrRRI5, r0, rGLUE,
offsetof(InterpState, jitToInterpEntries.dvmJitToInterpNormal) >> 2);
@@ -3121,7 +3122,7 @@ static void handleInvokeSingletonChainingCell(CompilationUnit *cUnit,
const Method *callee)
{
loadWordDisp(cUnit, rGLUE, offsetof(InterpState,
- jitToInterpEntries.dvmJitToTraceSelect), r0);
+ jitToInterpEntries.dvmJitToInterpTraceSelect), r0);
opReg(cUnit, kOpBlx, r0);
addWordData(cUnit, (int) (callee->insns), true);
}