RFR(M): 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported

Chris Plummer chris.plummer at oracle.com
Thu Mar 31 06:20:41 UTC 2016


Please review the following for removing some fields that are not needed 
when not supporting JVMTI.

https://bugs.openjdk.java.net/browse/JDK-8148195
http://cr.openjdk.java.net/~cjplummer/8148195/webrev.02/webrev.hotspot/

I had passed a preliminary review around a month or so ago. The webrev 
is here:

http://cr.openjdk.java.net/~cjplummer/8148195/webrev.01/webrev.hotspot/

I made a number of changes since then. I tried to reduce the number of 
#ifdefs, but at the same time include less unnecessary code in the 
INCLUDE_JVMTI=0 build. For example, BreakpointInfo is now completely 
gone when not including JVMTI. I didn't really succeed at the former 
since #ifdefs seem to have just moved around, but there is a lot more 
code conditionally compiled out now, and I think it's cleaner this way.

Also since the previous webrev, I added some fixes for SA, although 
these aren't possible to test right now. Currently the minimal VM is the 
only one that supports excluding JVMTI, but it also excludes SA, so that 
makes it hard to test conditionally removing some JVMTI support from SA. 
I tried doing a client VM build without JVMTI, but that's currently 
broken (can't build with INCLUDE_JVMTI=0 and INCLUDE_SERVICES=1). It's a 
known issue that's already being worked on.

Testing I've done:

  - jprt -testset hotspot
  - jck vm tests with minimal vm on linux-x86
  - hotspot/test/:compact2_minimal with minimal vm on linux-x86
  - all the serviceability tests I could find supported by RBT. Ran with 
client vm
     on linux-x86 and server vm on linux-x64.

I'm going to try to do more minimal VM testing. I need to figure out 
more test suites I can run with minimal and not get a ton of errors due 
to the tests using excluded functionality.

thanks,

Chris


More information about the serviceability-dev mailing list