RVM

Prevent compilation at max opt level before some dynamic call graph information has been gathered

Details

  • Number of attachments :
    0

Description

The fundamental reason why db and compress (and perhaps other benchmarks we haven't noticed) are so touchy to small changes in the static inlining heuristics is that we are getting methods to the maximum optimization level too quickly. If we are gathering dynamic call graph data, then the adaptive system simply should not allow methods to be compiled at its maximum opt level too soon (before we have at least some coverage of the program in the dynamic call graph). Once we have some dynamic call graph data, then we'll "do the right thing" for hot call sites with much higher probability and without quite as much contorted tuning of the static inlining heuristics.

I think this is a fairly simple plumbing change. The potential down side is that we will perhaps be slightly less responsive to truly short-running programs. This is probably offset by avoiding wasting compilation effort on bad decisions.

Activity

Hide
David Grove added a comment -

committed in r14152.

Show
David Grove added a comment - committed in r14152.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: