<div dir="ltr"><div>In Lilliput, the prototype header contains the nKlass ID.</div><div><br></div><div>Cheers, Thomas<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 11, 2024 at 2:23 AM David Holmes <<a href="mailto:david.holmes@oracle.com">david.holmes@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 10/03/2024 1:38 pm, John Rose wrote:<br>
> What Dan said.  Here’s more color commentary:<br>
<snip><br>
> I suggest adding, to Klass itself, a field which is a prototype<br>
> header for the object, with all the right bits in place ... <br>
> (I thought we already had something like this somewhere, but<br>
> a quick check came up empty…)<br>
<br>
We used to have the biased-locking prototype header.<br>
<br>
klass.hpp<br>
   // Biased locking support<br>
   // Note: the prototype header is always set up to be at least the<br>
   // prototype markOop. If biased locking is enabled it may further be<br>
   // biasable and have an epoch.<br>
   markOop prototype_header() const      { return _prototype_header; }<br>
<br>
Cheers,<br>
David<br>
<br>
<br>
</blockquote></div>