RFR: JDK-8207169: X86: Modularize cmpxchg-oop assembler for C1 and C2
Roland Westrelin
rwestrel at redhat.com
Mon Sep 3 08:58:00 UTC 2018
> Who would clobber those registers between iterations though in your
> tight loop?
Ignoring cas, but with a simple example:
input = 0;
loop_entry:
input++;
array[i] = input;
// some other code
goto loop_entry;
input is live across iterations but given the loop is hidden in a basic
block, the register allocator expects it to be live from its
initialization to the store in the array. So it's free to assign a
register to input and reuse it in whatever code is in the rest of the
loop body.
Roland.
More information about the hotspot-gc-dev
mailing list