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