On Tue, 2003-06-03 at 03:54, Henrik Tougaard wrote: > On Sat, May 31, 2003 at 09:54:45AM -0400, Bryan C. Warnock wrote:
> [snip] Part of what was snipped was this line: (For the sake of using real numbers, I'll assume 32/64.) > > Currently, the flow is, in variable sizes: > > > > Opcodes: 32 (constants are limited by the spec) > > PMCs : 64 > > Regs : 64 > > Guts : 64/32 mix > > System : 32 > > > [snip] > > The flow *really* is, in value sizes: > > > > Opcodes: 32 (constants are limited by the spec) > > PMCs : 64 > > Regs : 32 > > Guts : 32 > > System : 32 > [snip] > You seem to forget that there *are* systems out there that have a native 64-bit > integer size (and a heavy penalty > for handling 32-bit ints). Even the pointer size *has* to be 64 bits - the system I > write this on has 6 GB of > memory installed, so a 32 bit pointer is just useless. I have forgotten nothing.[1] I simply got tired of talking in the abstract. The above also holds true for 64/128. (Well, except that opcode values are still limited to 32-bits, but padded in a 64-bit construct. I believe this was reiterated in the thread that followed with Gopal V, but I'll try to clarify here. (I don't always convey my messages clearly.) This is *not* a proposal that Parrot should be 32 bit. This *is* a suggestion that the Parrot core should *not* be built around types wider than the underlying physical hardware is. > So even the 'System' size must be 64-bits, as > size_t is an unsigned long (and therefor 8 bits. And that's right in line with what I was saying. Don't get wrapped up in the numbers. They were just an example. [1] Actually, I'm sure I've forgotten a lot, which it why I'm posted this for comments and criticism. But I haven't forgotten about 64 bit platforms, which is my platform of predominant use. That would be rather short-sighted, even for me. -- Bryan C. Warnock bwarnock@(gtemail.net|raba.com)