Mercurial > hg > truffle
diff graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java @ 20883:7f4339cca304
[SPARC] Save thread register when doing a foreign call which destroys registers.
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Fri, 10 Apr 2015 12:00:38 +0200 |
parents | ed3e144ced29 |
children | ccddbb1409d2 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Thu Apr 09 23:40:18 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Fri Apr 10 12:00:38 2015 +0200 @@ -129,7 +129,7 @@ assert deoptInfo != null || getStub() != null; } - if (hotspotLinkage.needsJavaFrameAnchor()) { + if (linkage.destroysRegisters() || hotspotLinkage.needsJavaFrameAnchor()) { HotSpotRegistersProvider registers = getProviders().getRegisters(); Register thread = registers.getThreadRegister(); Value threadTemp = newVariable(LIRKind.value(Kind.Long));