RFR: 8296477: Foreign linker implementation update following JEP 434 [v9]
Jorn Vernee
jvernee at openjdk.org
Mon Nov 28 12:14:50 UTC 2022
> Pull in linker implementation changes, that include non-trivial changes to VM code, from the panama-foreign repo into the main JDK.
>
> This is split off from the main JEP integration to make reviewing easier.
>
> This includes the following patches:
>
> 1. https://github.com/openjdk/panama-foreign/pull/698
> 2. https://github.com/openjdk/panama-foreign/pull/699
> 3. (part of) https://github.com/openjdk/panama-foreign/pull/731
> 4. https://github.com/openjdk/panama-foreign/pull/740
> 5. https://github.com/openjdk/panama-foreign/pull/746
> 6. https://github.com/openjdk/panama-foreign/pull/742
> 7. https://github.com/openjdk/panama-foreign/pull/743
>
> Probably the biggest change to the code comes from replacing `VMReg` - which can not represent offsets into the stack that are not a multiple of the VM's stack slot size (32-bits) - with the new `VMStorage` class, which can describe byte offsets into the stack, as well as having a register mask to indicate only certain register segments.
>
> The only part of 3. that is in this PR is the part that turns the `VMStorage` class in Java into a record.
>
> Please refer to the PR of each individual patch for a more detailed description.
Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 23 additional commits since the last revision:
- use Arena in example
- Merge branch 'PR_20' into VM_Changes
- drop .inline from vmstorage header names
- 8296973: saving errno on a value-returning function crashes the JVM
Reviewed-by: mcimadamore
- fix stubs
- constexpr some functions
- Review pt1
- Tweak copyright headers
- Use @requires to disable some tests on x86
- Use AssertionError for internal exceptions
- ... and 13 more: https://git.openjdk.org/jdk/compare/bbde3878...75917216
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/11019/files
- new: https://git.openjdk.org/jdk/pull/11019/files/03be64c9..75917216
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=11019&range=08
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=11019&range=07-08
Stats: 16892 lines in 695 files changed: 7158 ins; 6214 del; 3520 mod
Patch: https://git.openjdk.org/jdk/pull/11019.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11019/head:pull/11019
PR: https://git.openjdk.org/jdk/pull/11019
More information about the core-libs-dev
mailing list