[Vm-dev] VM Maker: Cog-eem.136.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Feb 11 01:41:24 UTC 2014


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

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

Name: Cog-eem.136
Author: eem
Time: 10 February 2014, 5:41:06.312 pm
UUID: f1174339-0c7d-4e75-bd4c-04cc5f1c75a3
Ancestors: Cog-eem.135

...and fix snafu.  str:n:cmp: et al only wokr one way round.

=============== Diff against Cog-eem.135 ===============

Item was changed:
  ----- Method: SpurBootstrap>>mapOldBehavior:toNewBehavior: (in category 'bootstrap image') -----
  mapOldBehavior: oldObj toNewBehavior: newObj
  	"Map the old format inst var's value to the new value.
  	 In addition, for Character, make it immediate and remove its instance variable."
  	newHeap
  		storePointerUnchecked: InstanceSpecificationIndex
  		ofObject: newObj
  		withValue: (self newClassFormatFor: oldObj).
  	oldObj = oldHeap classCharacter ifTrue:
  		[InstanceSpecificationIndex + 1 to: (oldHeap numSlotsOf: oldObj) do:
  			[:i| | var field |
  			var := oldHeap fetchPointer: i ofObject: oldObj.
  			((oldHeap fetchClassOf: var) = oldHeap classArray
  			 and: [(oldHeap numSlotsOf: var) = 1
  			 and: [field := oldHeap fetchPointer: 0 ofObject: var.
  				(oldHeap fetchClassOf: field) = oldHeap classString
  			 and: [(oldHeap lengthOf: field) = 5
+ 			 and: [(oldHeap str: 'value'  n: (oldHeap firstIndexableField: field) cmp: 5) = 0]]]]) ifTrue:
- 			 and: [(oldHeap str: (oldHeap firstIndexableField: field) n: 'value' cmp: 5) = 0]]]]) ifTrue:
  				[newHeap
  					storePointerUnchecked: i
  					ofObject: newObj
  					withValue: newHeap nilObject.
  				 ^self]]]!



More information about the Vm-dev mailing list