[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