Hi, all. I did some study of register allocation these days. In current version, there are two kinds of register allocation - bin-packing (BP) and coloring-graph (CG). In client modes (client and opt), only BP is used. In server modes (server, server_aggressive and server_static), BP and CG are two choices for the being compiled function. If the number of operands in the function is less than a threshold, CG is selected. Otherwise, BP is selected. The default value for this threshold is 2000 and in server_aggressive it's set to 10000.
My question is that is it better to make the selection heuristic for BP/CG more meaningful? An intuitive is to use CG for hot functions. What's your opinions? Thanks. Xiaoming
