Request for review(XS): 7013812: C1: deopt blob too far from patching stub
Igor Veresov
igor.veresov at oracle.com
Thu Jan 20 22:15:33 PST 2011
On 1/20/11 10:09 PM, Tom Rodriguez wrote:
> Actually, how does this happen? deopt blob and patching stubs are created pretty early so how could they be that far apart? The branch has a signed reach of 22 bits worth of words so it can reach +/- 8M. How could there be 8M between the deopt blob and the patching stub?
>
For sparcv9 we generate "bp", which have a range of 2^19 of words, see
MacroAssembler::br().
igor
> tom
>
> On Jan 20, 2011, at 9:45 PM, Igor Veresov wrote:
>
>> After a bit of a thought, I decided to leave the 32bit as it was.
>> Webrev updated: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/
>>
>> igor
>>
>> On 1/20/11 9:28 PM, Igor Veresov wrote:
>>> access_filed_patching and load_klass_patching stubs are using
>>> effectively a bp instruction to jump to deopt blob. This limits the
>>> distance between the deopt blob and these stub to 2^20, which is not
>>> enough. Since this situation could become possible also with a 32bit VM
>>> (the distance is only 1M), I decided to always use long jumps.
>>>
>>> Webrev: http://cr.openjdk.java.net/~iveresov/7013812/webrev.00/
>>>
>>> Thanks,
>>> igor
>>>
>>
>>
>
More information about the hotspot-compiler-dev
mailing list