Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.945.mcz==================== Summary ====================
Name: System-eem.945
Author: eem
Time: 30 March 2017, 4:03:18.930537 pm
UUID: 2af969d8-3253-405c-bdb1-05ab5455c7ff
Ancestors: System-eem.944
Change the segment loader to do without BlockContext and to use Context in place of MethodContext. At some stage we /could/ implement morphing the old blocks into new blocks, but it would be challenging.
=============== Diff against System-eem.944 ===============
Item was changed:
----- Method: ImageSegmentLoader class>>initialize (in category 'class initialization') -----
initialize
HeaderTypeMask := 3.
HeaderTypeSizeAndClass := 0. "3-word header"
HeaderTypeClass := 1. "2-word header"
HeaderTypeFree := 2. "free block"
HeaderTypeShort := 3. "1-word header"
BytesInHeader := {
HeaderTypeSizeAndClass -> 12.
HeaderTypeClass -> 8.
HeaderTypeShort -> 4.
} as: Dictionary.
"explicit list in case image has no/different compact classes"
CompactClasses := {CompiledMethod. nil. Array. nil.
LargePositiveInteger. Float. MethodDictionary. Association.
Point. Rectangle. ByteString. nil.
+ nil "was BlockCOntext; needs special handling". Context. nil. Bitmap.
- BlockContext. MethodContext. nil. Bitmap.
nil. nil. nil. nil. nil. nil. nil. nil. nil. nil. nil. nil. nil. nil. nil}.
!
Item was changed:
----- Method: ImageSegmentLoader>>allocateBlockContext: (in category 'allocating') -----
allocateBlockContext: nWords
| homeOop methodOop method |
homeOop := self uint32At: position + 24.
methodOop := self uint32At: homeOop + 16.
method := self readObjectAt: methodOop.
+ ^self shouldBeImplemented!
- ^BlockContext newForMethod: method.!
Item was changed:
----- Method: ImageSegmentLoader>>allocateMethodContext: (in category 'allocating') -----
allocateMethodContext: nWords
| methodOop method |
methodOop := self uint32At: position + 16.
method := self readObjectAt: methodOop.
+ ^Context newForMethod: method!
- ^MethodContext newForMethod: method.!