Issue Details (XML | Word | Printable)

Key: RVM-450
Type: Sub-task Sub-task
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: David Grove
Reporter: David Grove
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
RVM
RVM-446

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

Created: 22/Apr/08 10:54 PM   Updated: 23/Apr/08 11:18 AM
Component/s: Compiler: Adaptive Optimization System
Affects Version/s: None
Fix Version/s: 2.9.3

Time Tracking:
Not Specified


 Description  « Hide
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.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
David Grove added a comment - 23/Apr/08 11:18 AM
committed in r14152.