[Vm-dev] VM Maker: VMMaker.oscog-eem.1447.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Sep 1 18:41:06 UTC 2015
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1447.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1447
Author: eem
Time: 1 September 2015, 11:38:44.935 am
UUID: 21232acb-44b6-4dc4-a345-108a56a916a8
Ancestors: VMMaker.oscog-eem.1446
Whoops! Several of the flags were inverted when computing the flag word written to the image header. Also, queueMourner: must check for an empty or full queue.
=============== Diff against VMMaker.oscog-eem.1446 ===============
Item was changed:
----- Method: CoInterpreter>>getImageHeaderFlags (in category 'image save/restore') -----
getImageHeaderFlags
"Answer the flags that are contained in the 7th long of the image header."
^fullScreenFlag "0 or 1"
+ (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) "this is the imageFloatsLittleEndian flag"
+ (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
+ (preemptionYields ifTrue: [0] ifFalse: [16r10])
+ + (newFinalization ifTrue: [16r40] ifFalse: [0])
- + (newFinalization ifTrue: [0] ifFalse: [16r40])
+ (imageHeaderFlags bitClear: 16r5B) "these are any flags we do not recognize"!
Item was changed:
----- Method: CoInterpreterMT>>getImageHeaderFlags (in category 'image save/restore') -----
getImageHeaderFlags
"Answer the flags that are contained in the 7th long of the image header."
^fullScreenFlag "0 or 1"
+ (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) "this is the imageFloatsLittleEndian flag"
+ + (processHasThreadId ifTrue: [4] ifFalse: [0])
- + (processHasThreadId ifTrue: [0] ifFalse: [4])
+ (flagInterpretedMethods ifTrue: [8] ifFalse: [0])
+ (preemptionYields ifTrue: [0] ifFalse: [16r10])
+ (noThreadingOfGUIThread ifTrue: [16r20] ifFalse: [0])
+ + (newFinalization ifTrue: [16r40] ifFalse: [0])
- + (newFinalization ifTrue: [0] ifFalse: [16r40])
+ (imageHeaderFlags bitClear: 16r7F) "these are any flags we do not recognize"!
Item was removed:
- ----- Method: SpurMemoryManager>>queueEphemeron: (in category 'weakness and ephemerality') -----
- queueEphemeron: anEphemeron
- "Add the ephemeron to the queue and make it non-ephemeral, to avoid subsequent firing.
- Alas this means that other ephemerons on the same object not identified in this sccavenge
- or GC will not fire until later. But that's life."
- self assert: ((self isNonImmediate: anEphemeron)
- and: [(self formatOf: anEphemeron) = self ephemeronFormat]).
- self deny: (self is: anEphemeron onObjStack: mournQueue).
- self push: anEphemeron onObjStack: mournQueue.
- self setFormatOf: anEphemeron to: self nonIndexablePointerFormat!
Item was changed:
----- Method: SpurMemoryManager>>queueMourner: (in category 'weakness and ephemerality') -----
queueMourner: anEphemeronOrWeakArray
"Add the ephemeron to the queue and make it non-ephemeral, to avoid subsequent firing.
Alas this means that other ephemerons on the same object not identified in this sccavenge
or GC will not fire until later. But that's life."
self assert: ((self isNonImmediate: anEphemeronOrWeakArray)
and: [(self formatOf: anEphemeronOrWeakArray) = self ephemeronFormat
or: [(self formatOf: anEphemeronOrWeakArray) = self weakArrayFormat]]).
self deny: (self is: anEphemeronOrWeakArray onObjStack: mournQueue).
+ self ensureRoomOnObjStackAt: MournQueueRootIndex.
self push: anEphemeronOrWeakArray onObjStack: mournQueue.
(self formatOf: anEphemeronOrWeakArray) = self ephemeronFormat ifTrue:
[self setFormatOf: anEphemeronOrWeakArray to: self nonIndexablePointerFormat]!
Item was changed:
----- Method: StackInterpreter>>getImageHeaderFlags (in category 'image save/restore') -----
getImageHeaderFlags
"Answer the flags that are contained in the 7th long of the image header."
^fullScreenFlag "0 or 1"
+ (VMBIGENDIAN ifTrue: [0] ifFalse: [2]) "this is the imageFloatsLittleEndian flag"
+ (preemptionYields ifTrue: [0] ifFalse: [16r10])
+ + (newFinalization ifTrue: [16r40] ifFalse: [0])
- + (newFinalization ifTrue: [0] ifFalse: [16r40])
+ (imageHeaderFlags bitClear: 16r53) "these are any flags we do not recognize"!
More information about the Vm-dev
mailing list