discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Objective-C++


From: Marcel Weiher
Subject: Re: Objective-C++
Date: Wed, 27 Apr 2005 17:48:17 +0100


On 27 Apr 2005, at 02:23, Greg Parker wrote:

* fast dispatching
The compiler assumes that a copy of objc_msgSend() is at a fixed memory address, and jumps directly to it. This is most useful in the context of PowerPC and Mac OS X's dynamic linker: the dynamic linker overhead for cross-library calls is significant, and the fast objc_msgSend() can be placed in a memory range that is reachable by single absolute branch instruction. I don't know how interesting this change is for GNUstep, given GNUstep's portability goals.

Great!! (Note: almost half the cost of a message send on OS X was going through the cross-library call, so this is fantastic). Would it be possible to have it go through a pointer instead, and have that pointer then take part in normal compiler optimizations?

* GC
Apple is working on a garbage collection system for Objective-C. It is still under development, but does not use the Boehm GC available in GNUstep. These compiler changes mostly add a write barrier when assigning Objective-C instance pointers to ivars and a few other places. The write barrier is a runtime function, and is similar to the fast dispatching above. This is likely to evolve further, and probably isn't interesting for GNUstep yet.

Interesting, especially the idea of a more indirect variable access mechanism.

Great news, overall.

Cheers,

Marcel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]