<div class="gmail_quote">2009/3/15 Hans-Martin Mosner <span dir="ltr"><<a href="mailto:hmm@heeg.de">hmm@heeg.de</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
nicolas cellier schrieb:<br>
<div class="im">> Hans,<br>
> Tagging/untagging could be very fast! See my other post<br>
><br>
> 1) UnTagging a double= No op<br>
> 2) Tagging a double= a isnan test (so as to have a representable nan<br>
> in Smalltalk)<br>
> 3) This trick does not had any extra cost to tagging/untagging of<br>
> other oops<br>
</div>That's true for a 64-bit processor, and on such hardware I see the<br>
advantages of this scheme.<br>
For 32-bit hardware, it won't work.<br>
Hopefully we'll all have suitable hardware in the near future...<br>
But for example, I'm running 32-bit linux here on my 64-bit AMD<br>
processor just because the WLAN card I'm using only has a 32-bit Windows<br>
driver, and ndiswrapper on 64-bit linux would require a 64-bit driver to<br>
work correctly (which is somewhat stupid IMHO but I'm not going to hack<br>
ndiswrapper).<br>
In the real world, there are tons of silly constraints like this which<br>
still prevent people from fully using 64-bit hardware.<br>
<br>
Cheers,<br>
<font color="#888888">Hans-Martin<br>
</font></blockquote><div><br>Of course, most of the nice properties come from the 64 bits adressing... <br>Hey, wait, I don't even have a 64 processor in my house!<br>For the fun I imagine we could emulate by spanning each oop over two int32<br>
typedef struct {int32 high,low;} oop;<br>I would expect a slower VM by roughly a factor 2 - except for double arithmetic...<br><br>Nicolas<br> </div></div><br>