<br><br><div class="gmail_quote">On Thu, Feb 12, 2009 at 10:59 AM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d"><br>
Eliot Miranda wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Um, I have (studied my Agrippa), and I quote:<br>
<br>
Does my 64-bit VM run both 32-bit and 64-bit images?<br>
 &nbsp; &nbsp;No. Any VM will run either 32-bit or 64-bit images, but not both.<br>
</blockquote>
<br></div>
This is a bit misleading. What it means is that once you&#39;ve decided whether a 64 bit VM will be used with 32 or 64 bit images, you cannot change it. However, 64 bit VMs can absolutely be used to run 32 bit images (and why wouldn&#39;t they).</blockquote>
<div><br></div><div>I&#39;m assuming that in-memory the 64-bit VM has 64-bit oops, right? &nbsp;So the VM has to swizzle 32-bit pointers to 64-bit. &nbsp;I haven&#39;t come across this swizzling code yet. &nbsp;I thought that the swizzling was done by the system tracer. &nbsp;Where is the in-VM code to swizzle pointers to 64-bits?</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
<br>
Cheers,<br><font color="#888888">
 &nbsp;- Andreas</font><div><div></div><div class="Wj3C7c"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 &nbsp; &nbsp;You can select one or the other when you generate sources with<br>
 &nbsp; &nbsp;VMMaker, and you can install both flavors of VM on your system (one<br>
 &nbsp; &nbsp;each for 32-bit images and 64-bit images).<br>
<br>
 &nbsp; &nbsp;If you try to run a 64-bit image with a VM built for 32-bit images,<br>
 &nbsp; &nbsp;you will get an error message such as this:<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;This interpreter (vers. 6502) cannot read image file (vers. 68000).<br>
<br>
 &nbsp; &nbsp;If you try to run a 32-bit image using a VM built for 64-bit images,<br>
 &nbsp; &nbsp;you will get an error message such as this:<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;This interpreter (vers. 68000) cannot read image file (vers. 6502).<br>
<br>
<br>
So no, one cannot run a 32-bit image in a 64-bit VM (as I had thought) and the FAQ is quite specific about it. &nbsp;One has to convert a 32-bit image to a 64-bit image to run it on the 64-bit machine (as detailed ijn the FAQ) and that is not what Andreas is interested in doing.<br>

<br>
Apologies for being so persistent :)<br>
&nbsp;<br>
<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://squeakvm.org/squeak64/faq.html" target="_blank">http://squeakvm.org/squeak64/faq.html</a><br>
<br>
<br>
<br>
 &nbsp; &nbsp;- Bert -<br>
<br>
<br>
</blockquote>
</div></div></blockquote></div><br>