[squeak-dev] The Primitive: I am not a number- I am a named prim! - SqueakPeople article

Igor Stasenko siguctua at gmail.com
Mon Jun 30 19:15:19 UTC 2008


2008/6/30 tim Rowledge <tim at rowledge.org>:
> I am trying to make time to post a few articles on some future directions I
> consider interesting for the core system.
>
> First one is up at http://people.squeakfoundation.org/article/89.html - do
> please comment on the relevant page, or even here.
>

This is not the only things which i don't like.
For instance look into ObjectMemory>>fetchClassOf:
it fetching class depending on object header. Either from compact
classes array (by index), or from slot, reserved for class reference.
I think eliminating compact classes would simplify the access to
object's class and free us some bits again: type mask bit (at least).

It also will make fetching a class oop faster and uniform, so there
will be no branching.
Fetching a class from Compact classes array, requires:  getting oop at
index in special objects array, and then getting oop from this object:

class := fetchPointer: ccIndex - 1 ofObject: (self fetchPointer:
CompactClasses ofObject: specialObjectsOop)

A drawback of getting rid of compact classes is additional memory cost
per each instance of classes which were compact.


-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list