[foreign] RFR: add binder support for panama array carriers
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Fri May 25 17:26:23 UTC 2018
Hi,
this patch removes binder support for Java array carriers and rewrires
array support to use the Panama Array class.
To allow interop from Java arrays and back the following API points have
been added:
Array<Integer> nativeArray = ...
int[] ia = nativeArray.toArray(int[]::new);
And, the reverse operation is handled by Scope, by having a form of
native array allocation which takes a Java array initializer:
Array<Integer> newNativeArray = scope.allocateArray(NativeTypes.INT32, ia);
This seems to work pretty well in terms of usability. Under the hood,
the methods BoundedArray::copyFrom/To use MethodHandles to avoid boxing
of elements.
I've removed a lot of code that had to do, directly or indirectly, with
Java array accessors generated by the binder.
Webrev:
http://cr.openjdk.java.net/~mcimadamore/panama/array_carrier/
Cheers
Maurizio
More information about the panama-dev
mailing list