diff --git a/src/coreclr/scripts/superpmi.py b/src/coreclr/scripts/superpmi.py index c516ec6c3a2162..eb1defc6ba775f 100755 --- a/src/coreclr/scripts/superpmi.py +++ b/src/coreclr/scripts/superpmi.py @@ -308,6 +308,7 @@ asm_diff_parser.add_argument("--diff_jit_dump", action="store_true", help="Generate JitDump output for diffs. Default: only generate asm, not JitDump.") asm_diff_parser.add_argument("-temp_dir", help="Specify a temporary directory used for a previous ASM diffs run (for which --skip_cleanup was used) to view the results. The replay command is skipped.") asm_diff_parser.add_argument("--gcinfo", action="store_true", help="Include GC info in disassembly (sets COMPlus_JitGCDump/COMPlus_NgenGCDump; requires instructions to be prefixed by offsets).") +asm_diff_parser.add_argument("--debuginfo", action="store_true", help="Include debug info after disassembly (sets COMPlus_JitDebugDump/COMPlus_NgenDebugDump).") asm_diff_parser.add_argument("-base_jit_option", action="append", help="Option to pass to the baseline JIT. Format is key=value, where key is the option name without leading COMPlus_...") asm_diff_parser.add_argument("-diff_jit_option", action="append", help="Option to pass to the diff JIT. Format is key=value, where key is the option name without leading COMPlus_...") asm_diff_parser.add_argument("-tag", help="Specify a word to add to the directory name where the asm diffs will be placed") @@ -1718,6 +1719,11 @@ def replay_with_asm_diffs(self): "COMPlus_JitGCDump": "*", "COMPlus_NgenGCDump": "*" }) + if self.coreclr_args.debuginfo: + asm_complus_vars.update({ + "COMPlus_JitDebugDump": "*", + "COMPlus_NgenDebugDump": "*" }) + jit_dump_complus_vars = asm_complus_vars.copy() jit_dump_complus_vars.update({ "COMPlus_JitDump": "*", @@ -3635,6 +3641,11 @@ def verify_replay_common_args(): lambda unused: True, "Unable to set gcinfo.") + coreclr_args.verify(args, + "debuginfo", + lambda unused: True, + "Unable to set debuginfo.") + coreclr_args.verify(args, "diff_jit_dump", lambda unused: True,