VM Maker: Cog-eem.136.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: Cog-eem.136.mcz

commits-2
 
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]]]!