浏览代码

Patch for coop A2

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7033 8c9fc860-2736-0410-a75d-ab315db34111
felixf 8 年之前
父节点
当前提交
6432b56704
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      source/FoxIntermediateBackend.Mod

+ 5 - 5
source/FoxIntermediateBackend.Mod

@@ -12643,11 +12643,11 @@ TYPE
 			referenceSection := Block("Heaps","SystemBlockDesc",".@References",referenceSectionOffset);
 			referenceSection := Block("Heaps","SystemBlockDesc",".@References",referenceSectionOffset);
 			References(referenceSection);
 			References(referenceSection);
 			procTableSection := Block("Heaps","SystemBlockDesc",".@ProcTable",procTableSectionOffset);
 			procTableSection := Block("Heaps","SystemBlockDesc",".@ProcTable",procTableSectionOffset);
-			ProcedureDescriptorArray(procTableSection, numberProcs);
-			name := "Heaps.AnyPtr";
-			offset := ToMemoryUnits(module.system,TypeRecordBaseOffset*module.system.addressSize);
-			(* set base pointer *)
-			IF procTableSectionOffset > 0 THEN (*? for coop ? *)
+			IF ~implementationVisitor.backend.cooperative THEN
+				ProcedureDescriptorArray(procTableSection, numberProcs);
+				name := "Heaps.AnyPtr";
+				offset := ToMemoryUnits(module.system,TypeRecordBaseOffset*module.system.addressSize);
+				(* set base pointer *)
 				NamedSymbolAt(procTableSection, procTableSectionOffset  -1 , name, NIL, 0, offset);
 				NamedSymbolAt(procTableSection, procTableSectionOffset  -1 , name, NIL, 0, offset);
 			END;
 			END;