8003635: NPG: AsynchGetCallTrace broken by Method* virtual call

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
This commit is contained in:
Coleen Phillimore 2012-11-28 17:50:21 -05:00
parent 696ef20cb4
commit 6538c5134b
14 changed files with 60 additions and 80 deletions

View file

@ -648,7 +648,7 @@ bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
Method* m = *interpreter_frame_method_addr();
// validate the method we'd find in this potential sender
if (!Universe::heap()->is_valid_method(m)) return false;
if (!m->is_valid_method()) return false;
// stack frames shouldn't be much larger than max_stack elements