RFR: 8078601: print_concurrent_locks should be guarded with INCLUDE_SERVICES

David Holmes david.holmes at oracle.com
Fri Apr 24 21:49:04 UTC 2015


Looks good. Thanks Stefan.

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


More information about the serviceability-dev mailing list