[foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Thu Mar 12 14:53:44 UTC 2020
On Thu, 12 Mar 2020 14:39:14 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
>> This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`,
>> we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask.
>> Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it
>> comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc).
>> I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed
>> (e.g. `MemorySegment::asSlice`).
>
> test/jdk/java/foreign/TestSegments.java line 244:
>
>> 243: int nActions = AccessActions.values().length;
>> 244: Object[][] results = new Object[nActions * nActions][];
>> 245: for (int accessModes = 0 ; accessModes < results.length ; accessModes++) {
>
> I think this should be:
> Suggestion:
>
> Object[][] results = new Object[1 << nActions][];
> Since the number of combinations is 2^4. Though for 4 access modes 4 * 4 and 1 << 4 are both 16, it becomes a problem
> if we add or remove access modes.
whoops - good catch
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/45
More information about the panama-dev
mailing list