diff options
| author | Ben Cheng <bccheng@android.com> | 2011-01-14 11:14:08 -0800 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2011-01-14 11:14:08 -0800 |
| commit | 4b8b0fb2411cf2caffb54ce2b4e20b5eac4f9da3 (patch) | |
| tree | e7d97bb96dc507e9aa6dfc1185b1f673a51e6292 /vm/compiler/codegen/arm/CodegenDriver.c | |
| parent | 43e680a8799a8c27153545df51c759d672eb261e (diff) | |
| parent | 45e9a9908f8874b64294dbd3e4dcfb6b76c4b6e3 (diff) | |
am 45e9a990: am 80211d2b: Only generate debugging LIRs in verbose mode.
* commit '45e9a9908f8874b64294dbd3e4dcfb6b76c4b6e3':
Only generate debugging LIRs in verbose mode.
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.c')
| -rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.c | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c index 36fa5dc67..236482f39 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.c +++ b/vm/compiler/codegen/arm/CodegenDriver.c @@ -4130,21 +4130,30 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) note = NULL; } - ArmLIR *boundaryLIR = - newLIR2(cUnit, kArmPseudoDalvikByteCodeBoundary, - mir->offset, - (int) dvmCompilerGetDalvikDisassembly(&mir->dalvikInsn, - note)); - if (mir->ssaRep) { - char *ssaString = dvmCompilerGetSSAString(cUnit, mir->ssaRep); - newLIR1(cUnit, kArmPseudoSSARep, (int) ssaString); + ArmLIR *boundaryLIR; + + /* + * Don't generate the boundary LIR unless we are debugging this + * trace or we need a scheduling barrier. + */ + if (headLIR == NULL || cUnit->printMe == true) { + boundaryLIR = + newLIR2(cUnit, kArmPseudoDalvikByteCodeBoundary, + mir->offset, + (int) dvmCompilerGetDalvikDisassembly( + &mir->dalvikInsn, note)); + /* Remember the first LIR for this block */ + if (headLIR == NULL) { + headLIR = boundaryLIR; + /* Set the first boundaryLIR as a scheduling barrier */ + headLIR->defMask = ENCODE_ALL; + } } - /* Remember the first LIR for this block */ - if (headLIR == NULL) { - headLIR = boundaryLIR; - /* Set the first boundaryLIR as a scheduling barrier */ - headLIR->defMask = ENCODE_ALL; + /* Don't generate the SSA annotation unless verbose mode is on */ + if (cUnit->printMe && mir->ssaRep) { + char *ssaString = dvmCompilerGetSSAString(cUnit, mir->ssaRep); + newLIR1(cUnit, kArmPseudoSSARep, (int) ssaString); } bool notHandled; |
