Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.855.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.855 Author: eem Time: 12 August 2014, 3:09:43.748 pm UUID: 23b3416e-7a63-4ddf-ae9b-66921eb7eb10 Ancestors: VMMaker.oscog-eem.854
Spur bootstrap support/simulation: Tolerate a nil displayForm in the simulators. Add a couple of missing methods.
=============== Diff against VMMaker.oscog-eem.854 ===============
Item was changed: ----- Method: CogVMSimulator>>showDisplayBits:w:h:d:left:right:top:bottom: (in category 'I/O primitives') ----- showDisplayBits: destBits w: w h: h d: d left: left right: right top: top bottom: bottom | raster pixPerWord simDisp realDisp rect | + displayForm ifNil: [^self]. pixPerWord := 32 // d. raster := displayForm width + (pixPerWord - 1) // pixPerWord. simDisp := Form new hackBits: objectMemory memory. displayForm unhibernate. realDisp := Form new hackBits: displayForm bits. realDisp copy: (0 @ (top * raster) extent: 4 @ (bottom - top * raster)) from: 0 @ (destBits // 4 + (top * raster)) in: simDisp rule: Form over. displayView ifNotNil: [^ displayView changed]. "If running without a view, just blat the bits onto the screen..." rect := 0 @ top corner: displayForm width @ bottom. Display copy: (rect translateBy: self displayLocation) from: rect topLeft in: displayForm rule: Form over!
Item was added: + ----- Method: ObjectMemory>>cCoerceSimple:to: (in category 'simulation support') ----- + cCoerceSimple: value to: cTypeString + ^cTypeString caseOf: + { [#'char *'] -> [value] }!
Item was changed: ----- Method: StackInterpreterSimulator>>showDisplayBits:w:h:d:left:right:top:bottom: (in category 'I/O primitives') ----- showDisplayBits: destBits w: w h: h d: d left: left right: right top: top bottom: bottom | raster pixPerWord simDisp realDisp rect | + displayForm ifNil: [^self]. pixPerWord := 32 // d. raster := displayForm width + (pixPerWord - 1) // pixPerWord. simDisp := Form new hackBits: objectMemory memory. displayForm unhibernate. realDisp := Form new hackBits: displayForm bits. realDisp copy: (0 @ (top * raster) extent: 4 @ (bottom - top * raster)) from: 0 @ (destBits // 4 + (top * raster)) in: simDisp rule: Form over. displayView ifNotNil: [^ displayView changed]. "If running without a view, just blat the bits onto the screen..." rect := 0 @ top corner: displayForm width @ bottom. Display copy: (rect translateBy: self displayLocation) from: rect topLeft in: displayForm rule: Form over!
Item was added: + ----- Method: VMCompiledMethodProxy>>primitive (in category 'accessing') ----- + primitive + "Answer the receiver's primitive." + + ^coInterpreter primitiveIndexOf: oop!
vm-dev@lists.squeakfoundation.org