[9] RFR (XS): 8058828: Wrong ciConstant type for arrays from ConstantPool::_resolved_reference

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Oct 1 11:07:27 UTC 2014


There are 2 unrelated problems for the same scenario.

ciEnv::get_constant_by_index_impl doesn't distinguish T_OBJECT & T_ARRAY 
cases for constant pool patches in VM anonymous classes.
The fix is to adjust the type, if a constant value is an array.

ciTypeFlow::StateVector::do_ldc has too strong assertion. Since 
basic_type = {T_OBJECT|T_ARRAY}, obj->is_array() should be also 

Testing: failing tests, regression test.


Best regards,
Vladimir Ivanov

More information about the hotspot-compiler-dev mailing list