RFR(XL): 8185640: Thread-local handshakes

Robbin Ehn robbin.ehn at oracle.com
Wed Oct 25 11:36:33 UTC 2017

Hi Andrew,

The address of the polling page address is static per thread.
The load of the polling page address is a dependent load.

If the add of the offset to rthread is done outside loop, that is perfectly 
fine. I do not see an issue here. If I did not understand you correctly, please 
let me know.

Thanks, Robbin

On 2017-10-25 12:32, Andrew Haley wrote:
> Do we know hat this is always correct for C2?  Could we not have
> something like
>      ldr r0, [rthread, #polling_page_offset]
> loop:
>      ldr rscratch, [r0]  {poll}
>      cmp foo, bar
>      bne loop
> when C2 hoists the load of the polling page address out of a loop?
> Or is such hoisting disable for this case?

More information about the hotspot-dev mailing list