-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
Priority:3Work that is nice to haveWork that is nice to havearea-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
Reproduction steps:
1. Construct a trivial app that accesses a static:
public class Program
{
static int _global;
[MethodImpl(MethodImplOptions.AggressiveOptimization)]
private static int Main()
{
return _global;
}
}2. Do an SPMI collection for that app.
3. Add some printf logging for the static address' value to morph.cpp here (or use -jitoption JitDump=*, but it did not work for me for some reason).
4. Replay using superpmi.exe, twice, log the output to two files.
5. git diff them.
6. You should see something like the following:
-Static field address is 2902599013844, method is Main
+Static field address is 2220318337444, method is MainThis can cause spurious diffs, because CSE uses these values, as was seen in #53748. The commit I reproduced this on is 44f050a.
category:eng-sys
theme:super-pmi
skill-level:expert
cost:medium
impact:medium
Metadata
Metadata
Assignees
Labels
Priority:3Work that is nice to haveWork that is nice to havearea-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