Add dump option for debug info (like the ones we have for gc info,
eh, unwind, etc) so we can more readily verify jit changes that are
might impact debug info generation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
958040ed3f8c7efb3f78f301d3cb76271e941c2e
opts.disDiffable = false;
opts.dspCode = false;
opts.dspEHTable = false;
+ opts.dspDebugInfo = false;
opts.dspGCtbls = false;
opts.disAsm2 = false;
opts.dspUnwind = false;
{
opts.dspEHTable = true;
}
+
+ if (JitConfig.NgenDebugDump().contains(info.compMethodName, info.compClassName, &info.compMethodInfo->args))
+ {
+ opts.dspDebugInfo = true;
+ }
}
else
{
{
opts.dspEHTable = true;
}
+
+ if (JitConfig.JitDebugDump().contains(info.compMethodName, info.compClassName,
+ &info.compMethodInfo->args))
+ {
+ opts.dspDebugInfo = true;
+ }
}
}
bool compProcedureSplittingEH; // Separate cold code from hot code for functions with EH
bool dspCode; // Display native code generated
bool dspEHTable; // Display the EH table reported to the VM
+ bool dspDebugInfo; // Display the Debug info reported to the VM
bool dspInstrs; // Display the IL instructions intermixed with the native code output
bool dspEmit; // Display emitter output
bool dspLines; // Display source-code lines intermixed with native code output
assert(opts.compScopeInfo);
#ifdef DEBUG
- if (verbose)
+ if (verbose || opts.dspDebugInfo)
{
eeDispVars(info.compMethodHnd, eeVarsCount, (ICorDebugInfo::NativeVarInfo*)eeVars);
}
assert(opts.compDbgInfo);
#if defined(DEBUG)
- if (verbose)
+ if (verbose || opts.dspDebugInfo)
{
eeDispLineInfos();
}
CONFIG_METHODSET(JitExclude, W("JitExclude"))
CONFIG_METHODSET(JitForceProcedureSplitting, W("JitForceProcedureSplitting"))
CONFIG_METHODSET(JitGCDump, W("JitGCDump"))
+CONFIG_METHODSET(JitDebugDump, W("JitDebugDump"))
CONFIG_METHODSET(JitHalt, W("JitHalt")) // Emits break instruction into jitted code
CONFIG_METHODSET(JitImportBreak, W("JitImportBreak"))
CONFIG_METHODSET(JitInclude, W("JitInclude"))
CONFIG_METHODSET(NgenDumpIR, W("NgenDumpIR")) // Same as JitDumpIR, but for ngen
CONFIG_METHODSET(NgenEHDump, W("NgenEHDump")) // Dump the EH table for the method, as reported to the VM
CONFIG_METHODSET(NgenGCDump, W("NgenGCDump"))
+CONFIG_METHODSET(NgenDebugDump, W("NgenDebugDump"))
CONFIG_METHODSET(NgenUnwindDump, W("NgenUnwindDump")) // Dump the unwind codes for the method
///
/// JIT