The specialObject number four itself is a scheduler, therefore those coding.
Is that right?
Yes. Compare ObjectMemory class>>initializeSpecialObjectIndices with SystemDictionary>>recreateSpecialObjectsArray
Ang Beepeng wrote:
> Hi, thanks for ur reply.
> I was at these lines, in C and Smalltalk.
> sched = longAt(((longAt((specialObjectsOop + BaseHeaderSize) +
> (SchedulerAssociation << ShiftForWord))) + BaseHeaderSize) + (ValueIndex
> << ShiftForWord));
> sched := self fetchPointer: ValueIndex ofObject: (self splObj:
> How to relate SchedulerAssociation with specialObjects?
> Ang Beepeng
> The specialObject number four itself is a scheduler, therefore those
> coding. Is that right?
Right, the SchedulerAssociation class variable of class
ObjectMemory is a numerical index into the special objects array. The
object at that location is one of the associations in the so-called
"system dictionary"; the value of that association is the active
instance of class ProcessorScheduler.
You can see this most readily by browsing "class var refs..." of
ObjectMemory and choosing SchedulerAssociation.