Mercurial > hg > graal-jvmci-8
comparison src/share/vm/utilities/decoder.hpp @ 14422:2b8e28fdf503
Merge
author | kvn |
---|---|
date | Tue, 05 Nov 2013 17:38:04 -0800 |
parents | 38f750491293 |
children | de6a9e811145 |
comparison
equal
deleted
inserted
replaced
14421:3068270ba476 | 14422:2b8e28fdf503 |
---|---|
26 #ifndef SHARE_VM_UTILITIES_DECODER_HPP | 26 #ifndef SHARE_VM_UTILITIES_DECODER_HPP |
27 #define SHARE_VM_UTILITIES_DECODER_HPP | 27 #define SHARE_VM_UTILITIES_DECODER_HPP |
28 | 28 |
29 #include "memory/allocation.hpp" | 29 #include "memory/allocation.hpp" |
30 #include "runtime/mutex.hpp" | 30 #include "runtime/mutex.hpp" |
31 #include "runtime/mutexLocker.hpp" | |
31 | 32 |
32 class AbstractDecoder : public CHeapObj<mtInternal> { | 33 class AbstractDecoder : public CHeapObj<mtInternal> { |
33 public: | 34 public: |
34 // status code for decoding native C frame | 35 // status code for decoding native C frame |
35 enum decoder_status { | 36 enum decoder_status { |
122 static AbstractDecoder* _error_handler_decoder; | 123 static AbstractDecoder* _error_handler_decoder; |
123 static NullDecoder _do_nothing_decoder; | 124 static NullDecoder _do_nothing_decoder; |
124 | 125 |
125 protected: | 126 protected: |
126 static Mutex* _shared_decoder_lock; | 127 static Mutex* _shared_decoder_lock; |
128 static Mutex* shared_decoder_lock(); | |
129 | |
130 friend class DecoderLocker; | |
131 }; | |
132 | |
133 class DecoderLocker : public MutexLockerEx { | |
134 AbstractDecoder* _decoder; | |
135 inline bool is_first_error_thread(); | |
136 public: | |
137 DecoderLocker(); | |
138 AbstractDecoder* decoder() { | |
139 return _decoder; | |
140 } | |
127 }; | 141 }; |
128 | 142 |
129 #endif // SHARE_VM_UTILITIES_DECODER_HPP | 143 #endif // SHARE_VM_UTILITIES_DECODER_HPP |