Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3095.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3095 Author: eem Time: 23 October 2021, 12:48:02.259634 pm UUID: 4a2893be-37f9-4703-ba97-6ccb01b44d4d Ancestors: VMMaker.oscog-eem.3094
CoInterpreter: Add ShortIntegerArray/SoundBuffer>>at:[put:] to primitives run on the Smalltalk stack.
=============== Diff against VMMaker.oscog-eem.3094 ===============
Item was changed: ----- Method: CoInterpreter>>primitivePropertyFlagsForSpur: (in category 'cog jit support') ----- primitivePropertyFlagsForSpur: primIndex <inline: true> "Answer any special requirements of the given primitive. Spur always needs to set primitiveFunctionPointer and newMethod so primitives can retry on failure due to forwarders." | baseFlags | self cCode: [] inSmalltalk: [#( primitiveObjectAtPut primitiveCopyObject primitiveSpurStringReplace primitiveSpurFloatArrayAt primitiveSpurFloatArrayAtPut primitiveExternalCall primitiveCalloutToFFI)]. "For senders..." baseFlags := profileSemaphore = objectMemory nilObject ifTrue: [0] ifFalse: [PrimCallCollectsProfileSamples].
+ (primIndex = PrimNumberObjectAtPut - (primIndex = PrimNumberObjectAtPut or: [primIndex = PrimNumberCopyObject + or: [primIndex = PrimNumberStringReplace + or: [primIndex = PrimNumberShortArrayAt + or: [primIndex = PrimNumberShortArrayAtPut]]]]) ifTrue: - or: [primIndex = PrimNumberStringReplace]]) ifTrue: [^baseFlags + PrimCallOnSmalltalkStack]. + + (primIndex = PrimNumberFloatArrayAt - (primIndex = PrimNumberFloatArrayAt or: [primIndex = PrimNumberFloatArrayAtPut]) ifTrue: [^baseFlags + PrimCallOnSmalltalkStack + PrimCallOnSmalltalkStackAlign2x].
baseFlags := baseFlags + PrimCallNeedsPrimitiveFunction + PrimCallNeedsNewMethod.
(self isCalloutPrimitiveIndex: primIndex) ifTrue: "For callbacks & module unloading" [^baseFlags + PrimCallMayEndureCodeCompaction + PrimCallIsExternalCall]. (self isCodeCompactingPrimitiveIndex: primIndex) ifTrue: "For code reclamations" [^baseFlags bitOr: PrimCallMayEndureCodeCompaction].
^baseFlags!
Item was changed: ----- Method: StackInterpreter class>>initializePrimitiveTable (in category 'initialization') ----- (excessive size, no diff calculated)
Item was changed: SharedPool subclass: #VMBytecodeConstants instanceVariableNames: '' + classVariableNames: 'BytecodeSetHasDirectedSuperSend CtxtTempFrameStart LargeContextBit LargeContextSize LargeContextSlots NewsqueakV4BytecodeSet PrimNumberDoExternalCall PrimNumberDoPrimitive PrimNumberExternalCall PrimNumberFFICall PrimNumberFloatArrayAt PrimNumberFloatArrayAtPut PrimNumberFlushExternalPrimitives PrimNumberInstVarAt PrimNumberShallowCopy PrimNumberShortArrayAt PrimNumberShortArrayAtPut PrimNumberSlotAt PrimNumberStringReplace PrimNumberUnloadModule SistaV1BytecodeSet SmallContextSize SmallContextSlots SqueakV3PlusClosuresBytecodeSet' - classVariableNames: 'BytecodeSetHasDirectedSuperSend CtxtTempFrameStart LargeContextBit LargeContextSize LargeContextSlots NewsqueakV4BytecodeSet PrimNumberDoExternalCall PrimNumberDoPrimitive PrimNumberExternalCall PrimNumberFFICall PrimNumberFloatArrayAt PrimNumberFloatArrayAtPut PrimNumberFlushExternalPrimitives PrimNumberInstVarAt PrimNumberShallowCopy PrimNumberSlotAt PrimNumberStringReplace PrimNumberUnloadModule SistaV1BytecodeSet SmallContextSize SmallContextSlots SqueakV3PlusClosuresBytecodeSet' poolDictionaries: 'VMBasicConstants' category: 'VMMaker-Interpreter'!
!VMBytecodeConstants commentStamp: '<historical>' prior: 0! self ensureClassPool. #(CtxtTempFrameStart LargeContextBit LargeContextSize SmallContextSize) do: [:k| self classPool declare: k from: ObjectMemory classPool]!
vm-dev@lists.squeakfoundation.org