[foreign-memaccess] RFR: Move "owner" field and thread-confinement checks to MemoryScope
Peter Levart
plevart at openjdk.java.net
Fri May 15 09:01:42 UTC 2020
Now MemoryScope is simplified, I re-based this change and am opening this PR on top. Currently MemorySegment is
encapsulating thread-confinement logic and state (owner field) while MemoryScope is encapsulating temporal-confinement
logic and state. But the interplay between the two must be very carefully caried out (for example, close() or dup() on
child scopes may only be called in owner thread). By moving the thread-confinement logic and state to MemoryScope, I
think we get better encapsulation as all MemoryScope methods become "safe" - some can still be called in owner thread
only, but failing to do so throws IllegalSateException instead of exhibiting undefined behavior.
-------------
Commit messages:
- Move "owner" field and thread-confinement checks from MemorySegment to MemoryScope
Changes: https://git.openjdk.java.net/panama-foreign/pull/167/files
Webrev: https://webrevs.openjdk.java.net/panama-foreign/167/webrev.00
Stats: 179 lines in 5 files changed: 84 ins; 14 del; 81 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/167.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/167/head:pull/167
PR: https://git.openjdk.java.net/panama-foreign/pull/167
More information about the panama-dev
mailing list