<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 18, 2017 at 3:41 PM, David T. Lewis <span dir="ltr"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Tue, Apr 18, 2017 at 09:57:54AM -0700, Cl??ment Bera wrote:<br>
><br>
<br>
<snip><br>
<br>
> For each primitive, we need to evaluate the performance with and without<br>
> the primitive. In each case, we either move the primitive to numbered<br>
> primitive or we just use normal Smalltalk code.<br>
<br>
Please no more numbered primitives. We should be eliminating numbered primitives,<br>
not adding more.<br>
<br>
The only justification I can see for a numbered primitive today is to identify<br>
it as one of the small number of primitives that absolutely must be available<br>
when porting the VM to a new platform, especially if that platform may not<br>
easily support the loading of functions by name. Aside from that, we should<br>
insist that /all/ primitives be named primitives.<br></blockquote><div><br></div><div>Ok.</div><div><br></div><div>The problem is that right now the JIT compiles to machine code only numbered primitives (in fact only numbered primitives specifically annotated in the primitive descriptors of Cogit). Other primitives require the VM to switch to the interpreter C stack to be called. If someone extends the JIT to compile named primitive then we could consider doing it that way.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Dave<br>
</blockquote></div><br></div></div>