use of cz.cuni.mff.d3s.trupple.language.runtime.customvalues.PointerValue in project TrufflePascal by Aspect26.
the class StrAllocNode method strAlloc.
@Specialization
PointerValue strAlloc(long size) {
PCharValue pchar = new PCharValue(size);
HeapSlot heapSlot = PascalHeap.getInstance().allocateNewObject(pchar);
PointerValue pointer = new PointerValue(PCharDesriptor.getInstance());
pointer.setHeapSlot(heapSlot);
return pointer;
}
use of cz.cuni.mff.d3s.trupple.language.runtime.customvalues.PointerValue in project TrufflePascal by Aspect26.
the class AssignToRecordField method assignPointer.
@Specialization
void assignPointer(RecordValue record, PointerValue pointer) {
PointerValue recordPointer = (PointerValue) record.getFrame().getValue(record.getSlot(this.identifier));
recordPointer.setHeapSlot(pointer.getHeapSlot());
}
Aggregations