Mercurial > hg > truffle
comparison graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java @ 19156:247419385312
[SPARC] do not create superfluous copies of variables.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Thu, 05 Feb 2015 10:34:13 +0100 |
parents | cd49455040c1 |
children | 3a2fce66fda0 |
comparison
equal
deleted
inserted
replaced
19155:ac9ad302e12f | 19156:247419385312 |
---|---|
170 | 170 |
171 private void moveValueToThread(Value v, int offset) { | 171 private void moveValueToThread(Value v, int offset) { |
172 LIRKind wordKind = LIRKind.value(getProviders().getCodeCache().getTarget().wordKind); | 172 LIRKind wordKind = LIRKind.value(getProviders().getCodeCache().getTarget().wordKind); |
173 RegisterValue thread = getProviders().getRegisters().getThreadRegister().asValue(wordKind); | 173 RegisterValue thread = getProviders().getRegisters().getThreadRegister().asValue(wordKind); |
174 SPARCAddressValue pendingDeoptAddress = new SPARCAddressValue(wordKind, thread, offset); | 174 SPARCAddressValue pendingDeoptAddress = new SPARCAddressValue(wordKind, thread, offset); |
175 append(new StoreOp(v.getKind(), pendingDeoptAddress, emitMove(v), null)); | 175 append(new StoreOp(v.getKind(), pendingDeoptAddress, load(v), null)); |
176 } | 176 } |
177 | 177 |
178 @Override | 178 @Override |
179 public void emitDeoptimize(Value actionAndReason, Value speculation, LIRFrameState state) { | 179 public void emitDeoptimize(Value actionAndReason, Value speculation, LIRFrameState state) { |
180 moveDeoptValuesToThread(actionAndReason, speculation); | 180 moveDeoptValuesToThread(actionAndReason, speculation); |