changeset 3277:e61c9fc4401d

PR3174: systemtap: type definition 'symbolOopDesc' not found jstack: Change symbolOopDesc to Symbol to accomodate S6990754. Use native memory and reference counting to implement SymbolTable. 2016-12-28 Andrew John Hughes <gnu.andrew@member.fsf.org> PR3174: systemtap: type definition 'symbolOopDesc' not found * NEWS: Updated 2012-03-16 Mark Wielaard <mjw@redhat.com> PR3174: systemtap: type definition 'symbolOopDesc' not found * tapset/jstack.stp.in: Change symbolOopDesc to Symbol to accomodate S6990754 - Use native memory and reference counting to implement SymbolTable.
author Mark Wielaard <mark@klomp.org>
date Fri, 16 Mar 2012 13:15:15 +0100
parents 47d928687363
children bfb471488e30
files ChangeLog NEWS tapset/jstack.stp.in
diffstat 3 files changed, 22 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Jan 03 05:43:43 2017 +0000
+++ b/ChangeLog	Fri Mar 16 13:15:15 2012 +0100
@@ -1,3 +1,15 @@
+2016-12-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3174: systemtap: type definition 'symbolOopDesc' not found
+	* NEWS: Updated
+
+2012-03-16  Mark Wielaard  <mjw@redhat.com>
+
+	PR3174: systemtap: type definition 'symbolOopDesc' not found
+	* tapset/jstack.stp.in: Change symbolOopDesc to Symbol to accomodate
+	S6990754 - Use native memory and reference counting to implement
+	SymbolTable.
+
 2016-12-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	PR3152: Zero build fails with pch disabled
--- a/NEWS	Tue Jan 03 05:43:43 2017 +0000
+++ b/NEWS	Fri Mar 16 13:15:15 2012 +0100
@@ -16,6 +16,7 @@
 
 * Bug fixes
   - PR3152: Zero build fails with pch disabled
+  - PR3174: systemtap: type definition 'symbolOopDesc' not found
   - PR3205: Builds fails with pch disabled
 
 New in release 1.13.12 (2016-08-24):
--- a/tapset/jstack.stp.in	Tue Jan 03 05:43:43 2017 +0000
+++ b/tapset/jstack.stp.in	Fri Mar 16 13:15:15 2012 +0100
@@ -412,7 +412,7 @@
                   // that describe the method and signature. This constant pool
                   // contains symbolic information that describe the properties
                   // of the class. The indexes for methods and signaturates in
-                  // the constant pool are symbolOopDescs that contain utf8
+                  // the constant pool are Symbols that contain utf8
                   // strings (plus lenghts). (We could also sanity check that
                   // the tag value is correct [CONSTANT_String = 8]).
                   // Note that the class name uses '/' instead of '.' as
@@ -427,17 +427,17 @@
                                    "@ABS_SERVER_LIBJVM_SO@")->_pool_holder;
                   klassSymbol = @cast(klassPtr + oopDesc_size, "Klass",
                                       "@ABS_SERVER_LIBJVM_SO@")->_name;
-                  klassName = &@cast(klassSymbol, "symbolOopDesc",
+                  klassName = &@cast(klassSymbol, "Symbol",
                                      "@ABS_SERVER_LIBJVM_SO@")->_body[0];
-                  klassLength = @cast(klassSymbol, "symbolOopDesc",
+                  klassLength = @cast(klassSymbol, "Symbol",
                                       "@ABS_SERVER_LIBJVM_SO@")->_length;
 
                   methodIndex = @cast(methodOopPtr, "methodOopDesc",
                                       "@ABS_SERVER_LIBJVM_SO@")->_constMethod->_name_index;
-                  methodOopDesc = user_long(constantPoolOop_base + (methodIndex * ptr_size));
-                  methodName = &@cast(methodOopDesc, "symbolOopDesc",
+                  methodOopDesc = user_long(constantPoolOop_base + (methodIndex * ptr_size)) - 1;
+                  methodName = &@cast(methodOopDesc, "Symbol",
                                       "@ABS_SERVER_LIBJVM_SO@")->_body[0];
-                  methodLength = @cast(methodOopDesc, "symbolOopDesc",
+                  methodLength = @cast(methodOopDesc, "Symbol",
                                        "@ABS_SERVER_LIBJVM_SO@")->_length;
 
                   if (log_sig)
@@ -445,10 +445,10 @@
                       sigIndex = @cast(methodOopPtr, "methodOopDesc",
                                        "@ABS_SERVER_LIBJVM_SO@")->_constMethod->_signature_index;
                       sigOopDesc = user_long(constantPoolOop_base
-                                             + (sigIndex * ptr_size));
-                      sigName = &@cast(sigOopDesc, "symbolOopDesc",
+                                             + (sigIndex * ptr_size)) - 1;
+                      sigName = &@cast(sigOopDesc, "Symbol",
                                        "@ABS_SERVER_LIBJVM_SO@")->_body[0];
-                      sigLength = @cast(sigOopDesc, "symbolOopDesc",
+                      sigLength = @cast(sigOopDesc, "Symbol",
                                         "@ABS_SERVER_LIBJVM_SO@")->_length;
                       sig = user_string_n(sigName, sigLength);
                     }