<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">I understand your usecase, but what I
      meant is, dead-strip is only a option available in core. <br>
      <br>
      Removing kindLayoutBefore completely should not affect anything
      because we dont dead strip in flavors [link, gnu, ld64] <br>
      <br>
      Thanks<br>
      <br>
      Shankar Easwaran<br>
      <br>
      On 3/27/2014 4:31 PM, Rui Ueyama wrote:<br>
    </div>
    <blockquote
cite="mid:CAJENXgsX4jaBb1SMpCCYH3Wv7wgkCLwnc-PerzcCu3Sb++tibA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Can you elaborate a bit? I don't understand what you mean.</div>
        <div><br>
        </div>
        <div>Removing kindLayoutBefore will affect dead stripping
          because it would lost back references for kindLayoutAfter, so
          it would collect live atoms.</div>
        <div><br>
        </div>
        I'm not removing kindLayoutBefore in this patch. This patch is
        just to stop using kindLayoutBefore in the layout pass. The dead
        stripping pass is still using it. Removing kindLayoutBefore
        entirety is the last step, after modifying the dead stripping
        pass so that the pass works without kindLayoutBefore (only with
        kindLayoutAfter and kindInGroup).<br>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Thu, Mar 27, 2014 at 12:45 PM,
          Shankar Easwaran <span dir="ltr"><<a
              moz-do-not-send="true"
              href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <div class="">
                <div>On 3/27/2014 2:33 PM, Rui Ueyama wrote:<br>
                </div>
                <blockquote type="cite">
                  <div dir="ltr">
                    <div
                      style="font-family:arial,sans-serif;font-size:13px">(I

                      accidentally hit "reply" instead of "reply all",
                      so sending it again.)</div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px">
                      <br>
                    </div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px">I'll

                      add "alias" references if no objections from other
                      reviewers. I'll probably add ELF symbol aliasing
                      support with it, so hold on.</div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px"><br>
                    </div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px">We

                      cannot remove kindLayoutBefore because doing it
                      would break dead stripping pass. We still need it
                      for GC as GC needs backward references.</div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px"><br>
                    </div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px">To

                      remove kindLayoutBefore, we have to modify dead
                      striping pass so that it creates back references
                      internally from forward references and use it
                      while collecting dead objects. I think I'm going
                      to make such change, but it's going a bit large.</div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px"><br>
                    </div>
                    <div
                      style="font-family:arial,sans-serif;font-size:13px">Submitting

                      this change first and then doing the next step in
                      a following patch would be better than merging the
                      two together. Incremental change is easier to
                      bisect in case it would breaks omething, and it's
                      easy to understand for reviewers, too.</div>
                  </div>
                  <div class="gmail_extra"><br>
                  </div>
                </blockquote>
              </div>
              <div class=""> Do we have a flag to garbage collect atoms
                with lld in the current implementation ? If not removing
                kindLayoutBefore wouldnot affect anything right ?<br>
                <br>
              </div>
              <div class=""> Shankar Easwaran<br>
                <br>
                <pre cols="72">-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
  </body>
</html>