comparison src/share/vm/oops/method.hpp @ 6733:fa6e618671d7

7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type Summary: Need to restore the vtable in metadata when we restore the type from the shared archive. Reviewed-by: acorn, jcoomes, jmasa, jrose
author coleenp
date Wed, 05 Sep 2012 20:08:08 -0400
parents da91efe96a93
children 9191895df19d
comparison
equal deleted inserted replaced
6732:78b56e53050e 6733:fa6e618671d7
166 int exception_table_length, 166 int exception_table_length,
167 int checked_exceptions_length, 167 int checked_exceptions_length,
168 TRAPS); 168 TRAPS);
169 169
170 Method() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); } 170 Method() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); }
171
172 // The Method vtable is restored by this call when the Method is in the
173 // shared archive. See patch_klass_vtables() in metaspaceShared.cpp for
174 // all the gory details. SA, dtrace and pstack helpers distinguish metadata
175 // by their vtable.
176 void restore_vtable() { guarantee(is_method(), "vtable restored by this call"); }
171 bool is_method() const volatile { return true; } 177 bool is_method() const volatile { return true; }
172 178
173 // accessors for instance variables 179 // accessors for instance variables
180
174 ConstMethod* constMethod() const { return _constMethod; } 181 ConstMethod* constMethod() const { return _constMethod; }
175 void set_constMethod(ConstMethod* xconst) { _constMethod = xconst; } 182 void set_constMethod(ConstMethod* xconst) { _constMethod = xconst; }
176 183
177 184
178 static address make_adapters(methodHandle mh, TRAPS); 185 static address make_adapters(methodHandle mh, TRAPS);