use of org.graalvm.compiler.lir.amd64.AMD64Move.AMD64PushPopStackMove in project graal by oracle.
the class AMD64MoveFactoryBase method createStackMove.
@Override
public final AMD64LIRInstruction createStackMove(AllocatableValue result, AllocatableValue input) {
AMD64Kind kind = (AMD64Kind) result.getPlatformKind();
switch(kind.getSizeInBytes()) {
case 2:
return new AMD64PushPopStackMove(WORD, result, input);
case 8:
return new AMD64PushPopStackMove(QWORD, result, input);
default:
RegisterBackupPair backup = backupSlotProvider.getScratchRegister(input.getPlatformKind());
Register scratchRegister = backup.register;
VirtualStackSlot backupSlot = backup.backupSlot;
return createStackMove(result, input, scratchRegister, backupSlot);
}
}
Aggregations