< prev index next >
src/share/vm/classfile/vmSymbols.cpp
Print this page
@@ -24,10 +24,11 @@
#include "precompiled.hpp"
#include "classfile/vmSymbols.hpp"
#include "compiler/compilerDirectives.hpp"
#include "memory/oopFactory.hpp"
+#include "memory/metaspaceClosure.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "utilities/xmlstream.hpp"
@@ -180,10 +181,19 @@
for (int i = 0; i < T_VOID+1; i++) {
f->do_symbol(&_type_signatures[i]);
}
}
+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]));
soc->do_region((u_char*)_type_signatures, sizeof(_type_signatures));
}
< prev index next >