VM Maker: VMMaker.oscogSPC-eem.2121.mcz

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

VM Maker: VMMaker.oscogSPC-eem.2121.mcz

Eliot Miranda uploaded a new version of VMMaker to project VM Maker:

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

Name: VMMaker.oscogSPC-eem.2121
Author: eem
Time: 5 February 2017, 1:33:43.291073 pm
UUID: abe8d392-f88f-4a14-9149-ae41afe9ecf2
Ancestors: VMMaker.oscogSPC-eem.2120

Fix a couple of typos that cause the generated C code to miscompile or not compile.

=============== Diff against VMMaker.oscogSPC-eem.2120 ===============

Item was changed:
  ----- Method: CogObjectRepresentationForSpur>>branchIf:isNotOop:target: (in category 'sista support') -----
+ branchIf: reg isNotOop:  oop target: targetFixUp
- branchIf: reg isNotOop:  oop target: targetFixup
  <var: #targetFixUp type: #'AbstractInstruction *'>
  <inline: true>
  cogit CmpCq: oop R: reg.
+ cogit JumpNonZero: targetFixUp.
+ ^0!
- cogit JumpNonZero: targetFixup.
- ^ 0!

Item was changed:
  ----- Method: CogObjectRepresentationForSpur>>branchIf:isOop:target: (in category 'sista support') -----
+ branchIf: reg isOop:  oop target: targetFixUp
- branchIf: reg isOop:  oop target: targetFixup
  <var: #targetFixUp type: #'AbstractInstruction *'>
  <inline: true>
  cogit CmpCq: oop R: reg.
+ cogit JumpZero: targetFixUp.
+ ^0!
- cogit JumpZero: targetFixup.
- ^ 0!

Item was changed:
  ----- Method: SpurPlanningCompactor>>unmarkObjectsAfterLastMobileObject (in category 'compaction') -----
  "Sweep the final immobile heap, freeing and coalescing unmarked and free objects,
  and unmarking all marked objects up to the end of memory."
  | startOfFree freeBytes |
  freeBytes := 0.
  manager allOldSpaceEntitiesFrom: objectAfterLastMobileObject do:
  self check: o.
  (manager isMarked: o)
  [startOfFree ifNil: [startOfFree := manager startOfObject: o].
+ freeBytes := freeBytes + (manager bytesInObject: o)]
- freeBytes := freeBytes + manager bytesInObject: o]
  [startOfFree ifNotNil:
  [manager addFreeChunkWithBytes: freeBytes at: startOfFree.
  startOfFree := nil.
  freeBytes := 0].
+ (manager isPinned: o)
+ ifTrue: [self unmarkPinned: o]
+ ifFalse: [manager setIsMarkedOf: o to: false]]]!
- (manager isSegmentBridge: o) ifFalse:
- [manager setIsMarkedOf: o to: false]]]!