if (!(methodAttribs & CORINFO_FLG_NOSECURITYWRAP) || (methodAttribs & CORINFO_FLG_SECURITYCHECK))
{
- m_zapper->Warning(W("ReadyToRun: Methods with security checks not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Methods with security checks not supported\n"));
ThrowHR(E_NOTIMPL);
}
}
if (helperNum == READYTORUN_HELPER_Invalid)
{
- m_zapper->Warning(W("ReadyToRun: JIT helper not supported: %S\n"), m_pEEJitInfo->getHelperName(ftnNum));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: JIT helper not supported: %S\n"), m_pEEJitInfo->getHelperName(ftnNum));
ThrowHR(E_NOTIMPL);
}
if (IsReadyToRunCompilation())
{
// READYTORUN: FUTURE: JIT still calls this for tail. and jmp instructions
- m_zapper->Warning(W("ReadyToRun: Method entrypoint cannot be encoded\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Method entrypoint cannot be encoded\n"));
ThrowHR(E_NOTIMPL);
}
{
if (pResult->sig.isVarArg())
{
- m_zapper->Warning(W("ReadyToRun: VarArg methods not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: VarArg methods not supported\n"));
ThrowHR(E_NOTIMPL);
}
if (pResult->accessAllowed != CORINFO_ACCESS_ALLOWED)
{
- m_zapper->Warning(W("ReadyToRun: Runtime method access checks not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Runtime method access checks not supported\n"));
ThrowHR(E_NOTIMPL);
}
if (pResult->methodFlags & CORINFO_FLG_SECURITYCHECK)
{
- m_zapper->Warning(W("ReadyToRun: Methods with security checks not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Methods with security checks not supported\n"));
ThrowHR(E_NOTIMPL);
}
if (GetCompileInfo()->IsNativeCallableMethod(pResult->hMethod))
{
- m_zapper->Warning(W("ReadyToRun: References to methods with NativeCallableAttribute not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: References to methods with NativeCallableAttribute not supported\n"));
ThrowHR(E_NOTIMPL);
}
}
{
if (pResult->accessAllowed != CORINFO_ACCESS_ALLOWED)
{
- m_zapper->Warning(W("ReadyToRun: Runtime field access checks not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Runtime field access checks not supported\n"));
ThrowHR(E_NOTIMPL);
}
if (pResult->offset > eeInfo.maxUncheckedOffsetForNullObject / 2)
{
- m_zapper->Warning(W("ReadyToRun: Cross-module instance fields with large offsets not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Cross-module instance fields with large offsets not supported\n"));
ThrowHR(E_NOTIMPL);
}
pResult->offset = 0;
if (pResult->offset > eeInfo.maxUncheckedOffsetForNullObject / 2)
{
- m_zapper->Warning(W("ReadyToRun: Large objects crossing module boundaries not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Large objects crossing module boundaries not supported\n"));
ThrowHR(E_NOTIMPL);
}
_ASSERTE(pResult->offset >= dwBaseOffset);
case CORINFO_FIELD_INSTANCE_HELPER:
case CORINFO_FIELD_INSTANCE_ADDR_HELPER:
- m_zapper->Warning(W("ReadyToRun: Special instance fields not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Special instance fields not supported\n"));
ThrowHR(E_NOTIMPL);
break;
case CORINFO_FIELD_STATIC_RVA_ADDRESS: // RVA field at given address
if (m_pEEJitInfo->getClassModule(pResolvedToken->hClass) != m_pImage->m_hModule)
{
- m_zapper->Warning(W("ReadyToRun: Cross-module RVA static fields not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Cross-module RVA static fields not supported\n"));
ThrowHR(E_NOTIMPL);
}
break;
case CORINFO_FIELD_STATIC_ADDRESS: // field at given address
case CORINFO_FIELD_STATIC_ADDR_HELPER: // static field accessed using address-of helper (argument is FieldDesc *)
case CORINFO_FIELD_STATIC_TLS:
- m_zapper->Warning(W("ReadyToRun: Rare kinds of static fields not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Rare kinds of static fields not supported\n"));
ThrowHR(E_NOTIMPL);
break;
#ifdef FEATURE_READYTORUN_COMPILER
if (ret != CORINFO_ACCESS_ALLOWED)
{
- m_zapper->Warning(W("ReadyToRun: Runtime access checks not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Runtime access checks not supported\n"));
ThrowHR(E_NOTIMPL);
}
#endif
else
{
// READYTORUN: FUTURE: Cross-module static cctor triggers
- m_zapper->Warning(W("ReadyToRun: Cross-module static cctor triggers not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Cross-module static cctor triggers not supported\n"));
ThrowHR(E_NOTIMPL);
}
break;
{
if (fIsTailPrefix)
{
- m_zapper->Warning(W("ReadyToRun: Explicit tailcalls not supported\n"));
+ if (m_zapper->m_pOpt->m_verbose)
+ m_zapper->Warning(W("ReadyToRun: Explicit tailcalls not supported\n"));
ThrowHR(E_NOTIMPL);
}