Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Leopard Questions



Review the following for "-arch"

<http://developer.apple.com/releasenotes/DeveloperTools/ CompilerTools.html>

On Aug 25, 2006, at 4:56 PM, Terry Simons wrote:

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

_______________________________________________ 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
References: 
 >Re: Leopard Questions (From: Greg Guerin <email@hidden>)
 >Re: Leopard Questions (From: Terry Simons <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.