RFR (XS): 8208480: Fix for test failure: assert(is_bound() || is_unused()) after JDK-8206075 in C1

Liu Xin navy.xliu at gmail.com
Fri Aug 17 15:15:04 UTC 2018


hi, Gunter,
I do consider bailout case. why didn't it catch your case?
c1_LIRAssember.hpp
 // unified bailout support
  void bailout(const char* msg) {
    // reset the label in case it hits assertion in destructor.
    _unwind_handler_entry.reset();
    compilation()->bailout(msg);
  }

can I reproduce this jck_simple_api_work?
/priv/jvmtests/output_sapjvm12_o_jdk-test_dbgU_linuxs390x/jck_simple_api_work/hs_err_pid108809.log

On Fri, Aug 17, 2018 at 6:39 AM Haug, Gunter <gunter.haug at sap.com> wrote:

> Hi all,
>
> could I please have  a review and a sponsor for this tiny fix:
>
> https://bugs.openjdk.java.net/browse/JDK-8208480
> http://cr.openjdk.java.net/~ghaug/webrevs/8208480
>
> C1 holds a label to the unwind handler during compilation. There are
> bail-out paths where a branch to this label has already been emitted but
> the handler hasn't (e.g. code cache full). The label is therefore unbound
> when the destructor is invoked and the assertion fires.
>
> Thanks,
> Gunter
>
>


More information about the hotspot-runtime-dev mailing list