Browse Source

rebuilt release

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6780 8c9fc860-2736-0410-a75d-ab315db34111
felixf 9 years ago
parent
commit
1160bd4dc0
63 changed files with 45 additions and 20 deletions
  1. BIN
      WinAos/A2.exe
  2. BIN
      WinAos/obg/Clipboard.GofW
  3. BIN
      WinAos/obg/Compiler.GofW
  4. BIN
      WinAos/obg/ComponentInfo.GofW
  5. BIN
      WinAos/obg/DTPText.GofW
  6. BIN
      WinAos/obg/DTPView.GofW
  7. BIN
      WinAos/obg/EFIGraphicalConsole.GofW
  8. BIN
      WinAos/obg/FoxARMBackend.GofW
  9. 28 11
      WinAos/obg/FoxARMBackend.SymW
  10. BIN
      WinAos/obg/FoxARMInstructionSet.GofW
  11. BIN
      WinAos/obg/FoxIntermediateBackend.GofW
  12. 1 1
      WinAos/obg/FoxIntermediateBackend.SymW
  13. BIN
      WinAos/obg/ModuleTrees.GofW
  14. BIN
      WinAos/obg/PET.GofW
  15. BIN
      WinAos/obg/PETReleaseTree.GofW
  16. BIN
      WinAos/obg/PETTrees.GofW
  17. BIN
      WinAos/obg/PartitionsLib.GofW
  18. BIN
      WinAos/obg/Reflection.GofW
  19. 5 4
      WinAos/obg/Reflection.SymW
  20. BIN
      WinAos/obg/Release.GofW
  21. 2 1
      WinAos/obg/Release.SymW
  22. BIN
      WinAos/obg/Repositories.GofW
  23. BIN
      WinAos/obg/TFModuleTrees.GofW
  24. BIN
      WinAos/obg/TFPET.GofW
  25. BIN
      WinAos/obg/Texts.GofW
  26. BIN
      WinAos/obg/VMWareTools.GofW
  27. BIN
      WinAos/obg/WMCalendar.GofW
  28. BIN
      WinAos/obg/WMColorComponents.GofW
  29. BIN
      WinAos/obg/WMComponents.GofW
  30. 1 1
      WinAos/obg/WMComponents.SymW
  31. BIN
      WinAos/obg/WMDiagnostics.GofW
  32. BIN
      WinAos/obg/WMDiagramComponents.GofW
  33. BIN
      WinAos/obg/WMDiff.GofW
  34. BIN
      WinAos/obg/WMDocumentEditor.GofW
  35. BIN
      WinAos/obg/WMDropDownLists.GofW
  36. BIN
      WinAos/obg/WMEditors.GofW
  37. BIN
      WinAos/obg/WMEvents.GofW
  38. 7 1
      WinAos/obg/WMEvents.SymW
  39. BIN
      WinAos/obg/WMGrids.GofW
  40. BIN
      WinAos/obg/WMInspectionComponents.GofW
  41. BIN
      WinAos/obg/WMInspector.GofW
  42. BIN
      WinAos/obg/WMMenus.GofW
  43. BIN
      WinAos/obg/WMModuleState.GofW
  44. BIN
      WinAos/obg/WMPartitions.GofW
  45. BIN
      WinAos/obg/WMPartitionsComponents.GofW
  46. BIN
      WinAos/obg/WMPerfMonComponents.GofW
  47. BIN
      WinAos/obg/WMPieMenu.GofW
  48. BIN
      WinAos/obg/WMPinyinIME.GofW
  49. BIN
      WinAos/obg/WMProgressComponents.GofW
  50. BIN
      WinAos/obg/WMProperties.GofW
  51. BIN
      WinAos/obg/WMSearchComponents.GofW
  52. BIN
      WinAos/obg/WMStandardComponents.GofW
  53. BIN
      WinAos/obg/WMStringGrids.GofW
  54. BIN
      WinAos/obg/WMSystemComponents.GofW
  55. BIN
      WinAos/obg/WMTabComponents.GofW
  56. BIN
      WinAos/obg/WMTextTool.GofW
  57. BIN
      WinAos/obg/WMTextView.GofW
  58. 1 1
      WinAos/obg/WMTextView.SymW
  59. BIN
      WinAos/obg/WMTrees.GofW
  60. BIN
      WinAos/obg/WMUnicodeIME.GofW
  61. BIN
      WinAos/obg/WMVNCView.GofW
  62. BIN
      WinAos/obg/WMXMLTree.GofW
  63. BIN
      WinAos/obg/WebBrowserComponents.GofW

