Issue Details (XML | Word | Printable)

Key: RVM-447
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: David Grove
Reporter: Ian Rogers
Votes: 0
Watchers: 0
Operations

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

Inline size estimation reduction factor calculation over rates precise information causing bloat and slow down

Created: 20/Apr/08 10:21 AM   Updated: 09/May/08 09:36 AM
Component/s: Compiler: Optimizing
Affects Version/s: None
Fix Version/s: 2.9.3

Time Tracking:
Not Specified

File Attachments: 1. Text File rvm-447.patch (1 kB)

Issue Links:
Supercedes
 


 Description  « Hide
We reduce the size overhead calculation of a method by scaling the method size down by up to 40%. For each argument we give credit as follows:
  • 5% credit for being extant.
  • 15% credit for being a precise type.
  • 1% credit for being a declared type.
  • 10% credit for being an int constant
  • 15% credit for being 'null'
  • 10% credit for being a string constant

This is giving a performance slow down (see RVM-446) as we fix problems in propagating precise types. It is also ignoring class literals, float/double/long literals and object literals. We really need to tune and improve these values. See:

http://jikesrvm.svn.sourceforge.net/viewvc/jikesrvm/rvmroot/trunk/rvm/src/org/jikesrvm/compilers/opt/inlining/InlineTools.java?revision=14037&view=markup#l_119



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Ian Rogers added a comment - 20/Apr/08 02:11 PM

Ian Rogers added a comment - 20/Apr/08 09:24 PM
r14134 to r14137 fix bugs that occur if inlining based on constant args is made more aggressive. This patch changes the weight of all constant args to +10% and gives null constant a further +5% as before. For registers it lowers the weight for precise type information. This doesn't fix the compress performance regression as we still inline too much of Compress.output - I believe doing this earlier is bad, as we have no profile information.

David Grove added a comment - 22/Apr/08 02:02 PM
The code/image size issues have been corrected. I'll continue to look at compress/db performance changes under the other tracker item as I suspect "fixing" them will require tuning other inlining control parameters, not the inline size reduction heurisitcs.