[PATCH] Remove kindInGroup reference

Rui Ueyama ruiu at google.com
Mon Jan 26 22:19:34 PST 2015


A LayoutAfter reference is considered as a doubly-linked reference by the
garbage collector. Look for _refereseRef at Resolve.cpp.

Thus if one atom is live, all atoms in the LayoutAfter chain are considered
live too, regardless whoever the live atom is in the chain.

On Mon, Jan 26, 2015 at 10:12 PM, Nick Kledzik <kledzik at apple.com> wrote:

>
> On Jan 26, 2015, at 8:10 PM, Rui Ueyama <ruiu at google.com> wrote:
>
> I think it's not for garbage collection. Because all atoms in the same
> section are already connected with LayoutAfter references, they are treated
> as a group by the garbage collector.
>
> Well, the first atom in the section has nothing before it, so it has
> nothing holding on to it.
>
> More generally, if all you have is a after-chain and the only atom
> referenced from outside the section is the Nth atom, then dead stripping
> could remove atoms 1 thru N-1.
>
> -Nick
>
>
>
> 2015/01/26 19:25 "Shankar Easwaran" <shankar.kalpathi.easwaran at gmail.com>:
>
>> This is mainly relevant when you turn on garbage collection as Nick
>> pointed out. You can refer to an atom in a section but to keep the section
>> to be consistent w.r.t ELF you have to keep all the remaining atoms
>> together.
>>
>>
>> http://reviews.llvm.org/D7189
>>
>> EMAIL PREFERENCES
>>   http://reviews.llvm.org/settings/panel/emailpreferences/
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150126/48ebf18b/attachment.html>


More information about the llvm-commits mailing list