use of com.oracle.truffle.llvm.runtime.memory.LLVMMemory in project graal by oracle.
the class LLVMStoreVectorNode method writeVector.
@Specialization(guards = "!isAutoDerefHandle(address)")
@ExplodeLoop
protected void writeVector(LLVMNativePointer address, LLVMI16Vector vector) {
assert vector.getLength() == getVectorLength();
LLVMMemory memory = getLanguage().getLLVMMemory();
long currentPtr = address.asNative();
for (int i = 0; i < getVectorLength(); i++) {
memory.putI16(this, currentPtr, vector.getValue(i));
currentPtr += I16_SIZE_IN_BYTES;
}
}
use of com.oracle.truffle.llvm.runtime.memory.LLVMMemory in project graal by oracle.
the class LLVMStoreVectorNode method writeVector.
@Specialization(guards = "!isAutoDerefHandle(address)")
@ExplodeLoop
protected void writeVector(LLVMNativePointer address, LLVMI32Vector vector) {
assert vector.getLength() == getVectorLength();
LLVMMemory memory = getLanguage().getLLVMMemory();
long currentPtr = address.asNative();
for (int i = 0; i < getVectorLength(); i++) {
memory.putI32(this, currentPtr, vector.getValue(i));
currentPtr += I32_SIZE_IN_BYTES;
}
}
use of com.oracle.truffle.llvm.runtime.memory.LLVMMemory in project graal by oracle.
the class LLVMStoreVectorNode method writeVector.
@Specialization(guards = "!isAutoDerefHandle(address)")
@ExplodeLoop
protected void writeVector(LLVMNativePointer address, LLVMDoubleVector vector) {
assert vector.getLength() == getVectorLength();
LLVMMemory memory = getLanguage().getLLVMMemory();
long currentPtr = address.asNative();
for (int i = 0; i < getVectorLength(); i++) {
memory.putDouble(this, currentPtr, vector.getValue(i));
currentPtr += DOUBLE_SIZE_IN_BYTES;
}
}
use of com.oracle.truffle.llvm.runtime.memory.LLVMMemory in project graal by oracle.
the class LLVMStoreVectorNode method writeVector.
@Specialization(guards = "!isAutoDerefHandle(address)")
@ExplodeLoop
protected void writeVector(LLVMNativePointer address, LLVMI8Vector vector) {
assert vector.getLength() == getVectorLength();
LLVMMemory memory = getLanguage().getLLVMMemory();
long currentPtr = address.asNative();
for (int i = 0; i < getVectorLength(); i++) {
memory.putI8(this, currentPtr, vector.getValue(i));
currentPtr += I8_SIZE_IN_BYTES;
}
}
use of com.oracle.truffle.llvm.runtime.memory.LLVMMemory in project graal by oracle.
the class LLVMStoreVectorNode method writeVector.
@Specialization(guards = "!isAutoDerefHandle(address)")
@ExplodeLoop
protected void writeVector(LLVMNativePointer address, LLVMI64Vector vector) {
assert vector.getLength() == getVectorLength();
LLVMMemory memory = getLanguage().getLLVMMemory();
long currentPtr = address.asNative();
for (int i = 0; i < getVectorLength(); i++) {
memory.putI64(this, currentPtr, vector.getValue(i));
currentPtr += I64_SIZE_IN_BYTES;
}
}
Aggregations