[foreign-abi] RFR: 8247488: Add support for string helpers in CSupport (decoding support)
Henry Jen
henryjen at openjdk.java.net
Mon Jun 15 18:55:35 UTC 2020
On Mon, 15 Jun 2020 18:20:31 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> This patch add more symmetric support for charset-driven decoding of the contents of a native string.
> That means we can no longer using a StringBuilder, but, instead, we have to get the byte array and create a `String`
> out of that using specified `Charset` instance.
> Implementation-wise, following an offline discussion with Jorn, I've settled for an approach which finds string length,
> then does a bulk copy to a byte array. Not sure this is going to peform well on small strings. The alternative would
> have been to use `ByteArrayOutputStream` - but the issue there is that both `write` and `toString` methods there are
> `synchronized`. In any case, I think the implementation can be made more efficient later, if we find that to be an
> issue.
Looks good to me.
As I pointed out before, it's also useful to expose byte[] version. There are cases in NIO, where we would like to
retain the native encoded byte[], instead of covering between string/byte[] back and forth.
-------------
Marked as reviewed by henryjen (Committer).
PR: https://git.openjdk.java.net/panama-foreign/pull/207
More information about the panama-dev
mailing list