18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/javaClasses.inline.hpp"
27 #include "jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp"
28 #include "jfr/recorder/service/jfrOptionSet.hpp"
29 #include "jfr/recorder/storage/jfrMemorySpace.inline.hpp"
30 #include "jfr/recorder/repository/jfrChunkWriter.hpp"
31 #include "jfr/recorder/storage/jfrStorageUtils.inline.hpp"
32 #include "jfr/recorder/stringpool/jfrStringPool.hpp"
33 #include "jfr/recorder/stringpool/jfrStringPoolWriter.hpp"
34 #include "jfr/utilities/jfrTypes.hpp"
35 #include "logging/log.hpp"
36 #include "runtime/atomic.hpp"
37 #include "runtime/mutexLocker.hpp"
38 #include "runtime/orderAccess.inline.hpp"
39 #include "runtime/safepoint.hpp"
40 #include "runtime/thread.inline.hpp"
41
42 typedef JfrStringPool::Buffer* BufferPtr;
43
44 static JfrStringPool* _instance = NULL;
45
46 JfrStringPool& JfrStringPool::instance() {
47 return *_instance;
48 }
49
50 JfrStringPool* JfrStringPool::create(JfrChunkWriter& cw) {
51 assert(_instance == NULL, "invariant");
52 _instance = new JfrStringPool(cw);
53 return _instance;
54 }
55
56 void JfrStringPool::destroy() {
57 assert(_instance != NULL, "invariant");
58 delete _instance;
|
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/javaClasses.inline.hpp"
27 #include "jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp"
28 #include "jfr/recorder/service/jfrOptionSet.hpp"
29 #include "jfr/recorder/storage/jfrMemorySpace.inline.hpp"
30 #include "jfr/recorder/repository/jfrChunkWriter.hpp"
31 #include "jfr/recorder/storage/jfrStorageUtils.inline.hpp"
32 #include "jfr/recorder/stringpool/jfrStringPool.hpp"
33 #include "jfr/recorder/stringpool/jfrStringPoolWriter.hpp"
34 #include "jfr/utilities/jfrTypes.hpp"
35 #include "logging/log.hpp"
36 #include "runtime/atomic.hpp"
37 #include "runtime/mutexLocker.hpp"
38 #include "runtime/orderAccess.hpp"
39 #include "runtime/safepoint.hpp"
40 #include "runtime/thread.inline.hpp"
41
42 typedef JfrStringPool::Buffer* BufferPtr;
43
44 static JfrStringPool* _instance = NULL;
45
46 JfrStringPool& JfrStringPool::instance() {
47 return *_instance;
48 }
49
50 JfrStringPool* JfrStringPool::create(JfrChunkWriter& cw) {
51 assert(_instance == NULL, "invariant");
52 _instance = new JfrStringPool(cw);
53 return _instance;
54 }
55
56 void JfrStringPool::destroy() {
57 assert(_instance != NULL, "invariant");
58 delete _instance;
|