use of org.graalvm.compiler.lir.aarch64.AArch64CCall in project graal by oracle.
the class AArch64HotSpotLIRGenerator method emitCCall.
@Override
public void emitCCall(long address, CallingConvention nativeCallingConvention, Value[] args) {
Value[] argLocations = new Value[args.length];
getResult().getFrameMapBuilder().callsMethod(nativeCallingConvention);
for (int i = 0; i < args.length; i++) {
Value arg = args[i];
AllocatableValue loc = nativeCallingConvention.getArgument(i);
emitMove(loc, arg);
argLocations[i] = loc;
}
Value ptr = emitLoadConstant(LIRKind.value(AArch64Kind.QWORD), JavaConstant.forLong(address));
append(new AArch64CCall(nativeCallingConvention.getReturn(), ptr, argLocations));
}
Aggregations