On 10/11/2013 06:56 AM, David Holmes wrote:
Karen,

You can set the system property sun.reflect.inflationThreshold=N to change the magic value from 15. That makes testing easier.

Or, alternatively, you can set sun.reflect.noInflation=true, which generates code straight away, so that even 1st invocation goes throught the generated accessor. Contrasting this with sun.reflect.inflationThreshold=0 where accessor is generated on 1st invocation, but 1st invocation still goes via native accessor.

Regards, Peter


David

On 11/10/2013 12:32 AM, Karen Kinnear wrote:
Joel,

Thank you for the review.

Actually, that is a very good question.
We will be adding the test case for this one to our vm side defmeth.PrivateMethodsTest, because you have to create a classfile since private methods in interfaces are not supported by javac, they are for internal use for Lambda support. So it was decided to not try to add them to the
java reflection tests.

Good question - I brought this up once with Tristan and Amy who were writing reflection tests for lambda. I will ask again about reflection coverage for invoking a method more than 15 times.

thanks,
Karen

On Oct 10, 2013, at 9:02 AM, Joel Borggren-Franck wrote:

Hi Karen,

I agree with the others, the code looks good though I like Paul's
suggestion.

Silly question perhaps, do you know if we have good test coverage on
actually reflectively invoking a Method more than 15 times?

cheers
/Joel

On 2013-10-09, Karen Kinnear wrote:

Please review:

webrev: http://cr.openjdk.java.net/~acorn/8026213/webrev/
bug: https://bugs.openjdk.java.net/browse/JDK-8026213

Summary:
Reflection generates code dynamically to speed up reflection processing after startup. The first 15 runs of a reflection call use the vm code path, after that we use the generated code path, which
needs to use invokespecial on private methods in interfaces.

Tested:
Test attached to the bug

Also - all the 8011311 private method testing was run with this in the build:
Robert Field's TypeTest
8025475 test
defmeth privatemethodstest with reflection
John Rose's intfbug
jtreg: java.util, java.lang
jck vm, lang

thanks,
Karen




Reply via email to