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

[mono][jit] Don't truncate the high bits when ldelema index is nint #88986

Merged
merged 5 commits into from
Sep 8, 2023

Commits on Aug 22, 2023

  1. Configuration menu
    Copy the full SHA
    aaab7df View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f5031cf View commit details
    Browse the repository at this point in the history
  3. [mono][jit] Fix bounds check when index is nint

    Previous code was assuming index is i4. Remove MONO_ARCH_EMIT_BOUNDS_CHECK on amd64 since it was doing a I4 comparison, while the index reg is i8. Use MONO_EMIT_DEFAULT_BOUNDS_CHECK instead also on amd64.
    
    On llvm we might not be able to insert the sign extending because it apparently interferes with abcrem optimization. We therefore split OP_BOUNDS_CHECK into two separate opcodes, so, after abcrem, we know whether we have to insert the sext or not.
    BrzVlad committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    cad4e2e View commit details
    Browse the repository at this point in the history
  4. [mono][interp] Add missing sign extend

    Fix passing of i4 to wrapper accepting native int. The wrapper no longer does the sign extend in order to not lose high bits of native int.
    BrzVlad committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    caf60c0 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

  1. feedback

    BrzVlad committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    1c5819f View commit details
    Browse the repository at this point in the history