Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3202.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3202 Author: eem Time: 27 June 2022, 1:23:02.624292 pm UUID: a1998bb2-eaf7-4509-91e3-2154d146c90b Ancestors: VMMaker.oscog-eem.3201
Merge VMMaker.oscog.seperateMarking-eem.3204:
Add the means to alter the method order when generating a source file. sourceSortingKey on the class side allows a custom sort order.
=============== Diff against VMMaker.oscog-eem.3201 ===============
Item was changed: ----- Method: CCodeGenerator>>sortMethods: (in category 'utilities') ----- sortMethods: aTMethodCollection "We need to define this since different Squeak versions answer different results for asSortedCollection and if sort order changes, generated code changes too. When generating VM code, use class name as major sort index as this groups some methods by functionality (e.g. SpurGenerationScavenger) and that makes the VMProfiler more useful." ^aTMethodCollection asSortedCollection: (self isGeneratingPluginCode ifTrue: [[:a :b| a selector caseSensitiveLessOrEqual: b selector]] ifFalse: [[:a :b| + a definingClass sourceSortingKey = b definingClass sourceSortingKey - a definingClass = b definingClass ifTrue: [a selector caseSensitiveLessOrEqual: b selector] + ifFalse: [a definingClass sourceSortingKey caseSensitiveLessOrEqual: b definingClass sourceSortingKey]]])! - ifFalse: [a definingClass name caseSensitiveLessOrEqual: b definingClass name]]])!
Item was added: + ----- Method: VMClass class>>sourceSortingKey (in category 'translation') ----- + sourceSortingKey + "Answer the key used to sort methods when generating a source file. By + default this is the name of the class, but can be overridden to alter the + source order, for example to ensure that methods are emitted in the same + order during a refactoring where methods are moved to different classes." + ^self name!
vm-dev@lists.squeakfoundation.org