-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Diff in checked vs. release #98772
Copy link
Copy link
Closed
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 SuperPMIblocking-clean-ci-optionalBlocking optional rolling runsBlocking optional rolling runs
Milestone
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 SuperPMIblocking-clean-ci-optionalBlocking optional rolling runsBlocking optional rolling runs
Type
Fields
Give feedbackNo fields configured for issues without a type.
Call to
GetSwitchDescMap()that createsm_switchDescMapif it is nullptr.m_switchDescMapis invalidated everytime we renumber blocks or we replace jump targets. However, if I trace the caller ofGetSwitchDescMap(), I see that it can get called from DEBUG viafgDebugCheckProfileWeights()and repopulate the map, which will behave differently at later point of time when weUpdateSwitchTableTarget().runtime/src/coreclr/jit/fgflow.cpp
Lines 627 to 630 in 703f6e8
In Debug,
map != nullptrand hence we update the target, but in Release, it is still nullptr. In Debug, since we updated the target, it changes the successors we visit and variables created, offsets they get assigned to, etc.Mostly caused by #98526