src/hotspot/share/runtime/jniHandles.cpp
changeset 49192 6734eeef4283
parent 48816 3495d6050efe
child 49347 edb65305d3ac
equal deleted inserted replaced
49191:13378aa8527e 49192:6734eeef4283
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "gc/shared/oopStorage.inline.hpp"
    26 #include "gc/shared/oopStorage.inline.hpp"
    27 #include "logging/log.hpp"
    27 #include "logging/log.hpp"
    28 #include "memory/iterator.hpp"
    28 #include "memory/iterator.hpp"
    29 #include "oops/oop.inline.hpp"
    29 #include "oops/oop.inline.hpp"
    30 #include "runtime/jniHandles.hpp"
    30 #include "runtime/jniHandles.inline.hpp"
    31 #include "runtime/mutexLocker.hpp"
    31 #include "runtime/mutexLocker.hpp"
    32 #include "runtime/thread.inline.hpp"
    32 #include "runtime/thread.inline.hpp"
    33 #include "trace/traceMacros.hpp"
    33 #include "trace/traceMacros.hpp"
    34 #include "utilities/align.hpp"
    34 #include "utilities/align.hpp"
    35 #include "utilities/debug.hpp"
    35 #include "utilities/debug.hpp"
   131     }
   131     }
   132   } else {
   132   } else {
   133     CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
   133     CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
   134   }
   134   }
   135   return res;
   135   return res;
       
   136 }
       
   137 
       
   138 // Resolve some erroneous cases to NULL, rather than treating them as
       
   139 // possibly unchecked errors.  In particular, deleted handles are
       
   140 // treated as NULL (though a deleted and later reallocated handle
       
   141 // isn't detected).
       
   142 oop JNIHandles::resolve_external_guard(jobject handle) {
       
   143   oop result = NULL;
       
   144   if (handle != NULL) {
       
   145     result = resolve_impl<true /* external_guard */ >(handle);
       
   146   }
       
   147   return result;
   136 }
   148 }
   137 
   149 
   138 oop JNIHandles::resolve_jweak(jweak handle) {
   150 oop JNIHandles::resolve_jweak(jweak handle) {
   139   assert(handle != NULL, "precondition");
   151   assert(handle != NULL, "precondition");
   140   assert(is_jweak(handle), "precondition");
   152   assert(is_jweak(handle), "precondition");