-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
Milestone
Description
GCInfo version v3 is backward-compatible with v2. That is intentional to not require moving forward the R2R min major version.
However, if the min major version is incremented for other reasons, consider the following (not backward-compatible) changes -
- Safe points are historically encoded with offset -1. It is no longer necessary and not doing that could simplify some code.
- GCInfo v3 is sufficient that hijacking could be done without knowing whether a method is object/ref returning.
Once v2 is no longer in use, both GCInfo and hijacking logic could be simplified. - Actually anything that is keyed off !
AreSafePointsInterruptiblecould be removed, except when needed to support x86.
(i.e. anything for RISC architectures can stop supporting noninterruptible call sites) - Also consider removing
DOTNET_InterruptibleCallSitesknob at that time
These suggestions are not by themselves enough to bump the min major version, but the version moves forward for other reasons, please consider doing these as well.
filipnavara