<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 7/6/2011 6:24 PM, Talin wrote:<br>
    <blockquote
cite="mid:CABwJDd=0vcuMDDrkM9-U7BdegngT4R8qUM=Gv6qLdinwB8ctUA@mail.gmail.com"
      type="cite">
      <div>
        <div>
          <div>
            <div style="border-collapse: collapse; font-family:
              arial,sans-serif; font-size: 13px;">The LLVM code
              generators and analysis passes have a much more thorough
              knowledge of SSA value lifetimes than frontends do, and
              therefore could avoid spilling and reloading of values
              when it wasn't needed.</div>
          </div>
        </div>
      </div>
    </blockquote>
    Although this would indeed be nice, it is not done by similar
    platforms in practice. I have investigated [very] briefly into
    whether the CLR or JVM implement garbage collection in their IR, and
    it does not seem that they do (meaning, the CLR/JVM implementation
    itself is responsible for garbage collection, not the code generated
    by the CLR/Java language compilers).<br>
    <br>
    However, I have left remaining the only strong point in taking an IR
    approach to GC that you pointed out. I have to say that it makes a
    convincing argument, since the generators and analysis passes would
    know even more about the lifetime of variables in code than any
    plug-in GC library would. I'd be curious as to what benefits could
    be gained from this approach over the current standard way of doing
    it; but not terribly hopeful.<br>
  </body>
</html>