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

commits at source.squeak.org commits at source.squeak.org
Sun Aug 10 04:03:37 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.854.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.854
Author: eem
Time: 9 August 2014, 8:59:40.864 pm
UUID: 22ed2e38-a5ed-446a-9695-cf5ec7ec4d36
Ancestors: VMMaker.oscog-eem.853

Retract the setHashBits: assert check for classes; a Process
fooled addressCouldBeClassObj: so the assert isn't selective
enough.

Add some support for the munger.

Modify simulated ioScreenSize to answer savedWindowSize
if displayForm is nil.

=============== Diff against VMMaker.oscog-eem.853 ===============

Item was removed:
- ----- Method: CoInterpreter>>thisClassIndex (in category 'simulation') -----
- thisClassIndex
- 	<doNotGenerate>
- 	^thisClassIndex!

Item was changed:
  ----- Method: CogVMSimulator>>ioScreenSize (in category 'I/O primitives support') -----
  ioScreenSize
  	"Return the screen extent packed into 32 bits."
  
+ 	^displayForm
+ 		ifNotNil: [(displayForm width << 16) + displayForm height]
+ 		ifNil: [savedWindowSize ifNil: 640 << 16 + 480]!
- 	^ (displayForm width << 16) + displayForm height!

Item was changed:
  ----- Method: Spur32BitMemoryManager>>setHashBitsOf:to: (in category 'header access') -----
  setHashBitsOf: objOop to: hash
  	self flag: #endianness.
+ 	self assert: (hash between: 0 and: self identityHashHalfWordMask).
- 	self assert: (hash bitAnd: self identityHashHalfWordMask) = hash.
- 	self cCode: [self deny: ((self noCheckClassAtIndex: hash) ~= objOop
- 							and: [coInterpreter addressCouldBeClassObj: objOop])]
- 		inSmalltalk:
- 			[coInterpreter ifNotNil:
- 				[self deny: ((self noCheckClassAtIndex: hash) ~= objOop
- 							and: [coInterpreter addressCouldBeClassObj: objOop])]].
  	self longAt: objOop + 4
  		put: ((self longAt: objOop + 4) bitClear: self identityHashHalfWordMask) + hash!

Item was changed:
  ----- Method: Spur64BitMemoryManager>>setHashBitsOf:to: (in category 'header access') -----
  setHashBitsOf: objOop to: hash
+ 	self assert: (hash between: 0 and: self identityHashFullWordMask).
- 	self assert: (hash bitAnd: self identityHashFullWordMask) = hash.
- 	self cCode: [self deny: ((self noCheckClassAtIndex: hash) ~= objOop
- 							and: [coInterpreter addressCouldBeClassObj: objOop])]
- 		inSmalltalk:
- 			[coInterpreter ifNotNil:
- 				[self deny: ((self noCheckClassAtIndex: hash) ~= objOop
- 							and: [coInterpreter addressCouldBeClassObj: objOop])]].
  	self longAt: objOop
  		put: ((self longAt: objOop) bitClear: self identityHashFullWordMask) + hash!

Item was added:
+ ----- Method: StackInterpreter>>metaclassNumSlots (in category 'simulation') -----
+ metaclassNumSlots
+ 	<doNotGenerate>
+ 	^metaclassNumSlots!

Item was added:
+ ----- Method: StackInterpreter>>thisClassIndex (in category 'simulation') -----
+ thisClassIndex
+ 	<doNotGenerate>
+ 	^thisClassIndex!

Item was changed:
  ----- Method: StackInterpreterSimulator>>ioScreenSize (in category 'I/O primitives support') -----
  ioScreenSize
  	"Return the screen extent packed into 32 bits."
  
+ 	^displayForm
+ 		ifNotNil: [(displayForm width << 16) + displayForm height]
+ 		ifNil: [savedWindowSize ifNil: 640 << 16 + 480]!
- 	^ (displayForm width << 16) + displayForm height!



More information about the Vm-dev mailing list