hotspot/src/share/vm/classfile/vmSymbols.cpp
changeset 46746 ea379ebb9447
parent 46663 715d5f268f62
--- a/hotspot/src/share/vm/classfile/vmSymbols.cpp	Sat Jul 22 15:54:27 2017 -0400
+++ b/hotspot/src/share/vm/classfile/vmSymbols.cpp	Wed Aug 02 18:06:38 2017 -0700
@@ -26,6 +26,7 @@
 #include "classfile/vmSymbols.hpp"
 #include "compiler/compilerDirectives.hpp"
 #include "memory/oopFactory.hpp"
+#include "memory/metaspaceClosure.hpp"
 #include "oops/oop.inline.hpp"
 #include "prims/jvm.h"
 #include "runtime/handles.inline.hpp"
@@ -183,6 +184,15 @@
   }
 }
 
+void vmSymbols::metaspace_pointers_do(MetaspaceClosure *it) {
+  for (int index = (int)FIRST_SID; index < (int)SID_LIMIT; index++) {
+    it->push(&_symbols[index]);
+  }
+  for (int i = 0; i < T_VOID+1; i++) {
+    it->push(&_type_signatures[i]);
+  }
+}
+
 void vmSymbols::serialize(SerializeClosure* soc) {
   soc->do_region((u_char*)&_symbols[FIRST_SID],
                  (SID_LIMIT - FIRST_SID) * sizeof(_symbols[0]));