You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[clr-interp] allow modification of the this pointer in functions which use it as the generics context (#119554)
* [clr-interp] allow modification of the this pointer in functions which use it as the generics context
- When the this pointer is used as the generics context, if some code modifies the this pointer, do not allow that modification to affect the generics behavior of the function
- Implement this by making a shadow copy of the this pointer in this situation
- To avoid doing this ALL of the time, I've added a scheme where we can restart the entire method compilation by setting a flag which describes the current set of retry rules.
* Update src/coreclr/interpreter/compiler.cpp
Co-authored-by: Copilot <[email protected]>
* Update src/coreclr/interpreter/compiler.cpp
Co-authored-by: Copilot <[email protected]>
* Update src/coreclr/interpreter/compiler.cpp
Co-authored-by: Copilot <[email protected]>
* Add null check and throw in the logic for late bound resolve a generic exception
* Use instruction injection instead of compiler restart for the mov handling
* Update src/coreclr/interpreter/compiler.cpp
Co-authored-by: Copilot <[email protected]>
* Update compiler.cpp
Address feedback from @kg
* Update src/coreclr/interpreter/compiler.cpp
Co-authored-by: Jan Vorlicek <[email protected]>
---------
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Jan Vorlicek <[email protected]>
// Check for the unusual case of taking the address of the this pointer variable within a generic method which uses the this pointer as a generic context arg
0 commit comments