<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Feb 13, 2014 at 2:01 AM, Stefan Marr <span dir="ltr">&lt;<a href="mailto:smalltalk@stefan-marr.de" target="_blank">smalltalk@stefan-marr.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
Hi Ron:<br>
<div class="im"><br>
On 13 Feb 2014, at 10:38, Ron Teitelbaum &lt;Ron@USMedRec.com&gt; wrote:<br>
<br>
&gt;&gt; I think the bigger question is whether you actually want to adopt those<br>
&gt; things.<br>
&gt;<br>
</div>&gt; That the vm stays in sync should be a core requirement for our communities.<br>
<br>
I am with you on that Ron. But I need a technical solution to manage those things.<br>
Good intensions are one thing, but how do we do that?<br></blockquote><div><br></div><div>I would implement isPharo/isSqueak/isNewspeak in VMClass. &nbsp;These can answer e.g. the value of a class variable. &nbsp;hence, below...</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Examples: [<a href="https://github.com/pharo-project/pharo-vm/pull/18/commits" target="_blank">https://github.com/pharo-project/pharo-vm/pull/18/commits</a>]<br>
<br>
primitiveUpdateGZipCrc32<br>
- &nbsp; &nbsp; &nbsp; self cCode:&#39;&#39; inSmalltalk:[zipCrcTable := CArrayAccessor on: GZipWriteStream crcTable].<br>
+ &nbsp; &nbsp; &nbsp; self cCode:&rsquo;&#39; inSmalltalk:[zipCrcTable := CArrayAccessor on: CRC crc32Table].<br></blockquote><div><br></div>primitiveUpdateGZipCrc32<br>&nbsp; &nbsp; &nbsp; self cCode:&#39;&#39;</div><div class="gmail_quote">&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;inSmalltalk:[zipCrcTable := CArrayAccessor on: (self isPharo ifTrue: [CRC] ifFalse: [GZipWriteStream]) crcTable].</div>
<div class="gmail_quote"><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
primitiveGetAttribute<br>
<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attribute := Smalltalk getSystemAttribute: attr.<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attribute := Smalltalk vm getSystemAttribute: attr.<br></blockquote><div><br></div><div>This is just my code base being a little out of date. &nbsp;Smalltalk vm getSystemAttribute: works in Squeak. &nbsp;I&#39;ll update my code.</div>
<div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">CogVMSimulator&gt;&gt; initialize<br>
- &nbsp; &nbsp; &nbsp; &#39;Display has not yet been installed&#39; asDisplayText form.<br>
+ &nbsp; &nbsp; &nbsp; &#39;Display has not yet been installed&#39; asMorph imageForm.<br></blockquote><div><br></div><div>This needs to be isPharo.</div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
<br>
ioRelinquishProcessorForMicroseconds<br>
- &nbsp; &nbsp; &nbsp; Processor activeProcess == Project uiProcess ifTrue:<br>
+ &nbsp; &nbsp; &nbsp; Processor activeProcess == UIManager default uiProcess ifTrue:<br></blockquote><div><br></div><div>Ditto, until Squeak changes?</div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
<br>
And so far, I only fixed trivial things. Still need to figure out what is going wrong with more recent Pharo images.<br></blockquote><div><br></div><div>But fab that the simulator is receiving attention on Pharo (and Tty&#39;s work with events is great too).</div>
<div><br></div><div>Now if there could be an automatic job to export whatever git state is the current official Pharo VM to a Monticello VMMaker package I&#39;ll be very much happier.</div><div><br></div><div>Also for this discussion should we continue to cross-post or is vm-dev an adequate forum? &nbsp;Answers from Pharoites please... &nbsp;I have to admit that I&#39;m a bit troubled by how often subjects that are clearly vm-centric are raised on pharo-dev. &nbsp;To Pharoites perceive vm-dev as a squeak thing? &nbsp;If so, may I suggest pharo-vm-dev? &nbsp;If not, can the Pharo community make an effort to direct vm discussion towards vm-dev in future?</div>
<div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Best regards<br>
<span class=""><font color="#888888">Stefan<br>
</font></span><div class=""><div class="h5"><br>
--<br>
Stefan Marr<br>
INRIA Lille - Nord Europe<br>
<a href="http://stefan-marr.de/research/" target="_blank">http://stefan-marr.de/research/</a><br></div></div></blockquote></div><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>