Suggested fix for JDK-4724038 (Add unmap method to MappedByteBuffer)

David Holmes 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 
needed?

** Note the VM operation can only operate on native data structures - no 
Java code execution is allowed.

David H.

> Andrew.
>



More information about the core-libs-dev mailing list