On 2017-01-03 19:08, Karen Kinnear wrote:
Claes, Thank you for all the good work you are doing identifying performance issues and making improvements. I strongly agree with Lois’ concerns. We looked at other cases in which we have an interface from java to the VM that need to pass fully qualified names, e.g. Class.forName(). The model used there might be useful to you as an alternative way to get the same performance benefits. see Class.c - which uses some existing libjava utilities to do the conversion. So this has the benefit of not creating extra java strings, while keeping the JVM interface consistent. It also reduces the risk of missing locations.
Yes, I had forgotten to consider that we could do this kind of conversion in the JDK native code. This will mean the interface would need to change more than through this patch, though, as we'd want to pass a transformed char* rather than a jstring through. I'll accept the challenge, of course. :-) Thanks! /Claes