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

Fariborz Jahanian fjahanian at apple.com
Fri Sep 18 08:20:38 PDT 2009


On Sep 18, 2009, at 3:53 AM, David Chisnall wrote:

> It hasn't gone in yet.  I've modified my local copy to set flag  
> 1<<30 on blocks that have this metadata attached to them, but I was  
> waiting for confirmation that this wouldn't break anything for Apple  
> before I committed it.
>

gcc uses BLOCK_HAS_DESCRIPTOR =    (1 << 29) as the last used flag.  
However, runtime may have different ideas for
(1 << 30). So, answer should come from them.

- Fariborz

> David
>
> On 18 Sep 2009, at 10:32, Daniel Dunbar wrote:
>
>> Ping?
>>
>> It seems like non consensus was reached, but the code went in. Should
>> we pull it for now?
>>
>> - Daniel
>>
>> On Fri, Sep 11, 2009 at 6:25 AM, David Chisnall <csdavec at swansea.ac.uk 
>> > wrote:
>>> 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
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>>
>




More information about the cfe-dev mailing list