Mercurial > hg > truffle
comparison src/share/vm/oops/method.hpp @ 7176:59c790074993
8003635: NPG: AsynchGetCallTrace broken by Method* virtual call
Summary: Make metaspace::contains be lock free and used to see if something is in metaspace, also compare Method* with vtbl pointer.
Reviewed-by: dholmes, sspitsyn, dcubed, jmasa
author | coleenp |
---|---|
date | Wed, 28 Nov 2012 17:50:21 -0500 |
parents | 18fb7da42534 |
children | 5505fbbae3d3 |
comparison
equal
deleted
inserted
replaced
7175:b51dc8df86e5 | 7176:59c790074993 |
---|---|
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 |