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

John Rose john.r.rose at oracle.com
Wed Dec 3 00:20:08 UTC 2014

Thanks.  Nice work!

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.)

— 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