Marcel Taeumel uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-mt.3176.mcz
==================== Summary ====================
Name: VMMaker.oscog-mt.3176 Author: mt Time: 6 April 2022, 2:54:12.612017 pm UUID: e0dad7c2-84d4-c740-86d3-f270ffc43add Ancestors: VMMaker.oscog-mt.3175
Fixes v3.cog and v3.stack, which both do not specify the IMMUTABILITY option and thus there is no #define IMMUTABILITY in their generated interp.h, which will then make the generated sources for getCogVMFeatureFlags not compile.
Note that this seems to be a little bit different compared to, e.g., BIT_IDENTICAL_FLOATING_POINT. Not sure whether we want to discriminate between "defined" and "not defined" or "defined && 1" and "not defined || defined && !1". Seems to be mixed up at the moment. In any case, we must use a #cppIf:ifTrue:ifFalse: guard.
=============== Diff against VMMaker.oscog-mt.3175 ===============
Item was changed: ----- Method: StackInterpreter>>getCogVMFeatureFlags (in category 'internal interpreter access') ----- getCogVMFeatureFlags "Answer an array of flags indicating various optional features of the Cog VM. If the bit is set then... Bit 0: supports two bytecode sets (MULTIPLEBYTECODESETS) Bit 1: supports immutablity (IMMUTABILITY) Bit 2: suffers from a UNIX setitimer signal-based heartbeat Bit 3: the VM provides cross-platform bit-identical floating point Bit 4: the VM can catch exceptions in FFI calls and answer them as primitive failures Bit 5: the VM has suspend primitives 568 & 578 which back up a process to before the wait if it was waiting on a condition variable" ^objectMemory integerObjectOf: (MULTIPLEBYTECODESETS ifTrue: [1] ifFalse: [0]) + + (self cppIf: #IMMUTABILITY ifTrue: [IMMUTABILITY ifTrue: [2] ifFalse: [0]] ifFalse: [0]) - + (IMMUTABILITY ifTrue: [2] ifFalse: [0]) + (self cppIf: #'ITIMER_HEARTBEAT' ifTrue: [4] ifFalse: [0]) + (self cppIf: #'BIT_IDENTICAL_FLOATING_POINT' ifTrue: [8] ifFalse: [0]) + (self ioCanCatchFFIExceptions ifTrue: [16] ifFalse: [0]) + (RevisedSuspend ifTrue: [32] ifFalse: [0])!
vm-dev@lists.squeakfoundation.org