41 #include "oops/objArrayOop.inline.hpp"
42 #include "oops/oop.inline.hpp"
43 #include "oops/typeArrayOop.inline.hpp"
44 #include "prims/jvmtiEventController.hpp"
45 #include "prims/jvmtiEventController.inline.hpp"
46 #include "prims/jvmtiExport.hpp"
47 #include "prims/jvmtiImpl.hpp"
48 #include "prims/jvmtiTagMap.hpp"
49 #include "runtime/biasedLocking.hpp"
50 #include "runtime/frame.inline.hpp"
51 #include "runtime/handles.inline.hpp"
52 #include "runtime/javaCalls.hpp"
53 #include "runtime/jniHandles.inline.hpp"
54 #include "runtime/mutex.hpp"
55 #include "runtime/mutexLocker.hpp"
56 #include "runtime/reflectionUtils.hpp"
57 #include "runtime/thread.inline.hpp"
58 #include "runtime/threadSMR.hpp"
59 #include "runtime/vframe.hpp"
60 #include "runtime/vmThread.hpp"
61 #include "runtime/vm_operations.hpp"
62 #include "utilities/macros.hpp"
63 #if INCLUDE_ZGC
64 #include "gc/z/zGlobals.hpp"
65 #endif
66
67 // JvmtiTagHashmapEntry
68 //
69 // Each entry encapsulates a reference to the tagged object
70 // and the tag value. In addition an entry includes a next pointer which
71 // is used to chain entries together.
72
73 class JvmtiTagHashmapEntry : public CHeapObj<mtInternal> {
74 private:
75 friend class JvmtiTagMap;
76
77 oop _object; // tagged object
78 jlong _tag; // the tag
79 JvmtiTagHashmapEntry* _next; // next on the list
80
81 inline void init(oop object, jlong tag) {
|
41 #include "oops/objArrayOop.inline.hpp"
42 #include "oops/oop.inline.hpp"
43 #include "oops/typeArrayOop.inline.hpp"
44 #include "prims/jvmtiEventController.hpp"
45 #include "prims/jvmtiEventController.inline.hpp"
46 #include "prims/jvmtiExport.hpp"
47 #include "prims/jvmtiImpl.hpp"
48 #include "prims/jvmtiTagMap.hpp"
49 #include "runtime/biasedLocking.hpp"
50 #include "runtime/frame.inline.hpp"
51 #include "runtime/handles.inline.hpp"
52 #include "runtime/javaCalls.hpp"
53 #include "runtime/jniHandles.inline.hpp"
54 #include "runtime/mutex.hpp"
55 #include "runtime/mutexLocker.hpp"
56 #include "runtime/reflectionUtils.hpp"
57 #include "runtime/thread.inline.hpp"
58 #include "runtime/threadSMR.hpp"
59 #include "runtime/vframe.hpp"
60 #include "runtime/vmThread.hpp"
61 #include "runtime/vmOperations.hpp"
62 #include "utilities/macros.hpp"
63 #if INCLUDE_ZGC
64 #include "gc/z/zGlobals.hpp"
65 #endif
66
67 // JvmtiTagHashmapEntry
68 //
69 // Each entry encapsulates a reference to the tagged object
70 // and the tag value. In addition an entry includes a next pointer which
71 // is used to chain entries together.
72
73 class JvmtiTagHashmapEntry : public CHeapObj<mtInternal> {
74 private:
75 friend class JvmtiTagMap;
76
77 oop _object; // tagged object
78 jlong _tag; // the tag
79 JvmtiTagHashmapEntry* _next; // next on the list
80
81 inline void init(oop object, jlong tag) {
|