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

8295290: Add Windows ARM64 ABI support to the Foreign Function & Memory API #754

Closed

Commits on Nov 22, 2022

  1. Add Windows ARM64 ABI support to the Foreign Function & Memory API

    There are 2 primary differences between the Windows ARM64 ABI and
    the macOS/Linux ARM64 ABI: variadic floating point arguments are passed
    in general purpose registers on Windows (instead of the vector registers).
    In addition to this, up to 64 bytes of a struct being passed to a
    variadic function can be placed in general purpose registers. This
    happens regardless of the type of struct (HFA or other generic struct).
    This means that a struct can be split across registers and the stack
    when invoking a variadic function.
    
    This change introduces tests that compute the sum of the fields of
    structs containing 1-4 ints, floats, and doubles to verify that each
    field is correctly assigned a register or stack location when invoking
    a variadic function (both when the struct can be passed entirely in
    registers as well as when the struct spills onto the stack).
    
    For details about the Foreign Function & Memory API, see JEP 434
    defined at https://openjdk.org/jeps/434
    
    The Windows ARM64 ABI conventions are documented at
    https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions
    swesonga committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    7139289 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2022

  1. Configuration menu
    Copy the full SHA
    1c12be8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3580e12 View commit details
    Browse the repository at this point in the history
  3. Remove toSessionImpl method

    swesonga committed Dec 6, 2022
    Configuration menu
    Copy the full SHA
    52da2e8 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2022

  1. Configuration menu
    Copy the full SHA
    d882168 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3d2f4e2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    385295d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    08fdbf2 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2022

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

Commits on Jan 10, 2023

  1. Configuration menu
    Copy the full SHA
    121ddc6 View commit details
    Browse the repository at this point in the history
  2. Delete VaList

    swesonga committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    b9ccd3b View commit details
    Browse the repository at this point in the history
  3. Remove redundant check

    swesonga committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    ccae2d8 View commit details
    Browse the repository at this point in the history