BIN
WinAos/A2.exe


BIN
WinAos/obg/Clipboard.GofW


BIN
WinAos/obg/Compiler.GofW


BIN
WinAos/obg/ComponentInfo.GofW


BIN
WinAos/obg/DTPText.GofW


BIN
WinAos/obg/DTPView.GofW


BIN
WinAos/obg/EFIGraphicalConsole.GofW


BIN
WinAos/obg/FoxARMBackend.GofW


+ 28 - 11
WinAos/obg/FoxARMBackend.SymW

@@ -150,7 +150,6 @@ CONST
 	opTST = InstructionSet.opTST; 
 	opUMLAL = InstructionSet.opUMLAL; 
 	opUMULL = InstructionSet.opUMULL; 
-	MaximumFixupDistance = 1024; 
 	GetSP = 0; 
 	SetSP = 1; 
 	GetFP = 2; 
@@ -170,7 +169,7 @@ CONST
 	ADDC = 16; 
 	PACK = 17; 
 	UNPK = 18; 
-	UseFPUFlag = \"useFPU"\; 
+	UseFPU32Flag = \"useFPU32"\; 
 	UseFPU64Flag = \"useFPU64"\; 
 TYPE 
 	Operand = InstructionSet.Operand; 
@@ -180,6 +179,8 @@ TYPE
 	Citation = OBJECT 
 	VAR 
 		pc: LONGINT; 
+		bits: SIZE; 
+		shift: SIZE; 
 		next: Citation; 
 	END Citation; 
 
@@ -187,9 +188,11 @@ TYPE
 	VAR 
 		firstCitation, lastCitation: Citation; 
 		next: Reference; 
+		size: SIZE; 
 
-		PROCEDURE ^  & Init; 
-		PROCEDURE ^ AddCitation(pc: LONGINT); 
+		PROCEDURE ^  & Init(size: SIZE); 
+		PROCEDURE ^ Emit(out: BinaryCode.Section); 
+		PROCEDURE ^ AddCitation(pc: LONGINT; bits: SIZE; shift: SIZE); 
 	END Reference; 
 
 	ImmediateReference = OBJECT (Reference)
@@ -197,26 +200,39 @@ TYPE
 		value: LONGINT; 
 
 		PROCEDURE ^  & InitImm(v: LONGINT); 
+		PROCEDURE ^ Emit(out: BinaryCode.Section); 
 	END ImmediateReference; 
 
+	ImmediateHReference = OBJECT (Reference)
+	VAR 
+		value: HUGEINT; 
+
+		PROCEDURE ^  & InitImm(v: HUGEINT); 
+		PROCEDURE ^ Emit(out: BinaryCode.Section); 
+	END ImmediateHReference; 
+
 	SymbolReference = OBJECT (Reference)
 	VAR 
-		symbol: Sections.SectionName; 
-		fingerprint: LONGINT; 
+		identifier: ObjectFile.Identifier; 
 		symbolOffset: LONGINT; 
 
 		PROCEDURE ^  & InitSym(s: Sections.SectionName; fp: LONGINT; offs: LONGINT); 
+		PROCEDURE ^ Emit(out: BinaryCode.Section); 
 	END SymbolReference; 
 
 	ListOfReferences = OBJECT 
 	VAR 
 		firstReference, lastReference: Reference; 
-		referenceCount: LONGINT; 
-		pcOfFirstCitation: LONGINT; 
+		size: SIZE; 
+		due: SIZE; 
 
 		PROCEDURE ^  & Init; 
