[squeak-dev] The Trunk: Kernel-eem.1322.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Apr 15 23:39:32 UTC 2020


Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1322.mcz

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

Name: Kernel-eem.1322
Author: eem
Time: 15 April 2020, 4:39:29.367332 pm
UUID: 94e874d1-0572-4a1d-9934-edcf87b8ecb5
Ancestors: Kernel-eem.1321

Move the become: methods from ProtoObject to Object.  See http://forum.world.st/How-to-become-immediate-objects-td5114931.html

=============== Diff against Kernel-eem.1321 ===============

Item was added:
+ ----- Method: Object>>become: (in category 'system primitives') -----
+ become: otherObject 
+ 	"Primitive. Swap the object pointers of the receiver and the argument.
+ 	 All variables in the entire system that used to point to the receiver now
+ 	 point to the argument, and vice-versa. Fails if either object is read-only
+ 	 or is an immediate such as a SmallInteger."
+ 
+ 	{self} elementsExchangeIdentityWith: {otherObject}!

Item was added:
+ ----- Method: Object>>becomeForward: (in category 'system primitives') -----
+ becomeForward: otherObject 
+ 	"Primitive. All variables in the entire system that used to point
+ 	 to the receiver now point to the argument.
+ 	 Fails if either argument is an immediate such as a SmallInteger,
+ 	 or if the receiver is read-only."
+ 
+ 	{self} elementsForwardIdentityTo: {otherObject}!

Item was added:
+ ----- Method: Object>>becomeForward:copyHash: (in category 'system primitives') -----
+ becomeForward: otherObject copyHash: copyHash
+ 	"Primitive. All variables in the entire system that used to point to
+ 	 the receiver now point to the argument. If copyHash is true, the
+ 	 argument's identity hash bits will be set to those of the receiver.
+ 	 Fails if
+ 		- either argument is an immediate such as a SmallInteger,
+ 		- if the receiver is read-only
+ 		- otherObject is read-only and copyHash is true."
+ 
+ 	{self}
+ 		elementsForwardIdentityTo: {otherObject}
+ 		copyHash: copyHash!

Item was removed:
- ----- Method: ProtoObject>>become: (in category 'system primitives') -----
- become: otherObject 
- 	"Primitive. Swap the object pointers of the receiver and the argument.
- 	 All variables in the entire system that used to point to the receiver
- 	 now point to the argument, and vice-versa.
- 	 Fails if either object is an immediate such as a SmallInteger."
- 
- 	{self} elementsExchangeIdentityWith: {otherObject}!

Item was removed:
- ----- Method: ProtoObject>>becomeForward: (in category 'system primitives') -----
- becomeForward: otherObject 
- 	"Primitive. All variables in the entire system that used to point
- 	 to the receiver now point to the argument.
- 	 Fails if either argument is an immediate such as a SmallInteger."
- 
- 	{self} elementsForwardIdentityTo: {otherObject}!

Item was removed:
- ----- Method: ProtoObject>>becomeForward:copyHash: (in category 'system primitives') -----
- becomeForward: otherObject copyHash: copyHash
- 	"Primitive. All variables in the entire system that used to point to
- 	 the receiver now point to the argument. If copyHash is true, the
- 	 argument's identity hash bits will be set to those of the receiver.
- 	 Fails if either argument is an immediate such as a SmallInteger."
- 
- 	{self}
- 		elementsForwardIdentityTo: {otherObject}
- 		copyHash: copyHash!



More information about the Squeak-dev mailing list