Browse Source

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 years ago
parent
commit
70e4c5c2ad
1 changed files with 1 additions and 8 deletions
  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