<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Subbu,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 10, 2020 at 4:58 AM K K Subbu <<a href="mailto:kksubbu.ml@gmail.com">kksubbu.ml@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br>
All,<br>
<br>
I tried simulating latest trunk6.image in Squeak#19335 on <br>
sqcogspur64linuxht built on linux (Ubuntu 16.04):<br>
<br>
| sis |<br>
sis := StackInterpreterSimulator newWithOptions: #(ObjectMemory <br>
Spur32BitMemoryManager).<br>
sis desiredNumStackPages: 8.<br>
sis assertValidExecutionPointersAtEachStep: false.<br>
sis openOn: 'trunk6.image'.<br>
sis openAsMorph; run<br>
<br>
The image opens successfully, but I get a small blinking rectangle to <br>
the left of the Squeak icon on the docking bar. </blockquote><div><br></div><div>The rectangle blinks whenever the simulator calls ioRelinquishProcessorForMicroseconds:, which is the heart of primitiveRelinquishProcessor.  SO the blinking rectangle shows you that the system is running but has nothing to do.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Response is terribly <br>
slow (about 20s to bring up the World menu) even when cpu is at 30-40%.<br>
<br>
What am I doing wrong?<br></blockquote><div><br></div><div>Nothing.  The simulator is slow.  It allows very high-level development of the VM.  But it does not perform anything like as fast as the production VM.  Even though it is thousands of times slower than the real VM it permits development of the VM at rates that are, in my experience, ten to a hundred times faster.</div><div><br></div><div>If you want to develop specific primitives, optimizations, etc, that are invoked from specific Smalltalk expressions you'll find simulating the "reader" image, which contains a Real-Eval-Print Loop (a REPL), much easier than trying to interact with the desktop through the world menu.  It is also perfectly repeatable.  Another approach is to save the image using a doit and have that doit include, after the snapshot, the code you want to run.  Another technique that saves time is to save the image containing the simulator with an open simulator having reached some point, such as the start of a garbage collection.  You can then rerun the code you're interested in my reloading the image and continuing the simulator.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">What are the options if I want to open V3 images in this simulator?<br></blockquote><div><br></div><div>Just change  ObjectMemory Spur32BitMemoryManager to ObjectMemory NewObjectMemory</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">TIA .. Subbu<br>
</blockquote></div><div><br></div><div dir="ltr" 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></div></div></div>