hotspot/src/share/vm/utilities/decoder.hpp
changeset 19952 bc974e92f881
parent 13340 40c424a6ff53
child 22234 da823d78ad65
--- a/hotspot/src/share/vm/utilities/decoder.hpp	Wed Sep 04 08:55:08 2013 -0400
+++ b/hotspot/src/share/vm/utilities/decoder.hpp	Fri Sep 06 08:42:42 2013 -0700
@@ -28,6 +28,7 @@
 
 #include "memory/allocation.hpp"
 #include "runtime/mutex.hpp"
+#include "runtime/mutexLocker.hpp"
 
 class AbstractDecoder : public CHeapObj<mtInternal> {
 public:
@@ -124,6 +125,19 @@
 
 protected:
   static Mutex*               _shared_decoder_lock;
+  static Mutex* shared_decoder_lock();
+
+  friend class DecoderLocker;
+};
+
+class DecoderLocker : public MutexLockerEx {
+  AbstractDecoder* _decoder;
+  inline bool is_first_error_thread();
+public:
+  DecoderLocker();
+  AbstractDecoder* decoder() {
+    return _decoder;
+  }
 };
 
 #endif // SHARE_VM_UTILITIES_DECODER_HPP