[cfe-dev] Block introspection and GNU runtime new ABI support

David Chisnall csdavec at swansea.ac.uk
Fri Sep 11 06:25:48 PDT 2009


On 10 Sep 2009, at 22:43, Blaine Garst wrote:

> Changing the ABI is very painful - we were unable to move the invoke
> function into the descriptor structure as we had originally intended
> for example, so I also advise caution.

In the interests of future compatibility, may we use one of the bits  
in the flags field to indicate the presence of this type encoding  
(e.g. (2<<30))?  Then we can easily switch block runtimes in existing  
code and just keep the accessor function for the type encoding (or  
compute it on-the-fly if that flag is not present but the information  
is there in some other way).

Longer term, we'd probably like to deprecate our blocks runtime and  
use the one from compiler-rt, but looking at that code it seems that  
it will take a bit of effort to make it compile on platforms other  
than Windows and Darwin, and to integrate with the GNU Objective-C  
runtime.

David



More information about the cfe-dev mailing list