diff -r cc1a5096e88f -r 215ca3a22a92 hotspot/src/share/vm/runtime/javaCalls.cpp --- a/hotspot/src/share/vm/runtime/javaCalls.cpp Sat Dec 20 09:57:03 2008 -0800 +++ b/hotspot/src/share/vm/runtime/javaCalls.cpp Sat Dec 20 09:58:36 2008 -0800 @@ -504,7 +504,7 @@ intptr_t v = _value[p]; if (v != 0 ) { size_t t = (size_t)v; - bad = (t < (size_t)os::vm_page_size() ) || !(*(oop*)v)->is_oop_or_null(true); + bad = (t < (size_t)os::vm_page_size() ) || !Handle::raw_resolve((oop *)v)->is_oop_or_null(true); if (CheckJNICalls && bad) { ReportJNIFatalError((JavaThread*)_thread, "Bad JNI oop argument"); }