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);