Graph fusion

Graph fusion is an extended variant of graph coloring. The IR is split into sub-regions by some heuristic (typically hotness). The regions are then graph-colored independently and fused afterwards. This process needs to produce shuffle code on the edges between the regions, so that the register assignments of one region map to those of another. If the hotness criteria are good enough, so that the algorithm can start with the hottest parts of the code, this becomes a powerful algorithm. This is because it has the property that less spill code/shuffle code is generated at nodes that are processed early.

See also Color, Register allocation, Graph coloring, and Spilling.

Get Oracle JRockit now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.