The Trunk: System-eem.945.mcz

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

The Trunk: System-eem.945.mcz

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