Suggested fix for JDK-4724038 (Add unmap method to MappedByteBuffer)
david.holmes at oracle.com
Thu Sep 10 01:17:02 UTC 2015
On 10/09/2015 12:01 AM, Andrew Haley wrote:
> On 09/09/2015 02:55 PM, David M. Lloyd wrote:
>> On 09/09/2015 08:17 AM, Andrew Haley wrote:
>>> On 09/09/2015 02:13 PM, David M. Lloyd wrote:
>>>> How would you hook into the safepoint to perform the unmapping? You'd
>>>> have to wait for all threads to arrive at safepoints, wouldn't you?
>>> Yes. That happens in the VM already, e.g. when we need to revoke the
>>> bias of a lock. It's a well-established mechanism.
>> Could you extend the technique to other native resources as well?
> Yes, but of course there will be some back-pressure from HotSpot
> developers: it requires changes to the VM, and you have to be
> extremely careful not to cause a deadlock.
Adding a new JVM_* function that requests a safepoint VM operation be
executed is not a major concern in my opinion**. Of more of a concern is
the cost of doing a stop-the-world safepoint in the kinds of
environments being described. How frequently are these unmap operations
** Note the VM operation can only operate on native data structures - no
Java code execution is allowed.
More information about the core-libs-dev