[9] RFR (M): 8139595: MethodHandles::remove_dependent_nmethod is not MT safe

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu Nov 5 09:50:16 UTC 2015

Hi Vladimir,

On 11/05/2015 11:02 AM, Vladimir Ivanov wrote:
> On 11/3/15 9:35 PM, Vladimir Ivanov wrote:
>> http://cr.openjdk.java.net/~vlivanov/8139595/webrev.00
>> https://bugs.openjdk.java.net/browse/JDK-8139595

Not a Reviewer. Piggybacking the cleanup on (locked) mutation is a
standard way to deal with racing issues like that, so I like it.

Some comments:

 * I am confused why the cleanup logic spread out to methodHandles.cpp:
it would seem a general functionality for DependencyContext, and as such
it should be handled internally by add_dependent_methods? I think you
can pass the "safe to purge" flag there.

 * DependencyContext now has three methods: purge(), clear(), wipe(). I
have trouble understanding which method does what!

 * Since there is a change in vmStructs, does this also need SA changes?


More information about the hotspot-dev mailing list