On 2015-04-24 23:49, David Holmes wrote:
Looks good. Thanks Stefan.

Thanks, David.

StefanK


David

On 25/04/2015 12:41 AM, Stefan Karlsson wrote:
Hi,

Please review this patch to fix an incorrect usage of #if INCLUDE_ALL_GCS.

http://cr.openjdk.java.net/~stefank/8078601/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8078601

This code in thread.cpp is guarded by INCLUDE_ALL_GCS:
#if INCLUDE_ALL_GCS
   // Dump concurrent locks
   ConcurrentLocksDump concurrent_locks;
   if (print_concurrent_locks) {
     concurrent_locks.dump_at_safepoint();
   }
#endif // INCLUDE_ALL_GCS

but the code is not specific to any of our non-Serial GCs. The code
should be guarded by INCLUDE_SERVICES.

ConcurrentLocksDump::dump_at_safepoint() uses
HeapInspection::find_instances_at_safepoint, which is declared in
heapInspection.hpp:
   static void find_instances_at_safepoint(Klass* k, GrowableArray<oop>*
result) NOT_SERVICES_RETURN;

and heapInspection.cpp is excluded when INCLUDE_SERVICES is false. See:
make/excludeSrc.make:

ifeq ($(INCLUDE_SERVICES), false)
       CXXFLAGS += -DINCLUDE_SERVICES=0
       CFLAGS += -DINCLUDE_SERVICES=0

       Src_Files_EXCLUDE += heapDumper.cpp heapInspection.cpp \
         attachListener_linux.cpp attachListener.cpp
endif

I've verified that this change builds with minimal1 and full HotSpot
slowdebug build.

Thanks,
Stefank

Reply via email to