I think Apple is using "x86_64" for 64-bit Intel... it floated
across the darwin list a while ago, so you could probably dig
through the Darwin list archives to figure that out.
- Terry
On Aug 25, 2006, at 12:13 PM, Greg Guerin wrote:
Doug Zwick wrote:
a) will Java under Leopard be 64-bit?
b) are there any implications for loading JNI libs (e.g. must
their bitness
match that of the loading process, must only use 64-bit system
frameworks,
etc.)?
c) will there be a way to tell in a JNLP file whether a 32-bit or
64- bit
binary for a JNI library is required (e.g. unique values for
os.arch)?
I think most of the answers can be determined from current public
information. Here's what I surmise:
a) Probably both a 32-bit and a 64-bit version, for obvious
compatibility
reasons.
b) The 64-bit architecture for both ppc and x86 will be just
another binary
in a fat-binary Mach-O file. So this is probably no different
than the
current Universal Binary requirements for JNI libs. There's
already a
ppc64 arch, just not across-the-board support for it in all
frameworks.
c) There is currently no such distinction visible for ppc vs i386,
so I
would expect none for 64 vs 32 bit. That said, the "os.arch" system
property is readable by untrusted JNLP apps, and it often signals
architecture width. The reason I expect this is because of how
the 'arch'
command works, and how architectures are signified in the sysctl
values and
elsewhere. I think the ppc-64 value is "ppc64", but I don't know
what the
x86-64 value is.
All the above are inferred from the public info about 64-bit archs
and
libs. That is, a new arch or API width is just another binary in
a mach-o
file. Apple could add support for Itanium or PDP-8's and it'd
still be the
same thing: as long as there's a compiler to produce it, it's just
another
binary in a mach-o file.
The main area for rework I see for myself is because a Java int
will no
longer be wide enough to hold a pointer. I'll have to modify a
couple
native functions in a couple of jnilibs, but other than those, I
think I'll
be OK. I expect this transition to be easier than the i386 one,
mainly
because I've already resolved the endian-ness issues. Of course, the
magnitude of any conversion task depends on how wedded one's code
is to
jint's as wide enough for pointers.
Other questions, such as about the C QT API, are probably best
answered by
waiting for the Leopard preview DVD to arrive.
-- GG
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden
This email sent to email@hidden