Request for reviews (XS): 6875619
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Fri Aug 28 11:06:07 PDT 2009
Well sure, because it's not using Java language operations to do it
and in fact couldn't since there's no untyped array type. The change
seems ok.
tom
On Aug 28, 2009, at 10:53 AM, Vladimir Kozlov wrote:
> And there is no cast to real array type in between:
>
> 83 invokestatic 36 <newInstance> <(Ljava/lang/Class;I)Ljava/lang/
> Object;>
> 320 bci: 83 CounterData count(0)
> 86 astore #5
> 88 iconst_0
> 89 istore #6
> 91 iload #6
> 93 aload #5
> 95 invokestatic 37 <getLength> <(Ljava/lang/Object;)I>
> 328 bci: 95 CounterData count(0)
>
> Vladimir
>
> Vladimir Kozlov wrote:
>> It is user method asks for length and we generate
>> inline_native_getLength()
>> intrinsic for it which calls load_array_length(array).
>> Vladimir
>> Tom Rodriguez wrote:
>>> Why are we asking for the length of something which either isn't
>>> an array or hasn't properly cast to be an array yet?
>>>
>>> tom
>>>
>>> On Aug 27, 2009, at 6:43 PM, Vladimir Kozlov wrote:
>>>
>>>> http://cr.openjdk.java.net/~kvn/6875619/webrev.00
>>>>
>>>> Fixed 6875619: CTW fails with /hotspot/src/share/vm/opto/type.hpp
>>>>
>>>> Problem:
>>>> GraphKit::load_array_length() tries to cast type of new allocated
>>>> array to TypeAryPtr. It fails since it is reflection allocation
>>>> and type is Object.
>>>>
>>>> Solution:
>>>> Cast to TypeOopPtr which is the parameter type of
>>>> make_ideal_length() method.
>>>>
>>>> Reviewed by:
>>>>
>>>> Fix verified (y/n): y, test
>>>>
>>>> Other testing:
>>>> JPRT
>>>>
>>>
More information about the hotspot-compiler-dev
mailing list