[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
|