"Yair Lifshitz" <[EMAIL PROTECTED]> writes: > > Basically, as long as the application is in the 32G range (2^32*2^3),
Seems like a strange assumption. If the application can use 32GB what stops it from using 40GB or 64GB? Systems with that much memory are readily available these days. > Would be nice to get your opinions on it. It's a common optimization in the JVM world where the Just in time compilers do it based on the configured heap sizes and because there's no fixed ABI. But on the C compiler level the problem is that you'll have an completely own ABI and won't be able to use any standard libraries unless you recompile them. And no system calls without a translation layer or some way to tag all system interfaces to the the standard ABI. Java avoids that by having clearly defined interfaces to the outside world, but that's not the case in C. Or you annotiate all structures where this translation should happen. It is essentially the same problem as the common "32bit ABI in long mode" proposals have. -Andi