Mercurial > hg > truffle
diff src/share/vm/prims/jvmtiTagMap.cpp @ 14518:d8041d695d19
Merged with jdk9/dev/hotspot changeset 3812c088b945
author | twisti |
---|---|
date | Tue, 11 Mar 2014 18:45:59 -0700 |
parents | dcca80b5e7e7 |
children | 4ca6dc0799b6 |
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiTagMap.cpp Wed Mar 12 00:00:05 2014 +0100 +++ b/src/share/vm/prims/jvmtiTagMap.cpp Tue Mar 11 18:45:59 2014 -0700 @@ -2790,6 +2790,7 @@ return true; } +#ifdef ASSERT // verify that a static oop field is in range static inline bool verify_static_oop(InstanceKlass* ik, oop mirror, int offset) { @@ -2804,6 +2805,7 @@ return false; } } +#endif // #ifdef ASSERT // a class references its super class, interfaces, class loader, ... // and finally its static fields @@ -3079,6 +3081,23 @@ } } } + + StackValueCollection* exprs = jvf->expressions(); + for (int index=0; index < exprs->size(); index++) { + if (exprs->at(index)->type() == T_OBJECT) { + oop o = exprs->obj_at(index)(); + if (o == NULL) { + continue; + } + + // stack reference + if (!CallbackInvoker::report_stack_ref_root(thread_tag, tid, depth, method, + bci, locals->size() + index, o)) { + return false; + } + } + } + } else { blk->set_context(thread_tag, tid, depth, method); if (is_top_frame) {