Forráskód Böngészése

Fixed unnecessary dereference on cell types

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7055 8c9fc860-2736-0410-a75d-ab315db34111
skoster 8 éve
szülő
commit
3a250c7b9a
1 módosított fájl, 1 hozzáadás és 1 törlés
  1. 1 1
      source/FoxIntermediateBackend.Mod

+ 1 - 1
source/FoxIntermediateBackend.Mod

@@ -9088,7 +9088,7 @@ TYPE
 				IF backend.cooperative THEN
 					IntermediateCode.AddOffset(result.op,ToMemoryUnits(system,addressType.sizeInBits));
 				END;
-				IF ~x.type.resolved.IsPointer() THEN (* var par ! *)
+				IF ~(x.type.resolved.IsPointer() OR (x.type.resolved IS SyntaxTree.CellType) &  backend.cellsAreObjects) THEN (* var par ! *)
 					MakeMemory(result.op, result.op, addressType, 0);
 				END;
 				(* tag must be loaded when dereferencing SELF pointer *)