167 int exception_table_length, |
167 int exception_table_length, |
168 int checked_exceptions_length, |
168 int checked_exceptions_length, |
169 ConstMethod::MethodType method_type, |
169 ConstMethod::MethodType method_type, |
170 TRAPS); |
170 TRAPS); |
171 |
171 |
172 Method() { assert(DumpSharedSpaces || UseSharedSpaces, "only for CDS"); } |
172 // CDS and vtbl checking can create an empty Method to get vtbl pointer. |
|
173 Method(){} |
173 |
174 |
174 // The Method vtable is restored by this call when the Method is in the |
175 // The Method vtable is restored by this call when the Method is in the |
175 // shared archive. See patch_klass_vtables() in metaspaceShared.cpp for |
176 // shared archive. See patch_klass_vtables() in metaspaceShared.cpp for |
176 // all the gory details. SA, dtrace and pstack helpers distinguish metadata |
177 // all the gory details. SA, dtrace and pstack helpers distinguish metadata |
177 // by their vtable. |
178 // by their vtable. |
809 void print_on(outputStream* st) const; |
810 void print_on(outputStream* st) const; |
810 #endif |
811 #endif |
811 void print_value_on(outputStream* st) const; |
812 void print_value_on(outputStream* st) const; |
812 |
813 |
813 const char* internal_name() const { return "{method}"; } |
814 const char* internal_name() const { return "{method}"; } |
|
815 |
|
816 // Check for valid method pointer |
|
817 bool is_valid_method() const; |
814 |
818 |
815 // Verify |
819 // Verify |
816 void verify() { verify_on(tty); } |
820 void verify() { verify_on(tty); } |
817 void verify_on(outputStream* st); |
821 void verify_on(outputStream* st); |
818 |
822 |