[foreign-memaccess] RFR 8225515: Remove MemoryScope from public API
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon Jun 10 17:04:31 UTC 2019
Here's a new revision:
http://cr.openjdk.java.net/~mcimadamore/panama/8225515_v2/
which fixes some javadoc issues
Maurizio
On 10/06/2019 14:15, Maurizio Cimadamore wrote:
> Hi,
> this is a followup from the discussion in [1]. Essentially, having a
> MemoryScope abstraction seems a bit heavy given the use we would make
> of it in the low level access API.
>
> The discussion sparked very useful discussions on the role of
> confinement, which cannot be optional (as initially proposed): doing
> so could result in rogue threads to access already freed memory, thus
> resulting in a VM crash. Following that discussion, confinement is now
> enforced in all memory accesses, so that we have a clean and safe API.
>
> Of course, the confined model could be too restrictive in certain
> cases, I'm working on a writeup to explain the problem, and possible
> solutions - stay tuned.
>
> Here's the webrev:
>
> http://cr.openjdk.java.net/~mcimadamore/panama/8225515/
>
> Note: the webrev includes a patch (thanks Vlad!) to special case
> Thread constants in the JIT (otherwise we were seeing repeated calls
> to Thread.currentThread() in the profile). Performances of this patch
> are really good, and only few percents away from basic Unsafe access.
> There is, we believe, some more work to be done when it comes to
> array-like access - in which some of the range check eliminations
> (RCE) implemented by the JIT fail because we're using long indices
> rather than int (which are normally used as array indices in Java).
> We're working on that too.
>
> Cheers
> Maurizio
>
> [1] -
> https://mail.openjdk.java.net/pipermail/panama-dev/2019-May/005644.html
>
More information about the panama-dev
mailing list