changeset 19:ebd17a919599

Bug 1505: Suppress warning when dead lock detection faild. Summary: Reviewed-by: ykubota Contributed-by:
author ShinTak <takao.shinji@lab.ntt.co.jp>
date Fri, 26 Jul 2013 09:40:00 +0900
parents 7e87901b8ddd (current diff) 5b0c1a7c3bf9 (diff)
children ea356e72d922
files
diffstat 4 files changed, 36 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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  <suenaga.yasumasa@lab.ntt.co.jp>
+
+	* Bug 1493: HeapStats agent should use UseCompressedKlassPointers on
+	JDK8.
+
 2013-06-26  Yasumasa Suenaga  <suenaga.yasumasa@lab.ntt.co.jp>
 
 	* Bug 1488: Performance improvement for SSE2 instructions.
--- 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__
--- 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;
 
--- 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;