[Pkg] The Trunk: System-eem.945.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Mar 30 23:03:34 UTC 2017


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



More information about the Packages mailing list