Mercurial > hg > truffle
comparison 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 |
comparison
equal
deleted
inserted
replaced
14141:f97c5ec83832 | 14518:d8041d695d19 |
---|---|
2788 } | 2788 } |
2789 } | 2789 } |
2790 return true; | 2790 return true; |
2791 } | 2791 } |
2792 | 2792 |
2793 #ifdef ASSERT | |
2793 // verify that a static oop field is in range | 2794 // verify that a static oop field is in range |
2794 static inline bool verify_static_oop(InstanceKlass* ik, | 2795 static inline bool verify_static_oop(InstanceKlass* ik, |
2795 oop mirror, int offset) { | 2796 oop mirror, int offset) { |
2796 address obj_p = (address)mirror + offset; | 2797 address obj_p = (address)mirror + offset; |
2797 address start = (address)InstanceMirrorKlass::start_of_static_fields(mirror); | 2798 address start = (address)InstanceMirrorKlass::start_of_static_fields(mirror); |
2802 return true; | 2803 return true; |
2803 } else { | 2804 } else { |
2804 return false; | 2805 return false; |
2805 } | 2806 } |
2806 } | 2807 } |
2808 #endif // #ifdef ASSERT | |
2807 | 2809 |
2808 // a class references its super class, interfaces, class loader, ... | 2810 // a class references its super class, interfaces, class loader, ... |
2809 // and finally its static fields | 2811 // and finally its static fields |
2810 inline bool VM_HeapWalkOperation::iterate_over_class(oop java_class) { | 2812 inline bool VM_HeapWalkOperation::iterate_over_class(oop java_class) { |
2811 int i; | 2813 int i; |
3077 bci, slot, o)) { | 3079 bci, slot, o)) { |
3078 return false; | 3080 return false; |
3079 } | 3081 } |
3080 } | 3082 } |
3081 } | 3083 } |
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 | |
3082 } else { | 3101 } else { |
3083 blk->set_context(thread_tag, tid, depth, method); | 3102 blk->set_context(thread_tag, tid, depth, method); |
3084 if (is_top_frame) { | 3103 if (is_top_frame) { |
3085 // JNI locals for the top frame. | 3104 // JNI locals for the top frame. |
3086 java_thread->active_handles()->oops_do(blk); | 3105 java_thread->active_handles()->oops_do(blk); |