Ver código fonte

fof removed SELF pointers from the list of pointers for the GC (as constant references they do not need to be traced and for records it is even wrong)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8670 8c9fc860-2736-0410-a75d-ab315db34111
eth.morozova 6 anos atrás
pai
commit
70e4c5c2ad
1 arquivos alterados com 1 adições e 8 exclusões
  1. 1 8
      source/FoxIntermediateBackend.Mod

+ 1 - 8
source/FoxIntermediateBackend.Mod

@@ -14361,14 +14361,7 @@ TYPE
 						END;
 						parameter := parameter.nextParameter;
 					END;
-					IF scope(SyntaxTree.ProcedureScope).ownerProcedure.type(SyntaxTree.ProcedureType).isDelegate THEN 
-						parametersSize := implementationVisitor.ProcParametersSize(scope(SyntaxTree.ProcedureScope).ownerProcedure);
-						INC(parametersSize,ToMemoryUnits(module.system,module.system.addressSize));
-						IF implementationVisitor.backend.preciseGC THEN
-							INC(parametersSize,ToMemoryUnits(module.system,module.system.addressSize));
-						END;
-						Symbol(source, NIL, 0, parametersSize); INC(numberPointers);
-					END;
+					(* a self parameter does not need to be traced *)
 					variable := scope(SyntaxTree.ProcedureScope).firstVariable;
 					WHILE(variable # NIL) DO
 						IF ~(variable.untraced) & (variable.externalName = NIL) THEN