for review (XXL): 6655638 method handles for invokedynamic
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Tue Mar 3 19:07:32 PST 2009
John Rose wrote:
>
>> Also why you are using movptr() in the corresponding part in
>> MethodHandles::generate_method_handle_stub() ?:
>>
>> 494 __ load_sized_value(rbx_temp, prim_value_addr,
>> 495 type2aelembytes(arg_type),
>> is_signed_subword_type(arg_type));
>> 496 __ movptr(Address(rax_argslot, 0), rbx_temp);
>> 497 #ifndef _LP64
>> 498 if (arg_slots == 2) {
>> 499 __ movl(rbx_temp, prim_value_addr.plus_disp(wordSize));
>> 500 __ movptr(Address(rax_argslot,
>> Interpreter::stackElementSize()), rbx_temp);
>> 501 }
>> 502 #endif //_LP64
>
> The movptr on line 500 looks better as movl; changed.
> The movptr on line 496 is needed because interpreter stack slots are
> wordSize not jintSize.
> Does that answer your concern?
Leave this code as it was. I was mistaking it for movoop.
Thanks,
Vladimir
More information about the hotspot-compiler-dev
mailing list