<!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>