RFR: 8230565: ZGC: Redesign C2 load barrier to expand on the MachNode level
Per Liden
per.liden at oracle.com
Wed Oct 16 10:43:23 UTC 2019
Hi,
On 10/11/19 10:15 AM, Nils Eliasson wrote:
>
> 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
>
Nils, will you file a bug and fix this?
cheers,
Per
More information about the hotspot-compiler-dev
mailing list