src/hotspot/share/runtime/jniHandles.hpp
changeset 53060 7aa1a37b04a2
parent 49909 f276b348ec14
child 53149 259c36ef27df
equal deleted inserted replaced
53059:041f1cbdae3e 53060:7aa1a37b04a2
    40 
    40 
    41   inline static bool is_jweak(jobject handle);
    41   inline static bool is_jweak(jobject handle);
    42   inline static oop* jobject_ptr(jobject handle); // NOT jweak!
    42   inline static oop* jobject_ptr(jobject handle); // NOT jweak!
    43   inline static oop* jweak_ptr(jobject handle);
    43   inline static oop* jweak_ptr(jobject handle);
    44 
    44 
    45   template<bool external_guard> inline static oop resolve_impl(jobject handle);
    45   template <DecoratorSet decorators, bool external_guard> inline static oop resolve_impl(jobject handle);
    46   static oop resolve_jweak(jweak handle);
    46 
       
    47   // Resolve handle into oop, without keeping the object alive
       
    48   inline static oop resolve_no_keepalive(jobject handle);
    47 
    49 
    48   // This method is not inlined in order to avoid circular includes between
    50   // This method is not inlined in order to avoid circular includes between
    49   // this header file and thread.hpp.
    51   // this header file and thread.hpp.
    50   static bool current_thread_in_native();
    52   static bool current_thread_in_native();
    51 
    53 
    68   // Resolve handle into oop, result guaranteed not to be null
    70   // Resolve handle into oop, result guaranteed not to be null
    69   inline static oop resolve_non_null(jobject handle);
    71   inline static oop resolve_non_null(jobject handle);
    70   // Resolve externally provided handle into oop with some guards
    72   // Resolve externally provided handle into oop with some guards
    71   static oop resolve_external_guard(jobject handle);
    73   static oop resolve_external_guard(jobject handle);
    72 
    74 
       
    75   // Check for equality without keeping objects alive
       
    76   static bool is_same_object(jobject handle1, jobject handle2);
       
    77 
    73   // Local handles
    78   // Local handles
    74   static jobject make_local(oop obj);
    79   static jobject make_local(oop obj);
    75   static jobject make_local(JNIEnv* env, oop obj);    // Fast version when env is known
    80   static jobject make_local(JNIEnv* env, oop obj);    // Fast version when env is known
    76   static jobject make_local(Thread* thread, oop obj); // Even faster version when current thread is known
    81   static jobject make_local(Thread* thread, oop obj); // Even faster version when current thread is known
    77   inline static void destroy_local(jobject handle);
    82   inline static void destroy_local(jobject handle);