RFR: 8067247: Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache

Jamsheed C m jamsheed.c.m at oracle.com
Thu Mar 24 21:05:59 UTC 2016

Hi All,

Request for review,

bug url:  https://bugs.openjdk.java.net/browse/JDK-8067247

    jdk part:  http://cr.openjdk.java.net/~jcm/8067247/webrev.jdk.00/

newly added test case
  hotspot part:
  under hs-comp/test

Unit Test: test/compiler/jsr292/misc/gc/MHInvokeTest.java
Testing: JPRT with new test case, with fix, without fix

Problem Summary:  MH.invoke linksite take assistance of java code to get 
an adapter method. Here a new method holder class and a adapter method 
are created for a MT and lform instance is cached.
Normally this cached lform get returned for a linksite request of same 
MT.  When these cached lform get collected(due to memory pressure),  a 
new class and method gets created for same MT(even though old method 
holder class and  adapter method are live).
Fix Summary: Kept a strong reference to lform instance in adapter method 
holder class of  MT.

Best Regards,

More information about the hotspot-compiler-dev mailing list