Monthly Archives: May 2007
Virgin Registers
An interesting problem arises when we compile trace trees. When an instruction in the tree (which means its on the loop body) refers to an instruction in the header (so its outside the loop body), we have to make sure … Continue reading
Posted in Trace Compilation
Untyped Context Nodes
Michael wrote on his blog about untyped context nodes. Context nodes represent the local variable/stack state along the incoming edge into the trace tree, which again is really a loop. Since loops almost always have an empty stack at entry, … Continue reading
Posted in Trace Compilation
Containment Analysis & Lock Elimination
Eliminating locks on objects that our Containment Analysis has identified to be local as long we stay in the trace is simple. Each trace in the tree is just a linear sequence of instructions, and we can use a slightly … Continue reading
Posted in Trace Compilation