Mercurial > hg > truffle
comparison src/share/vm/prims/jvmtiTagMap.cpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | dcca80b5e7e7 |
children | 51c6ce89d4dd |
comparison
equal
deleted
inserted
replaced
14908:8db6e76cb658 | 14909:4ca6dc0799b6 |
---|---|
2788 } | 2788 } |
2789 } | 2789 } |
2790 return true; | 2790 return true; |
2791 } | 2791 } |
2792 | 2792 |
2793 #ifdef ASSERT | |
2794 // verify that a static oop field is in range | 2793 // verify that a static oop field is in range |
2795 static inline bool verify_static_oop(InstanceKlass* ik, | 2794 static inline bool verify_static_oop(InstanceKlass* ik, |
2796 oop mirror, int offset) { | 2795 oop mirror, int offset) { |
2797 address obj_p = (address)mirror + offset; | 2796 address obj_p = (address)mirror + offset; |
2798 address start = (address)InstanceMirrorKlass::start_of_static_fields(mirror); | 2797 address start = (address)InstanceMirrorKlass::start_of_static_fields(mirror); |
2803 return true; | 2802 return true; |
2804 } else { | 2803 } else { |
2805 return false; | 2804 return false; |
2806 } | 2805 } |
2807 } | 2806 } |
2808 #endif // #ifdef ASSERT | |
2809 | 2807 |
2810 // a class references its super class, interfaces, class loader, ... | 2808 // a class references its super class, interfaces, class loader, ... |
2811 // and finally its static fields | 2809 // and finally its static fields |
2812 inline bool VM_HeapWalkOperation::iterate_over_class(oop java_class) { | 2810 inline bool VM_HeapWalkOperation::iterate_over_class(oop java_class) { |
2813 int i; | 2811 int i; |
3079 bci, slot, o)) { | 3077 bci, slot, o)) { |
3080 return false; | 3078 return false; |
3081 } | 3079 } |
3082 } | 3080 } |
3083 } | 3081 } |
3084 | |
3085 StackValueCollection* exprs = jvf->expressions(); | |
3086 for (int index=0; index < exprs->size(); index++) { | |
3087 if (exprs->at(index)->type() == T_OBJECT) { | |
3088 oop o = exprs->obj_at(index)(); | |
3089 if (o == NULL) { | |
3090 continue; | |
3091 } | |
3092 | |
3093 // stack reference | |
3094 if (!CallbackInvoker::report_stack_ref_root(thread_tag, tid, depth, method, | |
3095 bci, locals->size() + index, o)) { | |
3096 return false; | |
3097 } | |
3098 } | |
3099 } | |
3100 | |
3101 } else { | 3082 } else { |
3102 blk->set_context(thread_tag, tid, depth, method); | 3083 blk->set_context(thread_tag, tid, depth, method); |
3103 if (is_top_frame) { | 3084 if (is_top_frame) { |
3104 // JNI locals for the top frame. | 3085 // JNI locals for the top frame. |
3105 java_thread->active_handles()->oops_do(blk); | 3086 java_thread->active_handles()->oops_do(blk); |