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

Daniel Dunbar daniel at zuster.org
Sat Sep 19 23:55:01 PDT 2009


On Fri, Sep 18, 2009 at 3:53 AM, David Chisnall <csdavec at swansea.ac.uk> 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.

I was referring to this:

> Checked in TOT: http://llvm.org/viewvc/llvm-project?view=rev&revision=81462

and:

> Fariborz seems to have committed the patches before any consensus was
> reached - I'd be happy if someone wants to revert it until everyone is
> happy with the proposed changes and I'll commit it later after any
> review comments have been addressed.
>
> David

 - Daniel

> 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