diff -r c6d01e4bc0ac -r 5b15a8f57979 hotspot/src/share/vm/oops/constantPool.hpp --- a/hotspot/src/share/vm/oops/constantPool.hpp Wed Sep 05 10:18:37 2012 -0700 +++ b/hotspot/src/share/vm/oops/constantPool.hpp Wed Sep 05 20:08:08 2012 -0400 @@ -643,6 +643,11 @@ void remove_unshareable_info(); void restore_unshareable_info(TRAPS); bool resolve_class_constants(TRAPS); + // The ConstantPool vtable is restored by this call when the ConstantPool is + // in the shared archive. See patch_klass_vtables() in metaspaceShared.cpp for + // all the gory details. SA, dtrace and pstack helpers distinguish metadata + // by their vtable. + void restore_vtable() { guarantee(is_constantPool(), "vtable restored by this call"); } private: enum { _no_index_sentinel = -1, _possible_index_sentinel = -2 };