RFR (XS): 8019247: SIGSEGV in compiled method c8e.e.t_.getArray(Ljava/lang/Class; )[Ljava/lang/Object

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jul 1 20:51:17 PDT 2013


http://cr.openjdk.java.net/~kvn/8019247/webrev/

Undo recent changes (and add more comments) which were looking innocent 
but broke hidden dependency on it in Parse::array_store_check() which 
checks allocation klass.
When allocation done by reflection the type of klass node used by 
AllocateArray node is general j.l.Object.class. As result the code in 
array_store_check() treat the allocation as instance instead of array 
and loads values from j.l.Object klass instead of corresponding array's 
klass.

Tested with failed test, jtreg, ctw, jprt.

Thanks,
Vladimir















More information about the hotspot-compiler-dev mailing list