<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Well, please excuse me from asking for time with no clear benefit
when we both have so much going on, Eliot. I was looking for
distraction as I am completely frustrated by my code riight now.
The nexus of nested frames & headers, FEC encoding, ASN.1
encoding and pipeline processing order is totally challenging
myself.<br>
<br>
So, yes, it was a distraction request, my apologies.<br>
<br>
robert <br>
. .. ... ^,^ <br>
<br>
<div class="moz-cite-prefix">On 12/19/2015 04:40 PM, Robert Withers
wrote:<br>
</div>
<blockquote cite="mid:5675CEC6.8020309@gmail.com" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<br>
<br>
<div class="moz-cite-prefix">On 12/19/2015 04:23 PM, Eliot Miranda
wrote:<br>
</div>
<blockquote
cite="mid:CAC20JE3Oz33G3LFxJqqox3mW+K-FTRpn34TjqFA=FVkeaTPdng@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Dec 18, 2015 at 11:25 PM,
Robert Withers <span dir="ltr"><<a
moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:robert.w.withers@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:robert.w.withers@gmail.com">robert.w.withers@gmail.com</a></a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>
<div text="#000000" bgcolor="#FFFFFF"> <br>
<div>On 12/19/2015 02:09 AM, Eliot Miranda wrote:<br>
</div>
<blockquote type="cite">
<pre> </pre>
<div>Hi Robert,<br>
<br>
</div>
<div>On Dec 18, 2015, at 9:51 PM, Robert Withers
<<a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:robert.w.withers@gmail.com">robert.w.withers@gmail.com</a>>
wrote:<br>
<br>
</div>
<blockquote type="cite">
<div><span>Eliot, what does Sista do and how is
that accomplished? </span></div>
</blockquote>
<div><br>
</div>
Run-time adaptive optimisation via an SSA-based
image-level bytecode-to-bytecode inlining compiler.
See
<div><br>
<div><a moz-do-not-send="true"
href="http://www.mirandabanda.org/cogblog/on-line-papers-and-presentations/"
target="_blank">http://www.mirandabanda.org/cogblog/on-line-papers-and-presentations/</a></div>
<div><br>
<div><br>
<blockquote type="cite">
<div><span>It sounds like a next level kind
of system. Does it compare to what other
JITs are doing in various VMs?</span><br>
</div>
</blockquote>
<div><br>
</div>
Yes it does. Clément recently attended a
workshop at Google and found that Sista is
very similar in the kinds of optimisations it
performs to V8 and Dart. The key research
funding will be how close the performance of
targeting stack-oriented bytecode that the Cog
JIT converts to register-based code can be
made to JITs that directly target
register-based machine code.</div>
</div>
</div>
</blockquote>
<br>
This sounds like you are saying that Sista performs
better or more naturally with stack-oriented bytecode.
If you wouldn't mind taking the time to explore it
with us, what's the difference between stack-oriented
and register-based code, such that Sista would be
different between them? I'm off to read some.<br>
</div>
</blockquote>
<div><br>
</div>
<div>I'd rather not. That's something there's lots of
papers on, and I'm not sure it's really important that I
explain. Yoiu can inform yourself, and the Sista talks
I pointed to at least mention the topic. I will say
that our thesis is that we can generate efficient
register-based machine code from stack-oriented
bytecode, and that's one of the things we're trying to
demonstrate with Sista.</div>
</div>
</div>
</div>
</blockquote>
<br>
That's all very interesting to me, surely,just to know if not to
play. It is the physics of this world and I studied that and am
oriented that way. Clement's talk touched on it (was it
constructing and deconstucting the machine code and rewriting the
stack to point to registers...I think). <br>
<br>
I was actually much more curious about this CPIC. Is there a
write-up about that so I minimize my distracting you?<br>
<br>
robert<br>
<br>
<blockquote
cite="mid:CAC20JE3Oz33G3LFxJqqox3mW+K-FTRpn34TjqFA=FVkeaTPdng@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
<br>
<blockquote type="cite">
<div>
<div>
<div><span
style="background-color:rgba(255,255,255,0)"><br>
</span></div>
<div><span
style="background-color:rgba(255,255,255,0)">_,,,^..^,,,_
(phone)</span></div>
<div><span
style="background-color:rgba(255,255,255,0)"><br>
</span></div>
<div>
<blockquote type="cite">
<div><span></span><br>
<span>thank you,</span><br>
<span>robert</span><br>
<span></span><br>
<span>. .. ...
^,^</span><br>
<span></span><br>
<span></span><br>
<span></span><br>
<span>On 12/18/2015 11:11 PM, Eliot
Miranda wrote:</span><br>
<blockquote type="cite"><span> Further,
please keep the original Smalltalk
non-primitive implementation around do
that when we deliver Sista we can see
how well we stack up against C.</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>_,,,^..^,,,_
(phone)</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>On Dec 18,
2015, at 5:59 PM, David T. Lewis
<<a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>>
wrote:</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>On Fri,
Dec 18, 2015 at 08:13:00PM -0500,
Robert Withers wrote:</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>On
12/18/2015 08:07 PM, David T.
Lewis wrote:</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>If you
are implementing your algorithm
from scratch, then it would be</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>nice
if it could be done in
Smalltalk, because that means we
can all</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>read
it, play with it in the image,
and write unit tests to validate
and</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>document
its behavior. We can figure out
the translation to C afterwords,</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>once
you have a good implementation
in Smalltalk (and yes I will
help</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>with
that).</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>I have a
smalltalk implmentation that came
from Google Java code and is</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>fully
implemented in squeak/pharo. I am
intermittently fixing byte</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>mutations
in the payload, so it is working
to a degree. Check out the</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>classes
GenericGF, GenericGFPoly and
GaloisField to see the insides.</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>FECEncoder
and FECDecoder are calling the
galoisField which builds a</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>ReedSolomon
Decoder. That last is where the
error detection occurs.</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Thank
you all very much for looking out!</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>I guess my
suggestion would be that once you
have a fairly good working</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>implementation
that you are comfortable with from a
functional point of</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>view, then
let's look at which methods in that
implementation would benefit</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>from being
translated to primitives in C. It
would be especially good if</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>you can
run a profiler on your Smalltalk
implementation and see where the</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>time is
being spent. Those would be the
things we would want to turn into</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>primitives.
But first things first, let's get it
working 100% (not "to a</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>degree")
and then we can do the translation
to primitives.</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>Dave</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
<span></span><br>
<span>-- </span><br>
<span>. .. .. ^,^ robert</span><br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
<div>-- <br>
<div align="left">. .. .. ^,^ robert </div>
</div>
</div>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">
<div dir="ltr">
<div><span
style="font-size:small;border-collapse:separate">
<div>_,,,^..^,,,_<br>
</div>
<div>best, Eliot</div>
</span></div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<div align="left">. .. .. ^,^ robert </div>
</div>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<div align="left">. .. .. ^,^ robert
</div>
</div>
</body>
</html>