-		PROCEDURE ^ AddSymbol(symbol: Sections.SectionName; fingerprint: LONGINT; symbolOffset: LONGINT; pc: LONGINT); 
-		PROCEDURE ^ AddImmediate(value: LONGINT; pc: LONGINT); 
+		PROCEDURE ^ UpdateDue(pc: SIZE; bits: SIZE; shift: SIZE); 
+		PROCEDURE ^ AddCitation(reference: Reference; pc: SIZE; bits: SIZE; shift: SIZE); 
+		PROCEDURE ^ AddReference(reference: Reference): Reference; 
+		PROCEDURE ^ AddSymbol(symbol: Sections.SectionName; fingerprint: LONGINT; symbolOffset: LONGINT; pc: LONGINT; bits: LONGINT); 
+		PROCEDURE ^ AddImmediate(value: LONGINT; pc: SIZE; bits: SIZE); 
+		PROCEDURE ^ AddHImmediate(value: HUGEINT; pc: LONGINT; bits: SIZE); 
 	END ListOfReferences; 
 
 	PhysicalRegisters* = OBJECT (CodeGenerators.PhysicalRegisters)
@@ -250,7 +266,6 @@ TYPE
 		stackSize: LONGINT; 
 		stackSizeKnown: BOOLEAN; 
 		inStackAllocation: BOOLEAN; 
-		fixupPattern: ObjectFile.FixupPatterns; 
 
 		PROCEDURE ^  & InitGeneratorARM(CONST runtimeModuleName: SyntaxTree.IdentifierString; diagnostics: Diagnostics.Diagnostics; backend: BackendARM); 
 		PROCEDURE ^ Section*(in: IntermediateCode.Section; out: BinaryCode.Section); 
@@ -290,6 +305,7 @@ TYPE
 		PROCEDURE ^ IsDoublePrecisionFloat(CONST irOperand: IntermediateCode.Operand): BOOLEAN; 
 		PROCEDURE ^ IsFloat(CONST irOperand: IntermediateCode.Operand): BOOLEAN; 
 		PROCEDURE ^ IsInteger(CONST irOperand: IntermediateCode.Operand): BOOLEAN; 
+		PROCEDURE ^ IsInteger64(CONST irOperand: IntermediateCode.Operand): BOOLEAN; 
 		PROCEDURE ^ PartType(CONST type: IntermediateCode.Type; part: LONGINT): IntermediateCode.Type; 
 		PROCEDURE ^ GetPartType*(CONST type: IntermediateCode.Type; part: LONGINT; VAR partType: IntermediateCode.Type); 
 		PROCEDURE ^ ValueOfPart(value: HUGEINT; part: LONGINT): LONGINT; 
@@ -376,6 +392,7 @@ TYPE
 	END BackendARM; 
 VAR 
 	emptyOperand: Operand; 
+	rFixupPattern: ObjectFile.FixupPatterns; 
 
 	PROCEDURE ^ Assert(condition: BOOLEAN; CONST message: ARRAY OF CHAR); 
 	PROCEDURE ^ Halt(CONST message: ARRAY OF CHAR); 

BIN
WinAos/obg/FoxARMInstructionSet.GofW


BIN
WinAos/obg/FoxIntermediateBackend.GofW


+ 1 - 1
WinAos/obg/FoxIntermediateBackend.SymW

@@ -82,7 +82,6 @@ CONST
 	Size7Flag = 9; 
 	Size8Flag = 10; 
 	ReflectionSupport = TRUE; 
-	PreciseGCSupport = TRUE; 
 TYPE 
 	SupportedInstructionProcedure* = PROCEDURE {DELEGATE}(CONST instr: IntermediateCode.Instruction; VAR moduleName, procedureName: ARRAY OF CHAR):BOOLEAN; 
 
@@ -582,6 +581,7 @@ TYPE
 		preregisterStatic-: BOOLEAN; 
 		dump-: Basic.Writer; 
 		cellsAreObjects: BOOLEAN; 
+		preciseGC: BOOLEAN; 
 
 		PROCEDURE ^  & InitIntermediateBackend*; 
 		PROCEDURE ^ GenerateIntermediate*(x: SyntaxTree.Module; supportedInstruction: SupportedInstructionProcedure; supportedImmediate: SupportedImmediateProcedure): Sections.Module; 

BIN
WinAos/obg/ModuleTrees.GofW


BIN
WinAos/obg/PET.GofW


BIN
WinAos/obg/PETReleaseTree.GofW


BIN
WinAos/obg/PETTrees.GofW


BIN
WinAos/obg/PartitionsLib.GofW


