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