32 #include "oops/objArrayKlass.hpp"
33 #include "oops/objArrayOop.inline.hpp"
34 #include "oops/oop.inline.hpp"
35 #include "prims/jvmtiEventController.hpp"
36 #include "prims/jvmtiEventController.inline.hpp"
37 #include "prims/jvmtiExport.hpp"
38 #include "prims/jvmtiImpl.hpp"
39 #include "prims/jvmtiTagMap.hpp"
40 #include "runtime/biasedLocking.hpp"
41 #include "runtime/javaCalls.hpp"
42 #include "runtime/jniHandles.hpp"
43 #include "runtime/mutex.hpp"
44 #include "runtime/mutexLocker.hpp"
45 #include "runtime/reflectionUtils.hpp"
46 #include "runtime/vframe.hpp"
47 #include "runtime/vmThread.hpp"
48 #include "runtime/vm_operations.hpp"
49 #include "services/serviceUtil.hpp"
50 #include "utilities/macros.hpp"
51 #if INCLUDE_ALL_GCS
52 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
53 #endif // INCLUDE_ALL_GCS
54
55 // JvmtiTagHashmapEntry
56 //
57 // Each entry encapsulates a reference to the tagged object
58 // and the tag value. In addition an entry includes a next pointer which
59 // is used to chain entries together.
60
61 class JvmtiTagHashmapEntry : public CHeapObj<mtInternal> {
62 private:
63 friend class JvmtiTagMap;
64
65 oop _object; // tagged object
66 jlong _tag; // the tag
67 JvmtiTagHashmapEntry* _next; // next on the list
68
69 inline void init(oop object, jlong tag) {
70 _object = object;
71 _tag = tag;
72 _next = NULL;
|
32 #include "oops/objArrayKlass.hpp"
33 #include "oops/objArrayOop.inline.hpp"
34 #include "oops/oop.inline.hpp"
35 #include "prims/jvmtiEventController.hpp"
36 #include "prims/jvmtiEventController.inline.hpp"
37 #include "prims/jvmtiExport.hpp"
38 #include "prims/jvmtiImpl.hpp"
39 #include "prims/jvmtiTagMap.hpp"
40 #include "runtime/biasedLocking.hpp"
41 #include "runtime/javaCalls.hpp"
42 #include "runtime/jniHandles.hpp"
43 #include "runtime/mutex.hpp"
44 #include "runtime/mutexLocker.hpp"
45 #include "runtime/reflectionUtils.hpp"
46 #include "runtime/vframe.hpp"
47 #include "runtime/vmThread.hpp"
48 #include "runtime/vm_operations.hpp"
49 #include "services/serviceUtil.hpp"
50 #include "utilities/macros.hpp"
51 #if INCLUDE_ALL_GCS
52 #include "gc/parallel/parallelScavengeHeap.hpp"
53 #endif // INCLUDE_ALL_GCS
54
55 // JvmtiTagHashmapEntry
56 //
57 // Each entry encapsulates a reference to the tagged object
58 // and the tag value. In addition an entry includes a next pointer which
59 // is used to chain entries together.
60
61 class JvmtiTagHashmapEntry : public CHeapObj<mtInternal> {
62 private:
63 friend class JvmtiTagMap;
64
65 oop _object; // tagged object
66 jlong _tag; // the tag
67 JvmtiTagHashmapEntry* _next; // next on the list
68
69 inline void init(oop object, jlong tag) {
70 _object = object;
71 _tag = tag;
72 _next = NULL;
|