BIN
WinAos/obg/Reflection.GofW


+ 5 - 4
WinAos/obg/Reflection.SymW

@@ -99,10 +99,11 @@ VAR
 	PROCEDURE ^ WriteType*(w: Streams.Writer; adr: ADDRESS); 
 	PROCEDURE ^ WriteProc0(w: Streams.Writer; mod: Modules.Module; pc, fp: ADDRESS; VAR refs: Modules.Bytes; VAR refpos: LONGINT; VAR base: ADDRESS); 
 	PROCEDURE ^ WriteBasicValue*(w: Streams.Writer; type: CHAR; adr: ADDRESS; VAR size: SIZE); 
-	PROCEDURE ^ WriteValueString*(w: Streams.Writer; adr: ADDRESS; maxLen: LONGINT); 
-	PROCEDURE ^ WriteValue*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; adr: ADDRESS); 
-	PROCEDURE ^ WriteVariable*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; base: ADDRESS); 
-	PROCEDURE ^ WriteVariables*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; base: ADDRESS); 
+	PROCEDURE ^ OnHeapOrStack(adr: ADDRESS; low, high: ADDRESS): BOOLEAN; 
+	PROCEDURE ^ WriteValueString*(w: Streams.Writer; adr: ADDRESS; maxLen: LONGINT; low, high: ADDRESS); 
+	PROCEDURE ^ WriteValue*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; adr: ADDRESS; low, high: ADDRESS); 
+	PROCEDURE ^ WriteVariable*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; base: ADDRESS; low, high: ADDRESS); 
+	PROCEDURE ^ WriteVariables*(w: Streams.Writer; refs: Modules.Bytes; VAR offset: LONGINT; base: ADDRESS; low, high: ADDRESS); 
 	PROCEDURE ^ SkipType*(refs: Modules.Bytes; VAR offset: LONGINT); 
 	PROCEDURE ^ SkipProcedure*(refs: Modules.Bytes; VAR offset: LONGINT); 
 	PROCEDURE ^ SkipVariable*(refs: Modules.Bytes; VAR offset: LONGINT); 

BIN
WinAos/obg/Release.GofW


+ 2 - 1
WinAos/obg/Release.SymW

@@ -166,7 +166,8 @@ TYPE
 		prefixes: ARRAY MaxPrefixes OF Name; 
 		excludedPackages: Strings.StringArray; 
 		onlyPackages: Strings.StringArray; 
-		compiler, compileOptions, linker, linkOptions: ARRAY 128 OF CHAR; 
+		compileOptions, linkOptions: Options.Parameter; 
+		compiler, linker: ARRAY 128 OF CHAR; 
 		target: ARRAY 8 OF CHAR; 
 		extension: ARRAY 8 OF CHAR; 
 		symbolFileExtension: ARRAY 8 OF CHAR; 

BIN
WinAos/obg/Repositories.GofW


BIN
WinAos/obg/TFModuleTrees.GofW


BIN
WinAos/obg/TFPET.GofW


BIN
WinAos/obg/Texts.GofW


BIN
WinAos/obg/VMWareTools.GofW


BIN
WinAos/obg/WMCalendar.GofW


BIN
WinAos/obg/WMColorComponents.GofW


BIN
WinAos/obg/WMComponents.GofW


+ 1 - 1
WinAos/obg/WMComponents.SymW

@@ -164,7 +164,7 @@ TYPE
 		PROCEDURE ^ PropertyChanged*(sender, property: ANY); 
 		PROCEDURE ^ RecacheProperties*; 
 		PROCEDURE ^ InternalPropertyChanged(sender, property: ANY); 
-		PROCEDURE ^ InternalLinkChanged(sender, property: ANY); 
+		PROCEDURE ^ InternalLinkChanged(sender, link: ANY); 
 	END Component; 
 
 	Macro* = ARRAY 128 OF CHAR; 

BIN
WinAos/obg/WMDiagnostics.GofW


BIN
WinAos/obg/WMDiagramComponents.GofW


BIN
WinAos/obg/WMDiff.GofW


BIN
WinAos/obg/WMDocumentEditor.GofW


BIN
WinAos/obg/WMDropDownLists.GofW


