changeset 207:92fe90d04400

Bug 3278: Fix to add G1 vtable offset correctly Reviewed-by: yasuenag https://github.com/HeapStats/heapstats/pull/70
author KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
date Sat, 07 Jan 2017 04:00:57 +0900
parents 5335d2c910f2
children 83d42891fa09
files ChangeLog agent/src/heapstats-engines/vmFunctions.cpp
diffstat 2 files changed, 13 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Jan 07 11:57:22 2017 +0900
+++ b/ChangeLog	Sat Jan 07 04:00:57 2017 +0900
@@ -1,3 +1,7 @@
+2017-01-07  KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
+
+	* Bug 3278: Fix to add G1 vtable offset correctly
+
 2017-01-07  Yasumasa Suenaga <yasuenag@gmail.com>
 
 	* Bug 3279: Fix not to reference freed TChildCounter when SnapShot merges
--- a/agent/src/heapstats-engines/vmFunctions.cpp	Sat Jan 07 11:57:22 2017 +0900
+++ b/agent/src/heapstats-engines/vmFunctions.cpp	Sat Jan 07 04:00:57 2017 +0900
@@ -1,7 +1,7 @@
 /*!
  * \file vmFunctions.cpp
  * \brief This file includes functions in HotSpot VM.<br>
- * Copyright (C) 2014-2016 Yasumasa Suenaga
+ * Copyright (C) 2014-2017 Yasumasa Suenaga
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -264,19 +264,17 @@
  */
 bool TVMFunctions::getG1VTableFromSymbol(void) {
   /* Add vtable offset */
-  if (jvmInfo->isAfterJDK9()) {
 #ifdef __LP64__
-    VTableForTypeArrayOopClosure[0] =
-      incAddress(symFinder->findSymbol("_ZTV14G1CMOopClosure"), 16);
-    VTableForTypeArrayOopClosure[1] =
-      incAddress(symFinder->findSymbol("_ZTV23G1RootRegionScanClosure"), 16);
+  VTableForTypeArrayOopClosure[0] =
+    incAddress(symFinder->findSymbol("_ZTV14G1CMOopClosure"), 16);
+  VTableForTypeArrayOopClosure[1] =
+    incAddress(symFinder->findSymbol("_ZTV23G1RootRegionScanClosure"), 16);
 #else
-    VTableForTypeArrayOopClosure[0] =
-      incAddress(symFinder->findSymbol("_ZTV14G1CMOopClosure"), 8);
-    VTableForTypeArrayOopClosure[1] =
-      incAddress(symFinder->findSymbol("_ZTV23G1RootRegionScanClosure"), 8);
+  VTableForTypeArrayOopClosure[0] =
+    incAddress(symFinder->findSymbol("_ZTV14G1CMOopClosure"), 8);
+  VTableForTypeArrayOopClosure[1] =
+    incAddress(symFinder->findSymbol("_ZTV23G1RootRegionScanClosure"), 8);
 #endif
-  }
 
   if (unlikely(VTableForTypeArrayOopClosure[0] == NULL ||
                VTableForTypeArrayOopClosure[1] == NULL)) {