[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
http://cr.openjdk.java.net/~vlivanov/8058828/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8058828
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
expected.
Testing: failing tests, regression test.
Thanks!
Best regards,
Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list