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