Mercurial > hg > graal-jvmci-8
changeset 23678:e86a0b0ba969
8159236: [JVMCI] Window-saved SPARC registers should not be considered callee-save
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Fri, 10 Jun 2016 14:04:40 +0200 |
parents | eb166b568645 |
children | b5557b757040 |
files | jvmci/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig.java |
diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig.java Thu Jun 09 18:58:09 2016 -0700 +++ b/jvmci/jdk.vm.ci.hotspot.sparc/src/jdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig.java Fri Jun 10 14:04:40 2016 +0200 @@ -134,10 +134,9 @@ private final Register[] callerSaveRegisters; /** - * Registers saved by the callee. This lists all L and I registers which are saved in the - * register window. + * This lists all L and I registers which are saved in the register window. */ - private final Register[] calleeSaveRegisters = { + private final Register[] windowSaveRegisters = { l0, l1, l2, l3, l4, l5, l6, l7, i0, i1, i2, i3, i4, i5, i6, i7}; // @formatter:on @@ -177,7 +176,7 @@ this.addNativeRegisterArgumentSlots = config.linuxOs; HashSet<Register> callerSaveSet = new HashSet<>(); Collections.addAll(callerSaveSet, target.arch.getAvailableValueRegisters()); - for (Register cs : calleeSaveRegisters) { + for (Register cs : windowSaveRegisters) { callerSaveSet.remove(cs); } this.callerSaveRegisters = callerSaveSet.toArray(new Register[callerSaveSet.size()]); @@ -189,8 +188,9 @@ return callerSaveRegisters; } + @Override public Register[] getCalleeSaveRegisters() { - return calleeSaveRegisters; + return null; } @Override