Hi Serguei,

Thanks for the review. I'll make all the changes you suggested.

cheers,

Chris

On 3/31/16 12:38 AM, serguei.spit...@oracle.com wrote:
Hi Chris,


It looks pretty good, thanks!

Just some minor comments below.

src/share/vm/ci/ciMethod.cpp

  The only file with old Copyright year.

src/share/vm/oops/instanceKlass.hpp

 907   // Breakpoint support (see methods on Method* for details)
 908 #if INCLUDE_JVMTI
 909   BreakpointInfo* breakpoints() const       { return _breakpoints; };
 910   void set_breakpoints(BreakpointInfo* bps) { _breakpoints = bps; };
 911 #endif
 Better to move the comment at the L907 inside the ifdef block.

1280   // RedefineClasses support
1281 #if INCLUDE_JVMTI
1282   void link_previous_versions(InstanceKlass* pv) { _previous_versions = pv; }
1283   void mark_newly_obsolete_methods(Array<Method*>* old_methods, int emcp_method_count);
1284 #endif
 Better to move the comment at the L1280 inside the ifdef block.


src/share/vm/oops/method.hpp
1041 /// Fast Breakpoints.
1042 
1043 // If this structure gets more complicated (because bpts get numerous),
1044 // move it into its own header.
1045 
1046 // There is presently no provision for concurrent access
1047 // to breakpoint lists, which is only OK for JVMTI because
1048 // breakpoints are written only at safepoints, and are read
1049 // concurrently only outside of safepoints.
1050 
1051 #if INCLUDE_JVMTI
 Better to move the comments at the L1041-1949 inside the ifdef block.

Consider it reviewed, I do not need to see another webrev.


Thanks,
Serguei


On 3/30/16 23:20, Chris Plummer wrote:
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


Reply via email to