Mercurial > hg > truffle
comparison graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java @ 18976:3faa4f98d5c8
renamed LIRGenerator.emitForeignCall to emitForeignCallOp to avoid confusion
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 27 Jan 2015 21:24:24 +0100 |
parents | 76553fa0f02b |
children | 6fce03279f0a |
comparison
equal
deleted
inserted
replaced
18975:88083bb2e0f8 | 18976:3faa4f98d5c8 |
---|---|
247 | 247 |
248 public abstract Variable emitConditionalMove(PlatformKind cmpKind, Value leftVal, Value right, Condition cond, boolean unorderedIsTrue, Value trueValue, Value falseValue); | 248 public abstract Variable emitConditionalMove(PlatformKind cmpKind, Value leftVal, Value right, Condition cond, boolean unorderedIsTrue, Value trueValue, Value falseValue); |
249 | 249 |
250 public abstract Variable emitIntegerTestMove(Value leftVal, Value right, Value trueValue, Value falseValue); | 250 public abstract Variable emitIntegerTestMove(Value leftVal, Value right, Value trueValue, Value falseValue); |
251 | 251 |
252 protected abstract void emitForeignCall(ForeignCallLinkage linkage, Value result, Value[] arguments, Value[] temps, LIRFrameState info); | 252 /** |
253 * Emits the single call operation at the heart of generating LIR for a | |
254 * {@linkplain #emitForeignCall(ForeignCallLinkage, LIRFrameState, Value...) foreign call}. | |
255 */ | |
256 protected abstract void emitForeignCallOp(ForeignCallLinkage linkage, Value result, Value[] arguments, Value[] temps, LIRFrameState info); | |
253 | 257 |
254 public static AllocatableValue toStackKind(AllocatableValue value) { | 258 public static AllocatableValue toStackKind(AllocatableValue value) { |
255 if (value.getKind().getStackKind() != value.getKind()) { | 259 if (value.getKind().getStackKind() != value.getKind()) { |
256 // We only have stack-kinds in the LIR, so convert the operand kind for values from the | 260 // We only have stack-kinds in the LIR, so convert the operand kind for values from the |
257 // calling convention. | 261 // calling convention. |
289 AllocatableValue loc = linkageCc.getArgument(i); | 293 AllocatableValue loc = linkageCc.getArgument(i); |
290 emitMove(loc, arg); | 294 emitMove(loc, arg); |
291 argLocations[i] = loc; | 295 argLocations[i] = loc; |
292 } | 296 } |
293 res.setForeignCall(true); | 297 res.setForeignCall(true); |
294 emitForeignCall(linkage, linkageCc.getReturn(), argLocations, linkage.getTemporaries(), state); | 298 emitForeignCallOp(linkage, linkageCc.getReturn(), argLocations, linkage.getTemporaries(), state); |
295 | 299 |
296 if (isLegal(linkageCc.getReturn())) { | 300 if (isLegal(linkageCc.getReturn())) { |
297 return emitMove(linkageCc.getReturn()); | 301 return emitMove(linkageCc.getReturn()); |
298 } else { | 302 } else { |
299 return null; | 303 return null; |