Re: 32-bit on 10.8
Re: 32-bit on 10.8
- Subject: Re: 32-bit on 10.8
- From: Vincent Habchi <email@hidden>
- Date: Sat, 11 Aug 2012 09:25:01 +0200
Le 11 août 2012, à 05:05, Eric Wing <email@hidden> écrivit:
> There are actually other compelling reasons to move to 64-bit that
> have nothing to do with the amount of addressable memory or max int.
> For example, i386 is register starved which has implications on
> performance. The modern CPU architectures come with security features
> like data execution prevention and so forth which aren't available in
> i386.
And that’s only the tip of the iceberg. Not only has i386 only four GP registers or so, directly inherited from the original 8086 so long ago, but many instructions can only operate on some registers. For example, if I remember correctly, you cannot add two registers unless one operand and the destination are part of the "accumulator" (E)AX. ADD.L BX, AX is allowed, but not ADD.L BX, CX. Same thing for logical, rotation, index based operations, etc. Let alone segmented addressing.
Now, the performance penalty for having so few registers has been partly offset by the addition of low-latency caches. On the other hand, using 32-bit code means shorter addresses, thus somewhat more compact code and data in cache.
But having sixteen registers at disposal is a *real* benefit. It gives you, like in the old 68000 time, the possibility of defining an ABI that hands over up to five or four parameters using registers and not stack, which is a huge improvement. It makes it also much easier for compiler to optimize and use aggressive register allocators.
> the iOS side (which is also 32-bit)). To me, this means Apple is not
> aggressively testing i386. I would extrapolate they are also not going
> to put priority on fixing these kinds of bugs. Nor do I have any
> delusion that Apple wants to continue testing/maintaining Mac i386.
Now, what is the point of testing i386? I mean, how many machines Intel machines out there are not able to run x86_64? The only one I can think of are those based on Core (Duo) processors, and they represent a single year of Apple history. As a MacPorts maintainer, I am more or less ethically committed to compile software into universal Intel binaries (and even PPC, since they are still people out there with legacy hardware, myself included). But that’s more a moral endeavor than a real need.
Vincent
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden