for review (XXL): 6655638 method handles for invokedynamic

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Tue Apr 7 09:02:16 PDT 2009


On Apr 7, 2009, at 1:38 AM, John Rose wrote:

> On Apr 7, 2009, at 12:37 AM, John Rose wrote:
>
>>> Don't do the (int32_t)NULL_WORD cast here:
>>>   __ cmpptr(arg_slots.as_register(), (int32_t) NULL_WORD);
>>
>> Right.
>
>
> I was too quick to agree.  I remembered Xiaobin's fix to remove such  
> casts, but something is not right here.
>
> If I take out the cast, the compile fails on Mac.  And I notice that  
> there are similar casts elsewhere, such as in vtableStubs_x86_*.cpp.
>
> For my part, I guess I can avoid the issue by this dodge:
>    intptr_t zero = 0;
>    __ cmpptr(arg_slots.as_register(), zero);
>
> Not very satisfying.  But I don't want to fight the NULL_WORD battle.

Maybe Xiaobin's fix to NULL_WORD isn't in the repo you're working from  
or maybe I misunderstood the extent of the fix.  I agree there are  
quite a few casts of NULL_WORD to int32_t so I guess you can keep it  
as you originally had it, in particular for cmpptr.  movptr generally  
doesn't have the cast.  Sorry for the diversion.

tom

>
>
> -- John




More information about the hotspot-compiler-dev mailing list