BIN
WinAos/obg/WMEditors.GofW


BIN
WinAos/obg/WMEvents.GofW


+ 7 - 1
WinAos/obg/WMEvents.SymW

@@ -1,5 +1,5 @@
 MODULE WMEvents;
-	IMPORT Strings, KernelLog;
+	IMPORT Kernel, Objects, Strings, KernelLog;
 CONST 
 TYPE 
 	String = Strings.String; 
@@ -27,8 +27,13 @@ TYPE
 		owner: ANY; 
 		finder: CompCommandFinder; 
 		next: EventSource; 
+		minimalDelay: LONGINT; 
+		updateTimer: Kernel.MilliTimer; 
+		lastFrameTimer: Objects.Timer; 
+		lastPar: ANY; 
 
 		PROCEDURE ^  & New*(owner: ANY; name, info: String; finder: CompCommandFinder); 
+		PROCEDURE ^ SetMinimalDelay*(ms: LONGINT); 
 		PROCEDURE ^ GetName*(): String; 
 		PROCEDURE ^ GetInfo*(): String; 
 		PROCEDURE ^ Add*(observer: EventListener); 
@@ -37,6 +42,7 @@ TYPE
 		PROCEDURE ^ RemoveByString*(string: String); 
 		PROCEDURE ^ CallWithSender*(sender, par: ANY); 
 		PROCEDURE ^ Call*(par: ANY); 
+		PROCEDURE ^ Call0; 
 		PROCEDURE ^ HasListeners*(): BOOLEAN; 
 	END EventSource; 
 

BIN
WinAos/obg/WMGrids.GofW


BIN
WinAos/obg/WMInspectionComponents.GofW


BIN
WinAos/obg/WMInspector.GofW


BIN
WinAos/obg/WMMenus.GofW


BIN
WinAos/obg/WMModuleState.GofW


BIN
WinAos/obg/WMPartitions.GofW


BIN
WinAos/obg/WMPartitionsComponents.GofW


BIN
WinAos/obg/WMPerfMonComponents.GofW


BIN
WinAos/obg/WMPieMenu.GofW


BIN
WinAos/obg/WMPinyinIME.GofW


BIN
WinAos/obg/WMProgressComponents.GofW


BIN
WinAos/obg/WMProperties.GofW


BIN
WinAos/obg/WMSearchComponents.GofW


BIN
WinAos/obg/WMStandardComponents.GofW


BIN
WinAos/obg/WMStringGrids.GofW


BIN
WinAos/obg/WMSystemComponents.GofW


BIN
WinAos/obg/WMTabComponents.GofW


BIN
WinAos/obg/WMTextTool.GofW


BIN
WinAos/obg/WMTextView.GofW


+ 1 - 1
WinAos/obg/WMTextView.SymW

@@ -1,5 +1,5 @@
 MODULE WMTextView;
-	IMPORT Kernel, Modules, Inputs, KernelLog, XML, Texts, TextUtilities, SyntaxHighlighter, WMGraphics, WMGraphicUtilities, WMMessages, WMComponents, WMStandardComponents, Strings, WMDropTarget, Raster, WMRectangles, WMWindowManager, WMProperties, Commands, FileHandlers, Streams, WMPopups, FP1616, WMPieMenu, WMEvents, UnicodeBidirectionality, PositionDebugging, ContextualDependency;
+	IMPORT Kernel, Modules, Inputs, KernelLog, XML, Texts, TextUtilities, SyntaxHighlighter, WMGraphics, WMGraphicUtilities, WMMessages, WMComponents, WMStandardComponents, Strings, WMDropTarget, Raster, WMRectangles, WMWindowManager, WMProperties, Commands, FileHandlers, Streams, WMPopups, FP1616, WMPieMenu, WMEvents, UnicodeBidirectionality, PositionDebugging, ContextualDependency, D := Debugging;
 CONST 
 	TraceRenderOptimize = 0; 
 	TraceLayout = 1; 

BIN
WinAos/obg/WMTrees.GofW


BIN
WinAos/obg/WMUnicodeIME.GofW


BIN
WinAos/obg/WMVNCView.GofW


BIN
WinAos/obg/WMXMLTree.GofW


BIN
WinAos/obg/WebBrowserComponents.GofW