[Vm-dev] VM Maker: VMMaker.oscog-eem.855.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Aug 12 22:12:10 UTC 2014


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!



More information about the Vm-dev mailing list