v8 first impressions

"Eliot Miranda" <[email protected]> Wed, 3 Sep 2008 09:57:34 -0700
Newsgroups gmane.comp.lang.smalltalk.strongtalk
Message-ID <[email protected]>
------=_Part_27296_1980443.1220461054284
Content-Type: text/plain; charset=ISO-8859-1

Hi David,

    I spent some time reading the code yesterday.  Here's what I could glean


Thread model: the standard, multi-threaded with only one active thread at a
time, i.e. the standard combination of a green thread VM architecture with
native threads, as seen in Strongtalk.  Different threads must use a lock on
the entire VM to use it.  There is a preemptive scheduler to share the VM
between threads waiting on the lock.


Parses direct to an AST.


Generates native code directly from AST.


No bytecode intermediate form.


In-lines simple arithmetic ops (see codegen-ia32.cc/codegen-arm.cc) when one
side or the other is literal.


Has monomorphic & megamorphic inline caches, but no polymorphic inline
caches (see e.g. MONOMORPHIC in globals.h).


I see no evidence of adaptive optimization/speculative inlining, performance
counters et al.  Seems to generate stubs to defer code generation.  So
perhaps some deferred optimization is done at send/link time, but its not
obvious to me.


There are counters, but I think this is for understanding the dynamic
behaviour, not yet for optimization.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Strongtalk-general" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en
-~----------~----~----~----~------~----~------~--~---


------=_Part_27296_1980443.1220461054284
Content-Type: text/html; charset=ISO-8859-1

<div dir="ltr"><div class="gmail_quote"><div>Hi David,</div><div><br></div><div>&nbsp;&nbsp; &nbsp;I spent some time reading the code yesterday. &nbsp;Here&#39;s what I could glean</div><div><br></div><div><br></div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">
Thread model: the standard, multi-threaded with only one active thread at a time, i.e. the standard combination of a green thread VM architecture with native threads, as seen in Strongtalk. &nbsp;Different threads must use a lock on the entire VM to use it. &nbsp;There is a preemptive scheduler to share the VM between threads waiting on the lock.</p>

<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">Parses direct to an AST.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">Generates native code directly from AST.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">No bytecode intermediate form.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">In-lines simple arithmetic ops (see codegen-ia32.cc/codegen-arm.cc) when one side or the other is literal.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">Has monomorphic &amp; megamorphic inline caches, but no polymorphic inline caches (see e.g. MONOMORPHIC in globals.h).<br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">I see no evidence of adaptive optimization/speculative inlining, performance counters et al. &nbsp;Seems to generate stubs to defer code generation. &nbsp;So perhaps some deferred optimization is done at send/link time, but its not obvious to me.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica"><br></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica">There are counters, but I think this is for understanding the dynamic behaviour, not yet for optimization. &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 14px/normal Helvetica; min-height: 17px; "><br></p>
</div></div></div><br>
--~--~---------~--~----~------------~-------~--~----~<br>
You received this message because you are subscribed to the Google Groups &quot;Strongtalk-general&quot; group. <br> To post to this group, send email to [email protected] <br> To unsubscribe from this group, send email to [email protected] <br> For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en <br> -~----------~----~----~----~------~----~------~--~---<br>
<br>

------=_Part_27296_1980443.1220461054284--