RFC: 6898462: The escape analysis with G1 cause crash assertion src/share/vm/runtime/vframeArray.cpp:94

Roland Westrelin roland.westrelin at oracle.com
Wed Dec 3 21:17:20 UTC 2014


> Thanks.  Nice work!

Thanks for taking another look.

> Using obj==null as a sentinel for failed allocation is good.  Then the flag becomes mostly an extra assertion predicate, which is much safer than having the extra state variable.
> 
> I have only cosmetic comments at this point.
> 
> I suggest moving the line "+   if (realloc_failures) {" outside of the call to 'handle_failed_reallocs', and removing the parameter.  Also, suggest s/handle_failed_reallocs/pop_frames_failed_realloc/, to more specifically tie it to the frame-popping logic (Thread::frames_to_pop_failed_realloc).
> 
> (Maybe also s/frames_to_pop_failed_realloc/pop_frames_failed_realloc/, to strengthen the correspondence; not sure about that one.)

I’ll make those changes. I assume there’s no need for an updated webrev?

Roland.

> 
> — John
> 
> 
>> On Dec 2, 2014, at 1:26 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:
>> 
>>> Please file a follow-up RFE to consider reserving memory for OOME exception processing.  (Cold, never-used memory would be reserved to recharge a thread's TLAB in some TBD gated manner, to allow catch clauses a better chance to complete.)  I'm not saying we have to do this, but we want to be ready if a use case comes up.
>> 
>> The follow up RFE is https://bugs.openjdk.java.net/browse/JDK-8066400
>> 
>> Roland.
> 



More information about the hotspot-compiler-dev mailing list