Mercurial > hg > graal-compiler
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); |