On 24 March 2011 21:52, Eliot Miranda <[email protected]> wrote: > > > 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.
kekeke... i like it when people see a direct benefits for themselves :) >> >> 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 >> >> > > -- Best regards, Igor Stasenko AKA sig.
