Hi Gabriel,<br><br><div class="gmail_quote">On Tue, Nov 2, 2010 at 3:50 AM, Gabriel Hernán Barbuto <span dir="ltr">&lt;<a href="mailto:gbarbuto@gmail.com">gbarbuto@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Hi<br>
<br>
I am looking at MicroSqueak and trying to make it work in a new image.<br>
I run MicroSqueak in a new VM and it works. What is a bit odd is that<br>
MicroSqueak has a different class hierarchy for String. It doesn&#39;t<br>
know about ByteString nor WideString and the String class in<br>
MicroSqueak has a different format than the one in recent images.<br>
<br>
How is it possible that a MicroSqueak generated image runs on the<br>
recent VMs? The special objects array that MicroSqueak creates is<br>
different. For example, at index 7 MicroSqueak put its own version of<br>
String instead of ByteString. I have tried it on Mac OS X on the<br>
Squeak 4.2.5b1 VM and on Windows on the 4.0.2 VM.<br>
<br>
My guess is that it works because MicroSqueak String has the same<br>
structure as ByteString in current images. So the VM does not notice<br>
that it is working with a different object.<br></blockquote><div><br></div><div>Exactly.  In Smalltalk-80 v2.0 there was no wide string support so String was the concrete string class with 8-bit elements.  Now we have wide string support and hence ByteSymbol ByteString WideSymbol and WideString.  The VM requires that specialObjectsArray at: 7 is an 8-bit string class which is ByteString in contemporary Squeaks and String in older Squeaks.</div>
<div><br></div><div>Remember the major goal of the MicroSqueak work is to produce a kernel image that can bootstrap a contemporary Squeak image.  So it is important to bring MicroSqueak up-to-date, and make it&#39;s classes match the current system.  For example, its use of System in place of SmalltalkImage and SystemDIctionary as well as its use of String in place of ByteString and String makes sense if the goal is as small an image as possible but doesn&#39;t make sense if the goal is bootstrapping current images.  So please update these areas of MicroSqueak.</div>
<div><br></div><div>best</div><div>Eliot</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Thanks<br>
<font color="#888888">Gabriel<br>
</font></blockquote></div><br>