diff -r f7b9bb98bb72 -r ea379ebb9447 hotspot/src/share/vm/classfile/vmSymbols.cpp --- 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]));