<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Peter<div class=""><br class=""></div><div class="">I understand the generalities of creating a JIT system, but what are the real-world mechanics?</div><div class=""><br class=""></div><div class="">- you write the interpreter so that it can hand off or be handed off to by a JIT’d runtime?</div><div class="">- the code for the instruction actions is simply the compiled code for the interpreter and somehow you know how to make us of it?</div><div class="">- or what??</div><div class="">- is there a DIY manual somewhere?</div><div class=""><br class=""></div><div class="">Thanks for enlightenment :-) [no high priority]</div><div class=""><br class=""></div><div class="">— P<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 13, 2021, at 2:20 PM, Peter Hsu <<a href="mailto:peter.hsu@bsc.es" class="">peter.hsu@bsc.es</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">yes, but as a JIT you can't relate the simulated instruction to anything.<br class=""></blockquote><br class="">You can, actually.   My first job out of school at IBM Watson Labs was make JIT simulator of “801” processor for John Cocke.  They were designing out-of-order superscalar RISC, in 1985!<br class=""><br class="">That experience taught me me JIT not worthwhile for driving timing simulator.  Hence caveat uses interpreter.  I also built JIT performance profiler at Sun Microsystems in 1987 called Shadow.  Imagine QEMU but translate to same ISA with custom software counters.  Some of my colleagues later founded Transmeta.  To this day Oracle Sparc design team uses grandchildren of Shadow.<br class=""><br class="">-Peter<br class=""><br class=""><blockquote type="cite" class="">On Aug 13, 2021, at 1:05 PM, lkcl <<a href="mailto:luke.leighton@gmail.com" class="">luke.leighton@gmail.com</a>> wrote:<br class=""><br class="">On Fri, Aug 13, 2021 at 11:34 AM Peter Hsu <<a href="mailto:peter.hsu@bsc.es" class="">peter.hsu@bsc.es</a>> wrote:<br class=""><br class=""><blockquote type="cite" class="">But QEMU is even faster--I think over 1 billion instructions/second, 2-3<br class="">x86 instructions per target instruction.<br class=""></blockquote><br class="">yes, but as a JIT you can't relate the simulated instruction to anything.<br class=""><br class="">l.<br class=""></blockquote><br class=""></div></div></blockquote></div><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><br class=""><br class=""><i class=""><span style="font-size: 13px;" class="">WARNING / LEGAL TEXT: This message is intended only for the use of the individual or entity to which it is addressed and may contain information which is privileged, confidential, proprietary, or exempt from disclosure under applicable law. If you are not the intended recipient or the person responsible for delivering the message to the intended recipient, you are strictly prohibited from disclosing, distributing, copying, or in any way using this message. If you have received this communication in error, please notify the sender and destroy and delete any copies you may have received. </span><br style="font-size: 13px;" class=""><br style="font-size: 13px;" class=""><span style="font-size: 13px;" class=""><a href="http://www.bsc.es/disclaimer" class="">http://www.bsc.es/disclaimer</a> </span><br style="font-size: 13px;" class=""></i></div><div style="font-size: 13px;" class=""><i class=""><br class=""></i></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></div></body></html>