<div dir="ltr">Hi All,<div><br></div><div>&nbsp; &nbsp; &nbsp;I love the look of&nbsp;<a href="http://www.squeak.org">www.squeak.org</a>&#39;s front page, however I think the Cog part is out of date and not particularly helpful. &nbsp;May I make the following suggestions?</div>
<div><div><br></div><div><br></div><div>1. The text underneath &quot;Cog JIT VM&quot; would be better if it used the text from&nbsp;<a href="http://www.mirandabanda.org/cogblog/about-cog/">http://www.mirandabanda.org/cogblog/about-cog/</a> (see below)</div>
<div><br></div><div>2. the &quot;Cog JIT VM&quot; More... link goes to&nbsp;<a href="http://www.squeakvm.org/index.html">http://www.squeakvm.org/index.html</a>, which is, I think, a non-sequitur, ecauser the page doesn&#39;t say anything obvious about Cog. &nbsp;If the page is to be kept then it needs to say at least &quot;The Squeak Virtual Machine&quot;. &nbsp;But better might be to link directly to my blog.</div>
<div><br></div><div><br></div><div>Here&#39;s the text&nbsp;from&nbsp;<a href="http://www.mirandabanda.org/cogblog/about-cog">http://www.mirandabanda.org/cogblog/about-cog</a></div><div>&nbsp;</div><div>&quot;Cog is a virtual machine designed for Smalltalk and other similar dynamic languages. &nbsp;Cog builds on the Squeak virtual machine adding a stack-to-register-mapping just-in-time compiler, aggressive in-line message cacheing and effective optimization of Smalltalk&rsquo;s first-class activation records. &nbsp;Cog is the virtual machine underlying Teleplace&rsquo;s Croquet-based enterprise virtual collaboration spaces software, the fastest virtual machine for Squeak, and for Gilad Bracha&rsquo;s Newspeak modular language inspired by Beta and Smalltalk. &nbsp;Like the original Squeak VM, Cog is implemented and developed in Smalltalk, and translated into a lower-level language to produce the production VM. &nbsp;Being a Smalltalk program it is a delight to develop. &nbsp;Cog is available under the MIT open source license and is unencumbered for commercial deployment.</div>
<div><br></div><div>Cog&rsquo;s performance relative to the existing Squeak interpreter varies, depending on the benchmark chosen. &nbsp;As of early-2011, the Cog JIT uses strong inline cacheing techniques and stack-to-register mapping that results in a register-based calling convention for low-arity methods. &nbsp;Due to the complexity of the Squeak object representation it has a limited set of primitives implemented in machine code that, for example, exclude object allocation. &nbsp;Performance of the early-2011 JIT for the nbody, binarytrees and chameneos redux benchmarks from the computer language shootout is in the range of 4 to 6 times faster than the interpreter.</div>
<div><br></div><div>I am writing an occasional series of blog posts describing the implementation on this site. See the Cog category at the left side of the page. &nbsp;Currently I&rsquo;m working on a new memory manager with a much improved object representation and garbage collector. &nbsp;See the Spur category at the left side of the page.</div>
<div><br></div><div>Cog is now the standard VM for Squeak, Pharo and Newspeak.&quot;</div>-- <br>best,<div>Eliot</div>
</div></div>