• D
    Use similar types for self-referential generics instead of the exact canonical type (#83995) · bc887b38
    David Wrighton 提交于
    - Take advantage of work done a few years ago to simplify the interaction with the interop subsystem
    - In the problematic case, simulate loads with two different types as instantiations which are unrelated in field layout, and see if they match up. Only enable this code in a few very small isolated parts of the runtime
    - Filter more of the type loader logic through the byvalue class cache which should improve performance a bit
    - Similarly when considering blittability, tweak the logic to use the special load path
    
    - Support for self-recursive generics is not enabled for static fields, as that requires a somewhat different tweak, and there is less apparent demand. (For that scenario self-referential generics really should support having fields of type T.)
    - Support for indirect self-recursive generics is also not enabled. The approach taken here is not practical for that, and there does not appear to be significant demand for that either.
    
    Fixes #6924
    bc887b38
siginfo.cpp 182.9 KB