-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Open
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
Currently SPMI does not diff unwind info produced by the JIT:
runtime/src/coreclr/tools/superpmi/superpmi/neardiffer.cpp
Lines 1349 to 1381 in 57ed254
cr2->applyRelocs(&rc, hotCodeBlock_2, hotCodeSize_2, orig_hotCodeBlock_2); | |
cr2->applyRelocs(&rc, coldCodeBlock_2, coldCodeSize_2, orig_coldCodeBlock_2); | |
cr2->applyRelocs(&rc, roDataBlock_2, roDataSize_2, orig_roDataBlock_2); | |
if (!compareCodeSection(mc, cr1, cr2, hotCodeBlock_1, hotCodeSize_1, roDataBlock_1, roDataSize_1, | |
orig_hotCodeBlock_1, orig_roDataBlock_1, orig_coldCodeBlock_1, coldCodeSize_1, | |
hotCodeBlock_2, hotCodeSize_2, roDataBlock_2, roDataSize_2, orig_hotCodeBlock_2, | |
orig_roDataBlock_2, orig_coldCodeBlock_2, coldCodeSize_2)) | |
return false; | |
if (!compareCodeSection(mc, cr1, cr2, coldCodeBlock_1, coldCodeSize_1, roDataBlock_1, roDataSize_1, | |
orig_coldCodeBlock_1, orig_roDataBlock_1, orig_hotCodeBlock_1, hotCodeSize_1, | |
coldCodeBlock_2, coldCodeSize_2, roDataBlock_2, roDataSize_2, orig_coldCodeBlock_2, | |
orig_roDataBlock_2, orig_hotCodeBlock_2, hotCodeSize_2)) | |
return false; | |
if (!compareReadOnlyDataBlock(mc, cr1, cr2, roDataBlock_1, roDataSize_1, orig_roDataBlock_1, roDataBlock_2, | |
roDataSize_2, orig_roDataBlock_2)) | |
return false; | |
if (!compareEHInfo(mc, cr1, cr2)) | |
return false; | |
if (!compareGCInfo(mc, cr1, cr2)) | |
return false; | |
if (!compareVars(mc, cr1, cr2)) | |
return false; | |
if (!compareBoundaries(mc, cr1, cr2)) | |
return false; | |
return true; |
Diffing this info could have prevented #112799, so it would probably be a good idea to diff it like the other outputs.
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI