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

commits at source.squeak.org commits at source.squeak.org
Thu Mar 12 03:22:41 UTC 2015


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

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

Name: Cog-eem.241
Author: eem
Time: 11 March 2015, 8:22:28.846 pm
UUID: 815a3747-96f5-4019-80c8-82e69887835f
Ancestors: Cog-eem.240

Use byteSizeOfBytes: from VMMaker.oscog-eem.1087

=============== Diff against Cog-eem.240 ===============

Item was changed:
  ----- Method: SpurBootstrap>>fillInCompiledMethod:from: (in category 'bootstrap image') -----
  fillInCompiledMethod: newObj from: oldObj
  	| firstByteIndex primIndex |
  	self fillInPointerObject: newObj from: oldObj.
  	"Now convert the CompiledMethod's format.  First write the header in the new format"
  	newHeap
  		storePointerUnchecked: 0
  		ofObject: newObj
  		withValue: (newHeap integerObjectOf: (self convertOldMethodHeader: (oldHeap fetchPointer: 0 ofObject: oldObj))).
  	"Then if necessary prepend the callPrimitive: bytecode"
  	(primIndex := oldInterpreter primitiveIndexOf: oldObj) > 0
  		ifTrue:
  			[firstByteIndex := oldHeap lastPointerOf: oldObj.
  			 newHeap
  				storeByte: firstByteIndex + 0 ofObject: newObj withValue: 139;
  				storeByte: firstByteIndex + 1 ofObject: newObj withValue: (primIndex bitAnd: 255);
  				storeByte: firstByteIndex + 2 ofObject: newObj withValue: (primIndex bitShift: -8).
+ 			 firstByteIndex to: (oldHeap numBytesOfBytes: oldObj) - 1 do:
- 			 firstByteIndex to: (oldHeap numBytesOf: oldObj) - 1 do:
  				[:i|
  				newHeap storeByte: i + 3 ofObject: newObj withValue: (oldHeap fetchByte: i ofObject: oldObj)]]
  		ifFalse:
  			[(oldHeap lastPointerOf: oldObj) / oldHeap wordSize to: (oldHeap numSlotsOf: oldObj) - 1 do:
  				[:i|
  				newHeap storeLong32: i ofObject: newObj withValue: (oldHeap fetchLong32: i ofObject: oldObj)]]!



More information about the Vm-dev mailing list