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

David Chisnall csdavec at swan.ac.uk
Tue Nov 17 12:42:33 PST 2009


On 17 Nov 2009, at 20:32, Blaine Garst wrote:

> Fariborz, Daniel,
>
> If the feature remains as initially described, that is, that when  
> 1<<30 is marked in the flags field that an extra field shows up in  
> the block itself containing the @encode of the block arguments for  
> the gnu runtime, then I have no objection.

Yup, that's exactly how it works at present.

> The direction is to put not only the block argument @encode  
> description in place but also a concise block layout description  
> such that the runtime can do all the of the copying work without  
> helpers - except for the cases where C++ c/dtors need to be called.   
> The layout will likely need to serve some new purposes or need to be  
> flexible to serve new purposes in the future.  The descriptor block  
> is where this data will live since it is sharable and immutable.

We are not making this field public outside of the runtime currently,  
we are just exposing it via runtime functions, so when you have  
something better we can easily swap over to using that.

This isn't set in stone for us at the moment (we haven't done a  
release of anything that depends on it yet and won't for a few months)  
so if there are any changes that would make this migration easier in  
future then I'd be interested in making them...

> I forget whether the GNU runtime @encode data is different than ours  
> and so I don't know whether the GNU runtime will be able to use our  
> data or at least wherever our slot does show up and how we mark it,  
> but I think that is a not unreasonable goal to consider.

It's exactly the same - we use the same code to generate it.

David

-- Sent from my PDP-11


-- Sent from my Difference Engine






More information about the cfe-dev mailing list