review for 7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
vladimir.kozlov at oracle.com
Fri Nov 11 13:30:06 PST 2011
Tom Rodriguez wrote:
> 44 lines changed: 24 ins; 18 del; 2 mod; 13050 unchg
> 7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
> The ForceUnreachable flag hadn't been tested broadly on x64 and in
> this particular failure, there's a mismatch between
> is_polling_page_far and reachable which causes the assertion failure.
> I also lowered the buffer limit of x64 too much which resulted in
> failures so I've raised the limit back up to 120000 for debug x64.
> The method handle adapters lazily generated so only actual method
> handles tests verify that the buffer was properly generated. I
> modified the JVM to force the generation during bootstrap and ran it
> through JPRT with +ForceUnreachable. This exposed a separate problem
> in the arraycopy stubs on windows where the rscratch1 (r10) is being
> used to preseve rsi and the increment of the copy counters can blow it
> away if the counter isn't reachable. I fixed this be reordering the
> counter updates to be after the restore of rsi.
More information about the hotspot-compiler-dev