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> I spent some time reading the code yesterday. Here'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. 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.</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 & 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. 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.</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. </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 "Strongtalk-general" 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--