2
0
Эх сурвалжийг харах

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 жил өмнө
parent
commit
70e4c5c2ad

+ 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