<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi Kevin,<br></div><div><br>On Jun 22, 2017, at 6:12 AM, Kevin Driedger <<a href="mailto:notifications@github.com">notifications@github.com</a>> wrote:<br><br></div><blockquote type="cite"><div><p>Do you, <a href="https://github.com/eliotmiranda" class="user-mention">@eliotmiranda</a> , generate most of this code using VMMaker?   Seems like the same change many times.</p></div></blockquote><div><br></div>Yes (& not just me).  The compilable source of the vm is made up of three components:<div><br></div><div>- the platform source, maintained by hand, written mostly in C, with some Objective-C and C++, provides the platform-specific support to allow the vm to run on real machines.</div><div><br></div><div>- the interpreter and JIT provide the execution engine, core language primitives and memory manager to execute Smalltalk (& Newspeak)</div><div><br></div><div>- the plugins (src/plugins) provide a wide variety of extensions to the vm (from FFI to OpenGL to (de)compresssion</div><div><br></div><div>The plugins, at least their surface primitives, and sometimes their algorithmic innards too, are written in Smalltalk</div><div><br></div><div>The vm itself is entirely written (& developed) in Smalltalk (actually a subset of Smalltalk called Slang).</div><div><br></div><div>These last two sets of sources are therefore translated automatically from Smalltalk/Slang to C.  Whenever someone makes a change to the VMMaker.oscog package that necessitates new sources because by generated that person generates source and commits to opensmalltalk/vm.  Since there are a variety of VMs:</div><div>     <span style="background-color: rgba(255, 255, 255, 0);">(smalltalk vs newspeak)</span></div><div>  * (interpreter vs cointerpreter+jit)</div><div>  * (32 vs 64 bits)</div><div>  * (V3 vs Spur object representations)</div><div>  * (standard vs Sista vs Lowcode <span style="background-color: rgba(255, 255, 255, 0);">instruction sets)</span></div><div><span style="background-color: rgba(255, 255, 255, 0);">a number of similar files are generated.</span></div><div><br></div><div><br></div><div>Cheers,</div><div>Eliot</div><div><blockquote type="cite">
<div itemscope="" itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope="" itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f54456fc05c1846bb7e553c6ff5fec9f700abdae#commitcomment-22702428">
  <meta itemprop="name" content="View Commit">
</div>
<meta itemprop="description" content="View this Commit on GitHub">
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/OpenSmalltalk/opensmalltalk-vm","title":"OpenSmalltalk/opensmalltalk-vm","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm"}},"updates":{"snippets":[{"icon":"PERSON","message":"@kdriedger on f54456f: Do you, @eliotmiranda , generate most of this code using VMMaker?   Seems like the same change many times."}],"action":{"name":"View Commit","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f54456fc05c1846bb7e553c6ff5fec9f700abdae#commitcomment-22702428"}}}</script></blockquote></div></body></html>