[9] RFR (XS): 8058828: Wrong ciConstant type for arrays from ConstantPool::_resolved_reference
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Oct 1 17:15:37 UTC 2014
On 10/1/14 4:07 AM, Vladimir Ivanov wrote:
> 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.
Should we add check that class is anonymous? Can this be in normal class?
>
> ciTypeFlow::StateVector::do_ldc has too strong assertion. Since basic_type = {T_OBJECT|T_ARRAY}, obj->is_array() should
> be also expected.
This is good.
Thanks,
Vladimir
>
> Testing: failing tests, regression test.
>
> Thanks!
>
> Best regards,
> Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list