Special object considerations
Some objects in the system are implemented and interpreted specially by the virtual machine and by the Swapper for performance and cross-load encoding. The restrictions on special objects are as follows:
Character
Instances of Character should be obtained only through constants or as the result of normal system messages and computations. Instances of Character must not be created through the basicNew operation. The Swapper makes the assumption that the ASCII (or EBCDIC) value of Character is always valid.
False
Instances of False should not be created. The Swapper makes the assumption that there is only one instance of False and that instance is the special object false.
SmallInteger
Instances of SmallInteger should be created only through constants or as the result of normal system messages and computations. Instances of SmallInteger must not be created through the basicNew operation.
True
Instances of True should not be created. The Swapper makes the assumption that there is only one instance of True and that instance is the special object true.
UndefinedObject
Instances of UndefinedObject should not be created. The Swapper makes the assumption that there is only one instance of UndefinedObject and that instance is the special object nil.
Violation of these restrictions may cause unpredictable results.
Last modified date: 01/29/2015