Request for review(S): 7011627: C1: call_RT must support targets that don't fit in wdisp30
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Jan 11 15:58:50 PST 2011
Using signed subtraction is incorrect.
Use pointer_delta(b, a, 1) instead of intptr_t(b) - intptr_t(a).
Could you also verify that on x86 naxt "call" do correct thing
for similar case: call(RuntimeAddress(entry)) ?
Thanks,
Vladimir
Igor Veresov wrote:
> On 1/11/11 1:01 PM, Tom Rodriguez wrote:
>>
>> On Jan 11, 2011, at 12:44 PM, Igor Veresov wrote:
>>
>>> Webrev: http://cr.openjdk.java.net/~iveresov/7011627/webrev.00/
>>
>> I like that you're trying to use the short one when you can but I
>> don't think that test is sufficient. The code is generated into a
>> temporary blob and then moved into a RuntimeStub. You could
>> conceivably just reach in the temporary code blob but not reach in the
>> final one. I think you need to check that the call is reachable from
>> the highest and lowest point in the code cache instead.
>>
>
> Yes, you're right of course.
>
> How about this one:
> http://cr.openjdk.java.net/~iveresov/7011627/webrev.01/
>
> Thanks,
> igor
>
>
More information about the hotspot-compiler-dev
mailing list