From c174108e095710c3b54c329cc7609c29563d5014 Mon Sep 17 00:00:00 2001 From: nilspolek Date: Tue, 23 Jan 2024 17:18:54 +0100 Subject: [PATCH] fixed some mistakes --- njvm.c | 8 ++++---- njvm.o | Bin 45992 -> 47976 bytes record.c | 17 ++++++++++------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/njvm.c b/njvm.c index 1fffc07..c68f026 100644 --- a/njvm.c +++ b/njvm.c @@ -243,16 +243,16 @@ void execute(struct program program) { break; case NEW: if (debug == 1) printf("new"); - push(stack, newRecord(SIGN_EXTEND(IMMEDIATE(program.program[i])))) + push(stack, stackSlotWithObjRef(newRecord(SIGN_EXTEND(IMMEDIATE(program.program[i]))))); break; case GETF: if (debug == 1) printf("getf"); - push(stack, getField(pop(stack), SIGN_EXTEND(IMMEDIATE(program.program[i])))) + push(stack, stackSlotWithObjRef(getField(pop(stack).u.objRef,SIGN_EXTEND(IMMEDIATE(program.program[i]))))); break; case PUTF: if (debug == 1) printf("putf"); - tempObj = pop(stack) - setField(pop(stack), SIGN_EXTEND(IMMEDIATE(program.program[i])),tempObj) + tempObj = pop(stack).u.objRef; + setField(pop(stack).u.objRef, SIGN_EXTEND(IMMEDIATE(program.program[i])),tempObj); break; } } diff --git a/njvm.o b/njvm.o index a92cc653831c4343605641273d8f8f437133e967..300540222201835de73a4da891e820faa0f8ecaf 100644 GIT binary patch literal 47976 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 Z!dD{g5#&(#A4BbS9~&e?sAPGb{y(=PNnQW| literal 45992 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 tXzsYQ98HWJM?%f@qo+93WQUsMP!k<$fsize = MSB & size; for(int i = 0; i < size; i++) { - GET_REFS_PTR(record)[i] = malloc(8) + GET_REFS_PTR(record)[i] = malloc(8); } + return record; } -ObjRef getField(ObjRef array, int point){ - return *(ObjRef *)GET_REFS_PTR(array)[point]->data +ObjRef getField(ObjRef arr, int point){ + return *(ObjRef *)GET_REFS_PTR(arr)[point]->data; } -setField(ObjRef array, int point, ObjRef value){ - (ObjRef *)GET_REFS_PTR(array)[point]->data = value +void setField(ObjRef arr, int point, ObjRef value){ + * (ObjRef *)GET_REFS_PTR(arr)[point]->data = value; } #endif \ No newline at end of file