Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
GeneralPortable MacsHardwareNetworking
Applications
Mac ApplicationsEudoraFirefox / MozillaInternet ExplorerOutlook ExpressMS OfficeEntourageExcelPowerPointWordVirtual PCMedia PlayerOther MS Products
Programming
Mac ProgrammingCodeWarriorPerl
Country Specific
Australian Mac GroupUK Mac Group

Mac Forum / Programming / Mac Programming / February 2005



Tip: Looking for answers? Try searching our database.

64-bit apps on Tiger

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Sam Hutchings - 22 Feb 2005 21:51 GMT
Does anyone have some practical experience with 64-bit apps on Tiger?

The Apple page <http://developer.apple.com/macosx/tiger/64bit.html>
mentions a strange limitation: no GUI in a 64 bit address space.  Does
this mean that Apple just hasn't gotten around to updating the
libraries, or is there a more fundamental reason?

Are there any other 'gotcha's that detract from the "64 bit experience"?

Can an application have full 64-bit math support without the the 64 bit
address space?

-just curious
Paul Russell - 22 Feb 2005 22:03 GMT
> Can an application have full 64-bit math support without the the 64 bit
> address space?

Yes, the two are completely unrelated. You can use 64 bit instructions
today on a G5 system running 10.3.x (gcc -mpowerpc64).

Paul
Sean McBride - 22 Feb 2005 23:22 GMT
> The Apple page <http://developer.apple.com/macosx/tiger/64bit.html>
> mentions a strange limitation: no GUI in a 64 bit address space.  Does
> this mean that Apple just hasn't gotten around to updating the
> libraries

Its probably that.  Lots of stuff (parts of Carbon for example) assume
pointers are 32 bits.  It'll take forever to change. :)
Scott Ellsworth - 23 Feb 2005 00:00 GMT
> The Apple page <http://developer.apple.com/macosx/tiger/64bit.html>
> mentions a strange limitation: no GUI in a 64 bit address space.  Does
> this mean that Apple just hasn't gotten around to updating the
> libraries, or is there a more fundamental reason?

The fundemental reason is pretty simple - GUIs do not, as a rule, need
to access huge amounts of data, so users are not clamoring for 64 bit
pointer access in Cocoa.  They are so clamoring for 64 bit underlying
libraries.

Further, doubling the size of pointers requires, at the least, a
redefinition of the base pointer types, and thus a doubling of the ram
required (for those pointers). Such binaries would also be incompatible
with older systems.

So, you get more memory use, and slower access on systems without a 64
bit integer data path, with little benefit.  Eventually, this will
change.  They will have a G5 powerbook, and will decide that backwards
incompatibility is a price worth paying for not having to code
(slightly) differently when writing big server apps vs GUI apps.

The reference documents on 64 bit codinghave advice on how to put a 32
bit GUI on a 64 bit process.  Not that difficult, and similar to what we
were doing already for our data analysis apps.  Frankly, writing command
line-style tools to do heavy lifting with a simple gui on top is pretty
useful if you ever expect to need it to become a web app.

Scott
ZnU - 25 Feb 2005 02:42 GMT
> > The Apple page <http://developer.apple.com/macosx/tiger/64bit.html>
> > mentions a strange limitation: no GUI in a 64 bit address space.  Does
[quoted text clipped - 5 lines]
> pointer access in Cocoa.  They are so clamoring for 64 bit underlying
> libraries.

What I want to know, which isn't really answered, is what level of
64-bit support there is in Objective-C and the non-GUI parts of Cocoa
(the Foundation classes). Separating an app's GUI from its back-end code
is easy enough, but it would be nice to be able to use Obj-C and the
foundation classes *in* the back-end code.

[snip]

Signature

Is Bush wearing a LifeVest defibrillator?
http://nyc.indymedia.org/newswire/display/136872/

Michael Ash - 25 Feb 2005 06:20 GMT
In comp.sys.mac.programmer.misc ZnU <znu@fake.invalid> wrote:

> What I want to know, which isn't really answered, is what level of
> 64-bit support there is in Objective-C and the non-GUI parts of Cocoa
> (the Foundation classes). Separating an app's GUI from its back-end code
> is easy enough, but it would be nice to be able to use Obj-C and the
> foundation classes *in* the back-end code.

As far as I am aware, libobjc has not been ported to 64-bit, so you won't
be able to write 64-bit ObjC code *at all* at least with the first
revision of Tiger. (That's just hedging my bets; as far as I know, Apple
may not get libobjc ported over for quite some time, but they might.)
Michael Ash - 23 Feb 2005 07:21 GMT
In comp.sys.mac.programmer.misc Sam Hutchings <spamBucket@stop.spam.on.the.net> wrote:
> Does anyone have some practical experience with 64-bit apps on Tiger?
>
> The Apple page <http://developer.apple.com/macosx/tiger/64bit.html>
> mentions a strange limitation: no GUI in a 64 bit address space.  Does
> this mean that Apple just hasn't gotten around to updating the
> libraries, or is there a more fundamental reason?

It's basically just a matter of updating the libraries, but this is a huge
undertaking. It's not just a matter of flipping a switch and recompiling,
as there's probably a great deal of code in them that relies on the size
of pointers being four bytes, and it all has to be tracked down and
changed. Since this isn't the primary place where 64-bit support can be
useful, Apple hasn't done it yet. Even Tiger's kernel is still 32 bit.
David Magda - 23 Feb 2005 18:11 GMT
> Even Tiger's kernel is still 32 bit.

Are you sure? How can a process address 64-bits of virtual memeory if
the kernel can only address 32-bits of memory?

At least under Solaris, a 64-bit kernel can run both 64- and 32-bit
bit binaries. But a 32-bit kernel can only run 32-bit binaires.

Signature

David Magda <dmagda at ee.ryerson.ca>, http://www.magda.ca/
Because the innovator has for enemies all those who have done well under
the old conditions, and lukewarm defenders in those who may do well
under the new. -- Niccolo Machiavelli, _The Prince_, Chapter VI

Michael Ash - 23 Feb 2005 19:40 GMT
In comp.sys.mac.programmer.misc David Magda <dmagda+trace050112@ee.ryerson.ca> wrote:

>> Even Tiger's kernel is still 32 bit.
>
> Are you sure?

Positive.

> How can a process address 64-bits of virtual memeory if
> the kernel can only address 32-bits of memory?

Because memory access goes through the processor and MMU, not the kernel.
All the kernel has to do is manage paging and be able to read from the
memory of 64-bit processes, both of which it can do in 32-bit mode.

> At least under Solaris, a 64-bit kernel can run both 64- and 32-bit
> bit binaries. But a 32-bit kernel can only run 32-bit binaires.

That's because of Solaris's architecture, not something inherent in kernel
design.
Matthew Russotto - 23 Feb 2005 20:05 GMT
>Does anyone have some practical experience with 64-bit apps on Tiger?
>
>The Apple page <http://developer.apple.com/macosx/tiger/64bit.html>
>mentions a strange limitation: no GUI in a 64 bit address space.  Does
>this mean that Apple just hasn't gotten around to updating the
>libraries, or is there a more fundamental reason?

That's fundamental enough, I'd think.

>Are there any other 'gotcha's that detract from the "64 bit experience"?
>
>Can an application have full 64-bit math support without the the 64 bit
>address space?

Yes, see that same page under "Benefits to 32-bit Applications"
Signature

 There's no such thing as a free lunch, but certain accounting practices can
 result in a fully-depreciated one.

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.