# HG changeset patch # User ShinTak # Date 1374799200 -32400 # Node ID ebd17a9195994c2b0cb925f520c5195584ded3c5 # Parent 7e87901b8ddde4eb5c5b170df34dadcf368138ae# Parent 5b0c1a7c3bf97fff8756b925b29ec1a30e3a7e09 Bug 1505: Suppress warning when dead lock detection faild. Summary: Reviewed-by: ykubota Contributed-by: diff -r 7e87901b8ddd -r ebd17a919599 agent/ChangeLog --- a/agent/ChangeLog Fri Jul 26 09:23:03 2013 +0900 +++ b/agent/ChangeLog Fri Jul 26 09:40:00 2013 +0900 @@ -1,3 +1,8 @@ +2013-07-25 Yasumasa Suenaga + + * Bug 1493: HeapStats agent should use UseCompressedKlassPointers on + JDK8. + 2013-06-26 Yasumasa Suenaga * Bug 1488: Performance improvement for SSE2 instructions. diff -r 7e87901b8ddd -r ebd17a919599 agent/src/oopUtil.cpp --- a/agent/src/oopUtil.cpp Fri Jul 26 09:23:03 2013 +0900 +++ b/agent/src/oopUtil.cpp Fri Jul 26 09:40:00 2013 +0900 @@ -1635,6 +1635,31 @@ (*flagList[i].flagPtr) = tempPtr; } +#ifdef __LP64__ + if(jvmInfo->isAfterCR6964458()){ + bool *tempPtr = NULL; + + /* Search symbol. */ + tempPtr = (bool*)symFinder->findSymbol("UseCompressedKlassPointers"); + + /* If not found symbol. */ + if (unlikely(tempPtr == NULL)) { + PRINT_WARN_MSG("UseCompressedKlassPointers not found."); + } + else{ + isCOOP = tempPtr; + } + + } +#endif + + if(*isCOOP){ + PRINT_DEBUG_MSG("Compressed Klass = true"); + } + else{ + PRINT_DEBUG_MSG("Compressed Klass = false"); + } + if(*useG1){ /* Add vtable offset */ #ifdef __LP64__ diff -r 7e87901b8ddd -r ebd17a919599 agent/src/oopUtil.hpp --- a/agent/src/oopUtil.hpp Fri Jul 26 09:23:03 2013 +0900 +++ b/agent/src/oopUtil.hpp Fri Jul 26 09:40:00 2013 +0900 @@ -136,7 +136,7 @@ /* Define JVM paramter pointer variable for calling from external. */ /*! - * \brief Pointer to "-XX:UseCompressedOops". + * \brief Pointer to "-XX:UseCompressedOops" or "-XX:UseCompressedKlassPointers". */ extern "C" bool *isCOOP; diff -r 7e87901b8ddd -r ebd17a919599 agent/src/util.cpp --- a/agent/src/util.cpp Fri Jul 26 09:23:03 2013 +0900 +++ b/agent/src/util.cpp Fri Jul 26 09:40:00 2013 +0900 @@ -642,7 +642,11 @@ case INFO: PRINT_INFO_MSG_HEADER_NOIF << "LogLevel = Info" << NEWLINE; break; - + + case DEBUG: + PRINT_INFO_MSG_HEADER_NOIF << "LogLevel = Debug" << NEWLINE; + break; + default: /* Illegal log level. */ PRINT_INFO_MSG_HEADER_NOIF << "LogLevel = UNKNOWN" << NEWLINE; break;