[9] RFR(S) 8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Oct 2 04:05:32 UTC 2014


http://cr.openjdk.java.net/~kvn/8059299/webrev/
https://bugs.openjdk.java.net/browse/JDK-8059299

Code in Parse::catch_inline_exceptions() incorrectly assumed that all 
paths reach the merge point in next code:

         catch (Exception e) {
             if (e instanceof Exception1) {
                 counter1++;
             } else if (e instanceof Exception2) {
                 counter2++;
             }
             counter++;
             throw e;
         }

But we generate an uncommon trap when profiling information matches 
checked exception (in the bug case Exception2, which is the only thrown 
exception).

The fix is to use top() for dead paths when initializing Phi node of 
exceptions klasses. Also did code style clean up in surrounding code.

Added new regression test.

Thanks,
Vladimir


More information about the hotspot-compiler-dev mailing list