hotspot/src/share/vm/runtime/javaCalls.cpp
changeset 1688 215ca3a22a92
parent 1623 a0dd9009e992
parent 1685 77af56c90c99
child 2105 347008ce7984
equal deleted inserted replaced
1675:cc1a5096e88f 1688:215ca3a22a92
   502     // If argument is oop
   502     // If argument is oop
   503     if (_is_oop[p]) {
   503     if (_is_oop[p]) {
   504       intptr_t v = _value[p];
   504       intptr_t v = _value[p];
   505       if (v != 0 ) {
   505       if (v != 0 ) {
   506         size_t t = (size_t)v;
   506         size_t t = (size_t)v;
   507         bad = (t < (size_t)os::vm_page_size() ) || !(*(oop*)v)->is_oop_or_null(true);
   507         bad = (t < (size_t)os::vm_page_size() ) || !Handle::raw_resolve((oop *)v)->is_oop_or_null(true);
   508         if (CheckJNICalls && bad) {
   508         if (CheckJNICalls && bad) {
   509           ReportJNIFatalError((JavaThread*)_thread, "Bad JNI oop argument");
   509           ReportJNIFatalError((JavaThread*)_thread, "Bad JNI oop argument");
   510         }
   510         }
   511       }
   511       }
   512       // for the regular debug case.
   512       // for the regular debug case.