Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CoreCLR/NativeAOT] UnsafeAccessorAttribute non-generic support #86932

Merged
merged 55 commits into from
Jun 15, 2023

Commits on Jun 5, 2023

  1. General cleanup

    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    0e18368 View commit details
    Browse the repository at this point in the history
  2. Prototype for UnsafeAccessorAttribute

    - Hardcoded to default ctor
    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    292da73 View commit details
    Browse the repository at this point in the history
  3. Remove IsUnsafeAccessor flag from MethodDesc

    and instead encode details on the scopeHandle.
    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    40111fa View commit details
    Browse the repository at this point in the history
  4. Cleanup memory managment confusion

    with ILStubResolver.
    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    0191e0d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ef239fb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a396e04 View commit details
    Browse the repository at this point in the history
  7. C++ clean-up

    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    6437420 View commit details
    Browse the repository at this point in the history
  8. Return missing(field/method) HRESULT when

    appropriate
    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    b24717a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    edd7fb7 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    03a9ef3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d771f04 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    02267ff View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    e911d3a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    c6dbb50 View commit details
    Browse the repository at this point in the history
  15. Fix message buffer

    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    9864b45 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    60c38dd View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    10b9c75 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    3e9ee12 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    62f9e81 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    a506601 View commit details
    Browse the repository at this point in the history
  21. Apply suggestions from code review

    Co-authored-by: Stephen Toub <[email protected]>
    AaronRobinsonMSFT and stephentoub committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    b8c94bf View commit details
    Browse the repository at this point in the history
  22. Apply suggestions from code review

    Co-authored-by: Stephen Toub <[email protected]>
    AaronRobinsonMSFT and stephentoub committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    636e616 View commit details
    Browse the repository at this point in the history
  23. Add error message for invalid UnsafeAccessor use

    Additional negative tests
    Specifically block array and pointer types
    Consolidate JIT flag lookup
    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    72bc7f5 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    2859b6e View commit details
    Browse the repository at this point in the history
  25. Update BOTR on TypeDesc

    Add test for function pointers
    AaronRobinsonMSFT committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    331f4cc View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    c01080e View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    1d5c1ab View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. Review feedback

    AaronRobinsonMSFT committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    34ada73 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a56bc40 View commit details
    Browse the repository at this point in the history
  3. Remove ctor special case lookup

    Add runtime sniff test for UnsafeAccessor scenarios
    Add call ctor as method test
    AaronRobinsonMSFT committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    a43b3cc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3da55de View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Collect custom modifiers counts

    Permit ignoring custom modifiers during comparison
    AaronRobinsonMSFT committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    bbe820c View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2023

  1. Configuration menu
    Copy the full SHA
    18a2749 View commit details
    Browse the repository at this point in the history
  2. Defined ambiguity logic with respect to

    custom modifiers.
    - First pass ignore custom modifiers
    - If ambiguity detected, rerun algorithm but
      require precise matching of custom modifiers.
    - If there is no clear match throw AmbiguousImplementationException.
    AaronRobinsonMSFT committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    d5ff647 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    924cf37 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    305aeff View commit details
    Browse the repository at this point in the history
  5. Use AmbiguousMatchException

    Update doc
    AaronRobinsonMSFT committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    c169969 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3b3691f View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. Configuration menu
    Copy the full SHA
    f0756b7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c51e986 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    12ba472 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    efb27a4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d3b0726 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2023

  1. Remove catch all for any exception. This code

    path has evolved to require exceptions to
    propagate for generation of typeload exception
    stub.
    AaronRobinsonMSFT committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    56d733e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    facc48e View commit details
    Browse the repository at this point in the history
  3. Review feedback

    AaronRobinsonMSFT committed Jun 10, 2023
    Configuration menu
    Copy the full SHA
    8d92e7e View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. Improve MissingMethodException

    Add test for validation
    AaronRobinsonMSFT committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    b446a20 View commit details
    Browse the repository at this point in the history
  2. Missed fallback name lookup on NativeAOT.

    Added tests for pointer types and declaration name
    lookup.
    AaronRobinsonMSFT committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    5b67d04 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3663bad View commit details
    Browse the repository at this point in the history
  4. Remove block of doc text for generics. Will add

    back when supported is added.
    AaronRobinsonMSFT committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    c2be6fc View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. Treat signature calling convention bits like we treat

    custom modifiers during method lookup.
    AaronRobinsonMSFT committed Jun 13, 2023
    1 Configuration menu
    Copy the full SHA
    63f975c View commit details
    Browse the repository at this point in the history
  2. Managed and unmanaged function pointers never

    signature match.
    AaronRobinsonMSFT committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    869a5f0 View commit details
    Browse the repository at this point in the history
  3. Feedback for throwing exceptions on NativeAOT

    Remove unmanage resource string and move it to SPCL
    Share the AmbiguousMatchException message between
      NativeAOT and CoreCLR.
    AaronRobinsonMSFT committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    c03dc9e View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. Configuration menu
    Copy the full SHA
    a309b06 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b957416 View commit details
    Browse the repository at this point in the history