Issue Details (XML | Word | Printable)

Key: RVM-443
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Ian Rogers
Reporter: Ian Rogers
Votes: 0
Watchers: 0
Operations

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

Avoid back references in java.lang.reflect VMXXX classes

Created: 18/Apr/08 07:15 PM   Updated: 13/Oct/08 05:30 AM   Resolved: 18/Aug/08 01:02 PM
Component/s: Runtime: Class Library: GNU Classpath
Affects Version/s: None
Fix Version/s: 3.0.1

Time Tracking:
Not Specified

Issue Links:
Related
 


 Description  « Hide

Currently the patten:

... Method { ...
Method(..) { vmMethod = new VMMethod(...); vmMethod.method = this; }
}

... VMMethod { ...
Method method;
... invoke ... { method.isAccessible(...) .. }
}

is common in java.lang.reflect. The field holding the Method is non-final therefore we can't optimize the back reference away. It would be much more efficient if when calling VMMethod.invoke the Method was passed as an additional argument.

This effects Constructor too.



Ian Rogers added a comment - 18/Aug/08 01:02 PM

Patch in r14905.