< prev index next >

src/hotspot/share/prims/jni.cpp

Print this page
rev 56464 : 8231707: Improve Mutex inlining
Contributed-by: robbin.ehn@oracle.com, claes.redestad@oracle.com


  67 #include "runtime/atomic.hpp"
  68 #include "runtime/compilationPolicy.hpp"
  69 #include "runtime/fieldDescriptor.inline.hpp"
  70 #include "runtime/handles.inline.hpp"
  71 #include "runtime/interfaceSupport.inline.hpp"
  72 #include "runtime/java.hpp"
  73 #include "runtime/javaCalls.hpp"
  74 #include "runtime/jfieldIDWorkaround.hpp"
  75 #include "runtime/jniHandles.inline.hpp"
  76 #include "runtime/orderAccess.hpp"
  77 #include "runtime/reflection.hpp"
  78 #include "runtime/safepointVerifiers.hpp"
  79 #include "runtime/sharedRuntime.hpp"
  80 #include "runtime/signature.hpp"
  81 #include "runtime/thread.inline.hpp"
  82 #include "runtime/vmOperations.hpp"
  83 #include "services/memTracker.hpp"
  84 #include "services/runtimeService.hpp"
  85 #include "utilities/defaultStream.hpp"
  86 #include "utilities/dtrace.hpp"
  87 #include "utilities/events.hpp"
  88 #include "utilities/histogram.hpp"
  89 #include "utilities/macros.hpp"
  90 #include "utilities/vmError.hpp"
  91 
  92 static jint CurrentVersion = JNI_VERSION_10;
  93 
  94 #ifdef _WIN32
  95 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* );
  96 #endif
  97 
  98 // The DT_RETURN_MARK macros create a scoped object to fire the dtrace
  99 // '-return' probe regardless of the return path is taken out of the function.
 100 // Methods that have multiple return paths use this to avoid having to
 101 // instrument each return path.  Methods that use CHECK or THROW must use this
 102 // since those macros can cause an immedate uninstrumented return.
 103 //
 104 // In order to get the return value, a reference to the variable containing
 105 // the return value must be passed to the contructor of the object, and
 106 // the return value must be set before return (since the mark object has
 107 // a reference to it).




  67 #include "runtime/atomic.hpp"
  68 #include "runtime/compilationPolicy.hpp"
  69 #include "runtime/fieldDescriptor.inline.hpp"
  70 #include "runtime/handles.inline.hpp"
  71 #include "runtime/interfaceSupport.inline.hpp"
  72 #include "runtime/java.hpp"
  73 #include "runtime/javaCalls.hpp"
  74 #include "runtime/jfieldIDWorkaround.hpp"
  75 #include "runtime/jniHandles.inline.hpp"
  76 #include "runtime/orderAccess.hpp"
  77 #include "runtime/reflection.hpp"
  78 #include "runtime/safepointVerifiers.hpp"
  79 #include "runtime/sharedRuntime.hpp"
  80 #include "runtime/signature.hpp"
  81 #include "runtime/thread.inline.hpp"
  82 #include "runtime/vmOperations.hpp"
  83 #include "services/memTracker.hpp"
  84 #include "services/runtimeService.hpp"
  85 #include "utilities/defaultStream.hpp"
  86 #include "utilities/dtrace.hpp"
  87 #include "utilities/events.inline.hpp"
  88 #include "utilities/histogram.hpp"
  89 #include "utilities/macros.hpp"
  90 #include "utilities/vmError.hpp"
  91 
  92 static jint CurrentVersion = JNI_VERSION_10;
  93 
  94 #ifdef _WIN32
  95 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* );
  96 #endif
  97 
  98 // The DT_RETURN_MARK macros create a scoped object to fire the dtrace
  99 // '-return' probe regardless of the return path is taken out of the function.
 100 // Methods that have multiple return paths use this to avoid having to
 101 // instrument each return path.  Methods that use CHECK or THROW must use this
 102 // since those macros can cause an immedate uninstrumented return.
 103 //
 104 // In order to get the return value, a reference to the variable containing
 105 // the return value must be passed to the contructor of the object, and
 106 // the return value must be set before return (since the mark object has
 107 // a reference to it).


< prev index next >