Tom Braun uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog.seperateMarking-WoC.3299.mcz
==================== Summary ====================
Name: VMMaker.oscog.seperateMarking-WoC.3299 Author: WoC Time: 12 January 2023, 2:17:47.774666 pm UUID: 6e0c3202-e7a3-4072-9da4-f0c4c7de0950 Ancestors: VMMaker.oscog.seperateMarking-WoC.3298
resolve forwarded compiled blocks if neccessary (I currently see no better possibility than resolving them in the StackInterpreter. As far as I understand they are one literal in CompiledMethods and we would have to scan all literal of allCompiledMethods to resolve them...)
=============== Diff against VMMaker.oscog.seperateMarking-WoC.3298 ===============
Item was changed: ----- Method: StackInterpreter>>extPushFullClosureBytecode (in category 'stack bytecodes') ----- extPushFullClosureBytecode "255 11111111 xxxxxxxx siyyyyyy push Closure Compiled block literal index xxxxxxxx (+ Extend A * 256) numCopied yyyyyy receiverOnStack: s = 1 ignoreOuterContext: i = 1 The compiler has pushed the values to be copied, if any. The receiver has been pushed on stack before if specified. Create a Closure with space for the copiedValues and pop numCopied values off the stack into the closure. Sets outerContext, compiledBlock, numArgs and receiver as specified.." | compiledBlockLiteralIndex compiledBlock byte numArgs numCopied receiverIsOnStack ignoreContext | compiledBlockLiteralIndex := self fetchByte + (extA << 8). extA := 0. + compiledBlock := objectMemory followMaybeForwarded: (self literal: compiledBlockLiteralIndex). - compiledBlock := self literal: compiledBlockLiteralIndex. self assert: (objectMemory isOopCompiledMethod: compiledBlock). numArgs := self argumentCountOf: compiledBlock. byte := self fetchByte. numCopied := byte bitAnd: 1<< 6 - 1. receiverIsOnStack := byte anyMask: 1 << 7. ignoreContext := byte anyMask: 1 << 6. self pushFullClosureNumArgs: numArgs copiedValues: numCopied compiledBlock: compiledBlock receiverIsOnStack: receiverIsOnStack ignoreContext: ignoreContext!
vm-dev@lists.squeakfoundation.org