RFR: 8230565: ZGC: Redesign C2 load barrier to expand on the MachNode level
Nils Eliasson
nils.eliasson at oracle.com
Fri Oct 11 08:15:14 UTC 2019
On 2019-10-10 20:57, Andrew Haley wrote:
> On 10/8/19 2:37 PM, Nils Eliasson wrote:
>> For the non-Aarch64 parts: Looks good!
> +int MacroAssembler::pop_fp(unsigned int bitset, Register stack) {
> + int words_pushed = 0;
> +
> + // Scan bitset to accumulate register pairs
> + unsigned char regs[32];
> + int count = 0;
> + for (int reg = 0; reg <= 31; reg++) {
> + if (1 & bitset)
> + regs[count++] = reg;
> + bitset >>= 1;
> + }
> + regs[count++] = zr->encoding_nocheck();
>
> This use of ZR looks wrong in FP code. There is no floating-point ZR.
>
Right. We shouldn't use zr here - but any register will do since its
just padding to get an even count of spills.
- regs[count++] = zr->encoding_nocheck();
+ regs[count++] = 0; // Add reg 0 as padding - we want to spill an even
number of registers
// Nils
More information about the hotspot-compiler-dev
mailing list