Issue Details (XML | Word | Printable)

Key: RVM-393
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Steve Blackburn
Reporter: Ian Rogers
Votes: 0
Watchers: 0
Operations

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

Use Inline.When to control inlining within MMTk

Created: 11/Mar/08 06:10 AM   Updated: 20/Apr/08 05:37 PM
Component/s: MMTk
Affects Version/s: None
Fix Version/s: 1000

Time Tracking:
Not Specified


 Description  « Hide
r14020 introduced Inline.When to control when something should be inlined. By default we always inline (When.Always). For many runtime services we want to inline when the arguments are either all constants (When.AllArgumentsAreConstant) or when particular arguments are constant (When.ArgumentsAreConstant, arguments={1,2,3,4}). By appropriate use of these constructs the space overhead of inlining can be reduced, less code also means less time spent in the compiler.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Steve Blackburn added a comment - 20/Apr/08 04:33 PM
Ian, I'm not sure what you're asking me to do or exactly why you're asking me to do it.

I am prepared (as I've said in the past) to do a complete ground up re-evaluation of MMTk's inlining annotations. However, that is a massive undertaking and there's no way I'll be able to do it any time in the near future.


Ian Rogers added a comment - 20/Apr/08 05:15 PM
I think we just need to focus on things that are always inlined currently and are possibly causing us size and/or performance. In the opt compiler inlining runtime services always grows the code a lot. I can't help but think there's some efficiency to be gained by not inlining in some cases. Possibly we need more When cases, and I'd be happy to code these.

Steve Blackburn added a comment - 20/Apr/08 05:37 PM
Sure. There's no question that we could do better than we are now. We've discussed this in the past and agree that @Inline is overused/abused in MMTk. I'd like a principled re-evaluation, but that will take time, which I am very short on right now.