BADCODE should not be bucketed as a replay failure since it is expected
as a result of some patterns of illegal IL. Considering it a replay
failure does not allow us to differentiate it from JIT bugs (such as a
JIT crash).
LogEnv* env = JitTls::GetLogEnv();
+ JITDUMP("\nCOMPILATION FAILED: %s (%s:%d)\n", msg, tail, line);
+
logf(LL_ERROR, "COMPILATION FAILED: file: %s:%d compiling method %s reason %s\n", tail, line,
env->compiler->info.compFullName, msg);
default:
LogError("Unknown target architecture");
- break;
+ break;
}
// If the target architecture doesn't match the expected target architecture
{
jitResult = CORJIT_OK;
}
-
}
- if (jitResult == CORJIT_OK)
+
+ if ((jitResult == CORJIT_OK) || (jitResult == CORJIT_BADCODE))
{
// capture the results of compilation
pParam->pThis->mc->cr->recCompileMethod(&NEntryBlock, &NCodeSizeBlock, jitResult);