RFR: 8191333: Zero variant broken after 8189941

Robbin Ehn robbin.ehn at oracle.com
Thu Nov 16 07:46:32 UTC 2017


Hi

On 2017-11-15 19:44, John Paul Adrian Glaubitz wrote:
> On 11/15/2017 05:48 PM, coleen.phillimore at oracle.com wrote:
>>> What about the handles?
>>
>> Honestly, after looking at it, I have no idea.  It seems like something you should remove and see if that works.  The comment says that there should be no
>> active handles.  Maybe have a NoHandleMark unconditionally? then SafepointMechanism::block_if_requested(THREAD) so that the comment is actually an assertion.
>> Sorry for too quick review.
> 
> I just tested that. This builds fine. Whether it's the way to go, I'm
> not sure. Maybe Robbin can make a statement regarding this.

Depending on how much testing you have time for, if little time keep Handle, e.g something like:

  101 #define SAFEPOINT                                                                \
  103       {                                                                          \
  104         /* zap freed handles rather than GC'ing them */                          \
  105         HandleMarkCleaner __hmc(THREAD);                                         \
  106       }                                                                          \
  107       CALL_VM(SafepointMechanism::block_if_requested(THREAD), handle_exception);


If this is the only places that zero does safepoints poll, thread-local handshake should actually work with above.
I can test it if/when I get time.

> 
> The freshly JVM is run during the build if I remember correctly, so I
> assume it works with this particular change.

If you build the image, yes.

/Robbin

> 
> Adrian
> 


More information about the hotspot-dev mailing list