diff -r a49a647afe9a -r ba764ed4b6f2 src/share/vm/runtime/jniHandles.cpp --- a/src/share/vm/runtime/jniHandles.cpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/share/vm/runtime/jniHandles.cpp Sun Apr 13 17:43:42 2008 -0400 @@ -206,9 +206,10 @@ int _count; public: CountHandleClosure(): _count(0) {} - void do_oop(oop* unused) { + virtual void do_oop(oop* unused) { _count++; } + virtual void do_oop(narrowOop* unused) { ShouldNotReachHere(); } int count() { return _count; } }; @@ -230,9 +231,10 @@ class VerifyHandleClosure: public OopClosure { public: - void do_oop(oop* root) { + virtual void do_oop(oop* root) { (*root)->verify(); } + virtual void do_oop(narrowOop* root) { ShouldNotReachHere(); } }; void JNIHandles::verify() {