Open
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 Main
This 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