[foreign-memaccess+abi] RFR: 8289285: Use records for binding classes
Jorn Vernee
jvernee at openjdk.org
Tue Jun 28 10:47:44 UTC 2022
On Tue, 28 Jun 2022 10:42:39 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
> This PR switches the Binding classes to use records. This results in a clean simplification of the code due to the no longer having the need to implement equals/hashcode/toString as well. When we have type patterns for switch, we will also be able to remove the tag, and just switch on the type.
>
> I also noticed that the UnboxAddress binding had 2 fields that were not being used. In practice this binding always operates on Addressable instances (both in the interpreter and specializer). So, I've cleaned up these 2 fields as well, and related factory method.
src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 374:
> 372:
> 373: static void checkType(Class<?> actualType, Class<?> expectedType) {
> 374: if (!expectedType.isAssignableFrom(actualType)) {
This change is needed to accommodate for the fact that UnboxAddress now accepts an Addressable, but a previous binding still outputs either a MemoryAddress or MemorySegment.
-------------
PR: https://git.openjdk.org/panama-foreign/pull/690
More information about the panama-dev
mailing list