equal
deleted
inserted
replaced
204 class CountHandleClosure: public OopClosure { |
204 class CountHandleClosure: public OopClosure { |
205 private: |
205 private: |
206 int _count; |
206 int _count; |
207 public: |
207 public: |
208 CountHandleClosure(): _count(0) {} |
208 CountHandleClosure(): _count(0) {} |
209 void do_oop(oop* unused) { |
209 virtual void do_oop(oop* unused) { |
210 _count++; |
210 _count++; |
211 } |
211 } |
|
212 virtual void do_oop(narrowOop* unused) { ShouldNotReachHere(); } |
212 int count() { return _count; } |
213 int count() { return _count; } |
213 }; |
214 }; |
214 |
215 |
215 // We assume this is called at a safepoint: no lock is needed. |
216 // We assume this is called at a safepoint: no lock is needed. |
216 void JNIHandles::print_on(outputStream* st) { |
217 void JNIHandles::print_on(outputStream* st) { |
228 st->flush(); |
229 st->flush(); |
229 } |
230 } |
230 |
231 |
231 class VerifyHandleClosure: public OopClosure { |
232 class VerifyHandleClosure: public OopClosure { |
232 public: |
233 public: |
233 void do_oop(oop* root) { |
234 virtual void do_oop(oop* root) { |
234 (*root)->verify(); |
235 (*root)->verify(); |
235 } |
236 } |
|
237 virtual void do_oop(narrowOop* root) { ShouldNotReachHere(); } |
236 }; |
238 }; |
237 |
239 |
238 void JNIHandles::verify() { |
240 void JNIHandles::verify() { |
239 VerifyHandleClosure verify_handle; |
241 VerifyHandleClosure verify_handle; |
240 AlwaysAliveClosure always_alive; |
242 AlwaysAliveClosure always_alive; |