Addendum about object headers. The argument *against* having a header with the unboxed object is basically about object layout compatibility with C. But C compatibility is about value type layout, not reference type object layout. C doesn't *have* unboxed objects.
Which brings me to wonder whether we aren't pushing the wrong requirement. One option here is to partition the problem by type. Value types would have no header, would be named by REF 'vt, and would require a long-form store barrier in a deferred-RC scheme. Unboxed objects (if we support that) *would* have a header, and interior references can be used directly by means of interior references. The case that has me worried here is regions. When the language supports LIFO regions, there is an increasing temptation to make use of inner pointers into lifetime-safe data structures.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
