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

[release/9.0] [mono][mini] Interlocked.CompareExchange and Interlocked.Exchange intrinsics for small types and enums #106897

Merged
merged 28 commits into from
Aug 26, 2024

Commits on Aug 23, 2024

  1. [mono][mini][arm64] Interlocked.CompareExchange for byte/sbyte

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    1b8e93b View commit details
    Browse the repository at this point in the history
  2. rewrite cas_i1 with zext cmp and sign ext result

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    dd3c928 View commit details
    Browse the repository at this point in the history
  3. [sample] fixup HelloWorld to work with full aot

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    84e350b View commit details
    Browse the repository at this point in the history
  4. [mini][llvm] support OP_ATOMIC_CAS_U1

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    c1245a3 View commit details
    Browse the repository at this point in the history
  5. [mini][amd64] support OP_ATOMIC_CAS_U1

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    bfd782f View commit details
    Browse the repository at this point in the history
  6. [mini][wasm] support OP_ATOMIC_CAS_U1 in LLVM AOT

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    3d440b9 View commit details
    Browse the repository at this point in the history
  7. make intrinsic must-expand on arm64,amd64,wasm on mono

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    213ff01 View commit details
    Browse the repository at this point in the history
  8. [interp] MINT_MONO_CMPXCHG_U1

    also add mono_atomic_cas_u8 utility function
    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    a39e7cc View commit details
    Browse the repository at this point in the history
  9. [mini] CompareExchange(i16/u16)

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    ae46e22 View commit details
    Browse the repository at this point in the history
  10. [mono] must expand CompareExchange(i16/u16)

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    32b598e View commit details
    Browse the repository at this point in the history
  11. [interp] Interlocked.CompareExchange(u16/i16)

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    08ddb70 View commit details
    Browse the repository at this point in the history
  12. fix gcc intrinsics build

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    5fe46b6 View commit details
    Browse the repository at this point in the history
  13. fix amd64 supported ops

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    b584939 View commit details
    Browse the repository at this point in the history
  14. [mini] zext unsigned CAS results for small types

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    31bec9d View commit details
    Browse the repository at this point in the history
  15. [interp] signed small CAS ops

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    e7396fc View commit details
    Browse the repository at this point in the history
  16. HACK: fix x64 crashes?

    maybe we can't actually do a 1 or 2 byte move from RAX ?
    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    12ef15e View commit details
    Browse the repository at this point in the history
  17. [amd64] fixup 8- and 16-bit cmpxchg encoding

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    92c8580 View commit details
    Browse the repository at this point in the history
  18. fix operand order

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    e37d6b3 View commit details
    Browse the repository at this point in the history
  19. ok to always emit rex?

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    3131d76 View commit details
    Browse the repository at this point in the history
  20. Apply suggestions from code review

    fixup u16 win32 atomic
    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    9fae3bb View commit details
    Browse the repository at this point in the history
  21. [interp] remove if guarding a switch

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    69290d7 View commit details
    Browse the repository at this point in the history
  22. Interlocked.Exchange u1/i1/u2/i2 interp,llvm,amd64,arm64

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    5d772dd View commit details
    Browse the repository at this point in the history
  23. fix windows build

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    a0fefab View commit details
    Browse the repository at this point in the history
  24. [amd64] give u2 CMPXCHG and XCHG one more byte

    for the 16-bit addressing prefix
    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    5c92a54 View commit details
    Browse the repository at this point in the history
  25. If jiterpreter is engaged before the thread is fully initialized, jus…

    …t fail to allocate a table index and generate a warning. This shouldn't happen in prod anyway
    
    Implement cmpxchg atomics natively in jiterpreter
    
    Remove unnecessary jiterp cas helpers
    
    Do cmpxchg result fixups as needed
    
    Add runtime option for jiterpreter atomics
    Implement atomic exchanges in the jiterpreter
    kg authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    d412ae3 View commit details
    Browse the repository at this point in the history
  26. Interlocked.Exchange(int) for interp and jiterp

    lambdageek authored and github-actions committed Aug 23, 2024
    Configuration menu
    Copy the full SHA
    b5d5fab View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. Configuration menu
    Copy the full SHA
    1f63f0a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    200b68c View commit details
    Browse the repository at this point in the history