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