Mike Duigou wrote:
I've updated the patch to avoid the second read-volatile by having the acquire*
methods return a result. Method already used that approach.
I am less certain about tackling additional improvements to the caching in this
patch. In part because I suspect that the usage patterns for Method.invoke(),
Constructor.newInstance() and Field.get*() are different and I don't have any
metrics which I can reference to say which is the appropriate strategy for
each. My suspicion is the usage pattern for Field differs significantly from
Constructor and Method which are likely more similar. If anyone can contribute
usage pattern experiences or practical insights into how these are then we can
come up with appropriate solutions.
The update webrev : http://cr.openjdk.java.net/~mduigou/6565585/1/webrev/
Mike
I think the changes look good and are low risk. Given that jdk7 is
nearly done then it may be best to just push what you have and create
another bug to track other suggestions, including Brian's idea to use a
thread local cache.
-Alan