Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2825.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2825 Author: eem Time: 26 September 2020, 3:07:01.119921 pm UUID: f2473bb9-cc41-42fc-879b-7b06e8de7de7 Ancestors: VMMaker.oscog-eem.2824 Fripperies. Add comments to those AbstractInstruction classes in-use not previously commented. Make the multi-window browser opening utilities more helpful/complete/accurate. =============== Diff against VMMaker.oscog-eem.2824 =============== Item was changed: CogARMCompiler subclass: #CogInLineLiteralsARMCompiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogInLineLiteralsARMCompiler commentStamp: 'eem 9/26/2020 15:02' prior: 0! + A CogInLineLiteralsARMCompiler is the concrete subclass of CogARMCompiler that stores literals in-line in machine-code. This code generator is not used. + + Instance Variables! Item was changed: CogX64Compiler subclass: #CogInLineLiteralsX64Compiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogInLineLiteralsX64Compiler commentStamp: 'eem 9/26/2020 15:02' prior: 0! + A CogInLineLiteralsX64Compiler is the concrete subclass of CogX64Compiler that stores literals in-line in machine-code. This is the production code generator for x64/x86-64. + + Instance Variables! Item was changed: CogARMCompiler subclass: #CogOutOfLineLiteralsARMCompiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogOutOfLineLiteralsARMCompiler commentStamp: 'eem 9/26/2020 15:03' prior: 0! + CogOutOfLineLiteralsARMCompiler is the concrete subclass of CogARMCompiler that stores literals out-of-line, accessed via pc-relative addressing. This is the production code generator for 32-bit ARM. + + Instance Variables + ! Item was changed: CogX64Compiler subclass: #CogOutOfLineLiteralsX64Compiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogOutOfLineLiteralsX64Compiler commentStamp: 'eem 9/26/2020 14:58' prior: 0! + A CogOutOfLineLiteralsX64Compiler is the concrete subclass of CogX64Compiler that stores literals out-of-line, accessed via pc-relative addressing. This code generator is not used. + + Instance Variables! Item was changed: ----- Method: VMClass class>>initialize (in category 'initialization') ----- initialize InitializationOptions ifNil: [InitializationOptions := Dictionary new]. ExpensiveAsserts := false. (Smalltalk classNamed: #Utilities) ifNotNil: [:utilitiesClass| (utilitiesClass classPool at: #CommonRequestStrings ifAbsent: []) ifNotNil: [:commonRequestStringHolder| (commonRequestStringHolder contents asString includesSubstring: 'VMClass open') ifFalse: + [Utilities appendToCommonRequests: '-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMMaker generateAllSpurConfigurations\VMClass openCogSpurMultiWindowBrowser\VMClass openCogV3MultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser\VMClass openCogitMultiWindowBrowser' withCRs]]]! - [Utilities appendToCommonRequests: '-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMMaker generateAllSpurConfigurations\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser\VMClass openCogSpurMultiWindowBrowser\VMClass openCogitMultiWindowBrowser' withCRs]]]! Item was removed: - ----- Method: VMClass class>>openCogMultiWindowBrowser (in category 'utilities') ----- - openCogMultiWindowBrowser - "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" - | b | - b := Browser open. - #( ObjectMemory NewObjectMemory NewCoObjectMemory - InterpreterPrimitives StackInterpreter StackInterpreterPrimitives CoInterpreter CoInterpreterPrimitives CoInterpreterMT - Cogit SimpleStackBasedCogit StackToRegisterMappingCogit - VMStructType VMMaker CCodeGenerator TMethod) - do: [:className| - (Smalltalk classNamed: className) ifNotNil: - [:class| b selectCategoryForClass: class; selectClass: class]] - separatedBy: - [b multiWindowState addNewWindow]. - b multiWindowState selectWindowIndex: 1! Item was changed: ----- Method: VMClass class>>openCogSpurMultiWindowBrowser (in category 'utilities') ----- openCogSpurMultiWindowBrowser + "Answer a new multi-window browser on the SpurMemoryManager classes, the Cog Interpreter classes, and the main JIT classes" - "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" | b | b := Browser open. #( SpurMemoryManager Spur32BitMemoryManager Spur32BitCoMemoryManager Spur64BitMemoryManager Spur64BitCoMemoryManager SpurGenerationScavenger InterpreterPrimitives StackInterpreter StackInterpreterPrimitives CoInterpreter CoInterpreterPrimitives CoInterpreterMT + Cogit SimpleStackBasedCogit StackToRegisterMappingCogit RegisterAllocatingCogit - Cogit SimpleStackBasedCogit StackToRegisterMappingCogit CogObjectRepresentation CogObjectRepresentationForSpur CogObjectRepresentationFor32BitSpur CogObjectRepresentationFor64BitSpur + CogRTLOpcodes CogAbstractRegisters CogAbstractInstruction), + (self sortedAbstractInstructionClasses collect: [:class| class name]), + #(VMStructType VMMaker CCodeGenerator TMethod) + do: [:classOrClassName| + (Smalltalk classNamed: classOrClassName) ifNotNil: - VMStructType VMMaker CCodeGenerator TMethod) - do: [:className| - (Smalltalk classNamed: className) ifNotNil: [:class| b selectCategoryForClass: class; selectClass: class]] separatedBy: [b multiWindowState addNewWindow]. b multiWindowState selectWindowIndex: 1! Item was added: + ----- Method: VMClass class>>openCogV3MultiWindowBrowser (in category 'utilities') ----- + openCogV3MultiWindowBrowser + "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" + | b | + b := Browser open. + #( ObjectMemory NewObjectMemory NewCoObjectMemory + InterpreterPrimitives StackInterpreter StackInterpreterPrimitives CoInterpreter CoInterpreterPrimitives CoInterpreterMT + Cogit SimpleStackBasedCogit StackToRegisterMappingCogit + VMStructType VMMaker CCodeGenerator TMethod) + do: [:className| + (Smalltalk classNamed: className) ifNotNil: + [:class| b selectCategoryForClass: class; selectClass: class]] + separatedBy: + [b multiWindowState addNewWindow]. + b multiWindowState selectWindowIndex: 1! Item was changed: ----- Method: VMClass class>>openCogitMultiWindowBrowser (in category 'utilities') ----- openCogitMultiWindowBrowser "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" "self openCogitMultiWindowBrowser" | b | b := Browser open. {CogRTLOpcodes. CogAbstractRegisters }, + self sortedAbstractInstructionClasses, - (CogAbstractInstruction withAllSubclasses reject: [:c| c name endsWith: 'Tests']), Cogit withAllSubclasses, {CogMethodZone }, CogObjectRepresentation withAllSubclasses, - (CogAbstractInstruction withAllSubclasses reject: [:c| c name endsWith: 'Tests']), CogBytecodeFixup withAllSubclasses, CogSimStackEntry withAllSubclasses, {VMStructType. VMMaker. CCodeGenerator. TMethod} do: [:class| b selectCategoryForClass: class; selectClass: class] separatedBy: [b multiWindowState addNewWindow]. b multiWindowState selectWindowIndex: 1! Item was added: + ----- Method: VMClass class>>sortedAbstractInstructionClasses (in category 'utilities') ----- + sortedAbstractInstructionClasses + "Answer the in-use processor classes in a rational order." + ^((CogAbstractInstruction subclasses sort: [:ca :cb| ca ISA <= cb ISA]) + collect: [:class| class = class defaultCompilerClass ifTrue: [{class}] ifFalse: [{class. class defaultCompilerClass}]]) fold: [:a :b| a, b]! |
Free forum by Nabble | Edit this page |