Nashorn and JVMTI
David P. Caldwell
david at code.davidpcaldwell.com
Thu Sep 25 21:13:42 UTC 2014
When I attempt to connect the NetBeans profiler (which I understand to
be essentially the same as jvisualvm) to a Nashorn embedding, I get an
error (JVMTI error 62) for essentially every class that relates to
scripting, including the dynalink stuff and Nashorn itself, as well as
generated classes named NashornJavaAdapter.
If I persist through all of this (or filter them out of being
profiled, or turn on -Xverify:none), I end up with profiling data that
call to eval() as atomic.
Do you guys do this stuff? My customers are constantly objecting to
the "fact" that running Java on the JVM is going to be a terrible
idea, performance-wise -- especially compared to Node, which they
believe is lightning fast -- and I am having difficulty generating
data on this point.
More generally, of course, profiling is a normal and necessary
development activity. I wrote a Java agent for Rhino that mangled the
instrumented methods, but I'm not clear on (a) whether that's
necessary, or (b) how it would work given the Nashorn implementation
is probably using constructs I don't yet understand. But if that's the
route, let me know and give me a pointer or two and I'll be on my way.
-- David P. Caldwell
More information about the nashorn-dev