< prev index next >

src/hotspot/share/gc/shared/gcBehaviours.cpp

Print this page

47     if (obj == NULL) {
48       return;
49     }
50     if (!_cl->do_object_b(obj)) {
51       _is_unloading = true;
52     }
53   }
54 
55   virtual void do_oop(narrowOop* p) {
56     ShouldNotReachHere();
57   }
58 
59   bool is_unloading() const {
60     return _is_unloading;
61   }
62 };
63 
64 bool ClosureIsUnloadingBehaviour::is_unloading(CompiledMethod* cm) const {
65   if (cm->is_nmethod()) {
66     IsCompiledMethodUnloadingOopClosure cl(_cl);
67     static_cast<nmethod*>(cm)->oops_do(&cl);
68     return cl.is_unloading();
69   } else {
70     return false;
71   }
72 }

47     if (obj == NULL) {
48       return;
49     }
50     if (!_cl->do_object_b(obj)) {
51       _is_unloading = true;
52     }
53   }
54 
55   virtual void do_oop(narrowOop* p) {
56     ShouldNotReachHere();
57   }
58 
59   bool is_unloading() const {
60     return _is_unloading;
61   }
62 };
63 
64 bool ClosureIsUnloadingBehaviour::is_unloading(CompiledMethod* cm) const {
65   if (cm->is_nmethod()) {
66     IsCompiledMethodUnloadingOopClosure cl(_cl);
67     static_cast<nmethod*>(cm)->oops_do(&cl, true /* allow_dead */);
68     return cl.is_unloading();
69   } else {
70     return false;
71   }
72 }
< prev index next >