summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vm/compiler/codegen/arm/Assemble.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/vm/compiler/codegen/arm/Assemble.c b/vm/compiler/codegen/arm/Assemble.c
index f5fecbc47..34793ee9f 100644
--- a/vm/compiler/codegen/arm/Assemble.c
+++ b/vm/compiler/codegen/arm/Assemble.c
@@ -1991,7 +1991,8 @@ JitTraceDescription *dvmCopyTraceDescriptor(const u2 *pc,
{
const JitEntry *jitEntry = knownEntry ? knownEntry
: dvmJitFindEntry(pc, false);
- if (jitEntry == NULL) return NULL;
+ if ((jitEntry == NULL) || (jitEntry->codeAddress == 0))
+ return NULL;
/* Find out the startint point */
char *traceBase = getTraceBase(jitEntry);
@@ -2078,8 +2079,10 @@ void dvmCompilerSortAndPrintTraceProfiles()
}
JitTraceDescription* desc =
dvmCopyTraceDescriptor(NULL, &sortedEntries[i]);
- dvmCompilerWorkEnqueue(sortedEntries[i].dPC,
- kWorkOrderTraceDebug, desc);
+ if (desc) {
+ dvmCompilerWorkEnqueue(sortedEntries[i].dPC,
+ kWorkOrderTraceDebug, desc);
+ }
}
free(sortedEntries);