[riscv-port] RFR: 8276989: riscv: C1 should not allocate x3, which is the gp register
shade at openjdk.java.net
Mon Nov 15 08:22:52 UTC 2021
On Thu, 11 Nov 2021 09:28:13 GMT, zhengxiaolinX <duke at openjdk.java.net> wrote:
> Hi team,
> x3 is a special register on RISCV and we should not use it as a register allocation candidate - if users write JNI programs referencing global variables, where ld could link global reference loading logic to an instruction like 'ld $Rtmp, $offset(x3)', and try to call vm functions, C1 will zap x3's value and causes a crash. It seems C2 doesn't use x3 so we are just aligning the logic with C2 properly.
No need for two reviewers in non-mainline projects.
Marked as reviewed by shade (Reviewer).
More information about the riscv-port-dev