On Thu, Mar 24, 2011 at 1:45 PM, Stéphane Ducasse <[email protected]
> wrote:

> >
> >
> > I like it!  A great use for tuples.  Not sure I like sots vs
> instanceVarables, but then I'm an old man ;)
> > Have you thought about automatically creating accessors for byte data?
>  I'm imagining
> >
> > HeapField subclass: #ObjectHeaderLittleEndian
> >     type: #Bits
> >     fields: {
> >         #classTag => 20.
> >         #isPointers => 1 => #Boolean.
> >         #isIndexable => 1 => #Boolean.
> >         #slotSize => 8 => #Align => 8.
> >         #identityHash => 20 => #Align => 32.
> >         #isMarked => 1 => #Boolean.
> >         #isForwarded => 1 => #Boolean.
> >         #isWeak => 1 => #Boolean.
> >         #isEphemeron => 1 => #Boolean. }
> >        classSlots: {}
> >      globals: ''
> >      category: #'VMMaker-MemoryManager'
>
> yes now we should probably avoid to have syntax in the class definition but
> in a description of the slots.
>
> What means exactly:    #identityHash => 20 => #Align => 32.
>

This is just an example but it means a 20-bit unsigned integer field aligned
on a 32-bit boundary.  In the above  #isPointers => 1 => #Boolean would mean
a 1 bit-field accessed as a boolean (a flag).  The above is close to the
object header in the new GC I want to build.


> For slots we did a first experience with marcus in 2008/9 where we show
> that we could get first class instanceVariable
> without speed penalties. We postpone our experience because it required a
> working new compiler and a complete rewrite
> of classBuilder.
> We want to be able to define
>        active value
>        hashTable
>        relationship
>        magritte like description
>        and a lot more
>
> So if you have ideas or wishes let us know.
>
> Stef
>
>
>

Reply via email to