<div dir="ltr">After sleeping on it, I woke up and realized that V8 is almost certainly not multi-threaded at the client code level (within a single VM instance), since they have that indirection... the indirection sounds more like a traditional object table, like VisualWorks, and I don&#39;t see how they could possibly have made something like that multi-threaded since performance would critically depend on caching the body pointer within a method activation.&nbsp; But they can&#39;t do that because another method might be adding or removing properties while the method is running, and that is way too fine-grained to be doing any kind of check.<br>

<br>Having an object-table indirection isn&#39;t as bad for performance as it sounds because you can cache the body pointer within a method activation, which I seem to remember L. Peter Deutsch pointing out a long time ago. &nbsp; But if the average method is very small it will have very few instvar/property accesses, which reduces the effectiveness of the caching (although if there are *no* property accesses you can skip the indirection altogether, which helps compensate).&nbsp;&nbsp; So that is something that can benefit tremendously from inlining à la Strongtalk, which merges activations and thus increases the possible scope of the cached pointer.&nbsp; But if they are not inlining, the performance sounds like it would be more restricted to a sort of VisualWorks kind of range (which of course is not bad, but wouldn&#39;t threaten Strongtalk).<br>
<br>Plus, the additional word for the indirection is one more word of overhead in the header, so I don&#39;t see how they could get less than a two word header.&nbsp; I thought Lars told me it was one word, but I don&#39;t see how they could do that; maybe he wasn&#39;t counting the indirection as part of the header.<br>
-Dave<br>
<br><div class="gmail_quote">On Tue, Sep 2, 2008 at 11:15 PM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de" target="_blank">andreas.raab@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div>&gt; state-of-the-art multi-threaded design<br>
<br></div>
Can you say more about this? I can&#39;t find any information about V8&#39;s thread handling and concurrency options.<br>
<br>
Cheers,<br>
 &nbsp;- Andreas<br>
<br>
[...]</blockquote></div><br></div>