Control Crossgen2 optimizations with DebuggableAttribute#44514
Control Crossgen2 optimizations with DebuggableAttribute#44514nattress merged 2 commits intodotnet:masterfrom
Conversation
|
Addresses #44324 |
|
Should we change our test scripts to not explicitly pass -O? |
|
I'll remove the explicit -O from the CoreCLR tests though we only use Check and Release flavors in CI so the assemblies won't have debug enabled typically. Libraries tests using Crossgen2 will be more interesting since they do Debug test runs. The Crossgen comparison runs are release only so I'll leave those alone. |
e084ec8 to
a060046
Compare
a060046 to
6d1b5dc
Compare
|
// Auto-generated message 69e114c which was merged 12/7 removed the intermediate src/coreclr/src/ folder. This PR needs to be updated as it touches files in that directory which causes conflicts. To update your commits you can use this bash script: https://gist.github.com/ViktorHofer/6d24f62abdcddb518b4966ead5ef3783. Feel free to use the comment section of the gist to improve the script for others. |
f9de9e2 to
89b0d9b
Compare
* Assemblies compiled in debug configuration use the `System.Diagnostics.DebuggableAttribute` to indicate optimizations are disabled. * Match Crossgen 1's behavior and respect this setting if no explicit optimization arguments are passed in. * Add `-Od` switch to disable optimizations since now the default behavior of Crossgen2 is to optimize release-built assemblies.
Fix runtime assert when checking the GC ref map for multi-dimensional array's intrinsic `Address` method on x86. `Address` has a custom calling convention which always requires the extra param type in the signature. The extra shared generic check is too restrictive and doesn't match what we tell the JIT the signature is in https://github.com/dotnet/runtime/blob/4b8d10154c39b1f56424d4ba2068a3150d90d475/src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs#L500.
89b0d9b to
7e59dad
Compare
System.Diagnostics.DebuggableAttributeto indicate optimizations are disabled.-Odswitch to disable optimizations since now the default behavior of Crossgen2 is to optimize release-built assemblies.cc @dotnet/crossgen-contrib