[Vm-dev] 64bit FFI?
Bert Freudenberg
bert at freudenbergs.de
Thu Feb 12 19:25:39 UTC 2009
On 12.02.2009, at 19:29, Eliot Miranda wrote:
> Um, I have (studied my Agrippa), and I quote:
>
> Does my 64-bit VM run both 32-bit and 64-bit images? No. Any VM will
> run either 32-bit or 64-bit images
Read it like this:
Does my 64-bit VM run *both* 32-bit and 64-bit images? No. Any VM will
run *either* 32-bit *or* 64-bit images
> Apologies for being so persistent :)
Well everyone has a thick day once in a while.
> http://squeakvm.org/squeak64/faq.html
You still fail to see the crucial distinction the FAQ makes between 64-
bit *images* and 64-bit *VMs*:
What is a 64-bit image?
A 64-bit image is an image in which the object memory uses a 64-bit
word size for object pointers
What is a 64-bit VM?
A 64-bit VM is one which is compiled with the LP64 or ILP64 data
model. This means, in C terms, that pointers and longs are 64-bits wide.
These two are independent. There are four kinds of VMs:
1) a 32-bit VM compiled to run 32-bit images
2) a 32-bit VM compiled to run 64-bit images
3) a 64-bit VM compiled to run 32-bit images
4) a 64-bit VM compiled to run 64-bit images
Wether the VM can run 32 or 64 bit *images* is governed by the
checkbox in VMMaker.
Wether the VM can run on a 32 or 64 bit host is governed by the C
compiler.
Also, nobody uses 64 bit images yet.
Please suggest how the FAQ could make this more clear (assuming you
actually studied the whole thing and not just skimmed it).
- Bert -
More information about the Vm-dev
mailing list