Marcel Taeumel uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-mt.1439.mcz
==================== Summary ====================
Name: System-mt.1439 Author: mt Time: 9 December 2023, 8:18:20.344807 am UUID: 32d474f2-ed75-4949-8608-7cf067ec2b3e Ancestors: System-mt.1438
Make #imageHeaderFlagAt:put: more robust and let it answer the prior value correctly.
=============== Diff against System-mt.1438 ===============
Item was changed: ----- Method: SmalltalkImage>>doMixedArithmetic: (in category 'system attributes') ----- doMixedArithmetic: aBoolean "Answer whether the VM can handle arithmetic conversions: SmallInteger arithmeticOp: Float (Small or Boxed) SmallInteger compareOp: Float (Small or Boxed) Else, the primitives will fail in case of mixed arithmetic, and conversion should be performed in the image. This flag persists across snapshots, stored in the image header." self vmParameterAt: 75 put: aBoolean. + "^(self imageHeaderFlagAt: 6 put: aBoolean not) not"! - "self imageHeaderFlagAt: 6 put: aBoolean not"!
Item was changed: ----- Method: SmalltalkImage>>imageHeaderFlagAt:put: (in category 'vm parameters') ----- imageHeaderFlagAt: bitIndex put: aBoolean "Persist image header flag. See commentary in #vmParameterAt:. Set or clear the flag (or bit) and the given bitIndex." | mask | mask := 1 << bitIndex. + ^ [(self vmParameterAt: 48 put: ((self vmParameterAt: 48 ifAbsent: [^ false] "non-Cog") bitClear: mask) + + (aBoolean ifTrue: [mask] ifFalse: [0])) anyMask: mask "prior value"] + on: Error do: [:ex | false "Unrecognized bit. Too high?"]! - ^ self vmParameterAt: 48 put: ((self vmParameterAt: 48 ifAbsent: [^ nil]) bitClear: mask) - + (aBoolean ifTrue: [mask] ifFalse: [0])!
Item was changed: ----- Method: SmalltalkImage>>upscaleDisplayOnHighDPI: (in category 'system attributes') ----- upscaleDisplayOnHighDPI: aBoolean "See commentary in #upscaleDisplayOnHighDPI." + ^ self vmVMMakerVersion > 3185 "i.e., later than OSVM 2022-06" + ifTrue: [(self imageHeaderFlagAt: 8 put: aBoolean not) not] + ifFalse: [true "Not supported. Please upgrade your VM."]! - ^ self imageHeaderFlagAt: 8 put: aBoolean not!
packages@lists.squeakfoundation.org