harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Shipilev" <aleksey.shipi...@gmail.com>
Subject Re: a better selection heuristic for register allocation?
Date Mon, 22 Sep 2008 06:25:38 GMT
Hi, Xiaoming!

AFAIU, the real problem is the compilation time when CG is enabled.
You might experiment though: take server.emconf, walk around disabling
BP in SD2_OPT (i.e. set the threshold to 0) and see the difference.
There's also an interesting question, what methods would go to SD2_OPT
pipeline, but there should be only hot methods. The hottness is
defined by profiler constraints there.

I'm recalling that some workloads like OC4J fail (fatal exceptions in
WebMaker) when threshold is less than 2500 -- I believe that was the
reason of having 10000 in server_aggressive.


On 9/20/08, xiaoming gu <xiaoming.gu@gmail.com> wrote:
> 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

View raw message