[squeak-dev] The Inbox: Kernel-cmm.1198.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Nov 24 05:14:03 UTC 2018


Chris Muller uploaded a new version of Kernel to project The Inbox:
http://source.squeak.org/inbox/Kernel-cmm.1198.mcz

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

Name: Kernel-cmm.1198
Author: cmm
Time: 23 November 2018, 11:12:47.414703 pm
UUID: fe228ca8-2ec7-4432-b3d9-76da98be4475
Ancestors: Kernel-eem.1197

- Suggestion that #basicClass should be inlined while #class should be a message send, so that Proxy's can be supported.
- If so, then #xxxClass can be banished.
- With #xxxClass banished, the Squeak code that called it can be written normally, simply as "class".

=============== Diff against Kernel-eem.1197 ===============

Item was added:
+ ----- Method: Object>>basicClass (in category 'class membership') -----
+ basicClass
+ 	"Primitive. Answer the object which is the receiver's class. Essential. See 
+ 	Object documentation whatIsAPrimitive."
+ 
+ 	<primitive: 111>
+ 	self primitiveFailed!

Item was changed:
  ----- Method: Object>>class (in category 'class membership') -----
  class
+ 	"Answer the object which is the receiver's class. Essential."
- 	"Primitive. Answer the object which is the receiver's class. Essential. See 
- 	Object documentation whatIsAPrimitive."
  
+ 	^ self basicClass!
- 	<primitive: 111>
- 	self primitiveFailed!

Item was changed:
  ----- Method: Object>>storeDataOn: (in category 'objects from disk') -----
  storeDataOn: aDataStream
  	"Store myself on a DataStream.  Answer self.  This is a low-level DataStream/ReferenceStream method. See also objectToStoreOnDataStream.  NOTE: This method must send 'aDataStream beginInstance:size:' and then (nextPut:/nextPutWeak:) its subobjects.  readDataFrom:size: reads back what we write here."
  	| cntInstVars cntIndexedVars |
  
  	cntInstVars := self class instSize.
  	cntIndexedVars := self basicSize.
  	aDataStream
+ 		beginInstance: self class
- 		beginInstance: self xxxClass
  		size: cntInstVars + cntIndexedVars.
  	1 to: cntInstVars do:
  		[:i | aDataStream nextPut: (self instVarAt: i)].
  
  	"Write fields of a variable length object.  When writing to a dummy 
  		stream, don't bother to write the bytes"
  	((aDataStream byteStream class == DummyStream) and: [self class isBits]) ifFalse: [
  		1 to: cntIndexedVars do:
  			[:i | aDataStream nextPut: (self basicAt: i)]].
  !

Item was removed:
- ----- Method: Object>>xxxClass (in category 'class membership') -----
- xxxClass
- 	"For subclasses of nil, such as ObjectOut"
- 	^ self class!



More information about the Squeak-dev mailing list