38 #include "compiler/compilerDirectives.hpp"
39 #include "compiler/directivesParser.hpp"
40 #include "compiler/disassembler.hpp"
41 #include "interpreter/bytecode.hpp"
42 #include "logging/log.hpp"
43 #include "logging/logStream.hpp"
44 #include "memory/allocation.inline.hpp"
45 #include "memory/resourceArea.hpp"
46 #include "memory/universe.hpp"
47 #include "oops/access.inline.hpp"
48 #include "oops/method.inline.hpp"
49 #include "oops/methodData.hpp"
50 #include "oops/oop.inline.hpp"
51 #include "prims/jvmtiImpl.hpp"
52 #include "runtime/atomic.hpp"
53 #include "runtime/deoptimization.hpp"
54 #include "runtime/flags/flagSetting.hpp"
55 #include "runtime/frame.inline.hpp"
56 #include "runtime/handles.inline.hpp"
57 #include "runtime/jniHandles.inline.hpp"
58 #include "runtime/orderAccess.hpp"
59 #include "runtime/os.hpp"
60 #include "runtime/safepointVerifiers.hpp"
61 #include "runtime/sharedRuntime.hpp"
62 #include "runtime/sweeper.hpp"
63 #include "runtime/vmThread.hpp"
64 #include "utilities/align.hpp"
65 #include "utilities/dtrace.hpp"
66 #include "utilities/events.hpp"
67 #include "utilities/resourceHash.hpp"
68 #include "utilities/xmlstream.hpp"
69 #if INCLUDE_JVMCI
70 #include "jvmci/jvmciRuntime.hpp"
71 #endif
72
73 #ifdef DTRACE_ENABLED
74
75 // Only bother with this argument setup if dtrace is available
76
77 #define DTRACE_METHOD_UNLOAD_PROBE(method) \
78 { \
79 Method* m = (method); \
80 if (m != NULL) { \
81 Symbol* klass_name = m->klass_name(); \
82 Symbol* name = m->name(); \
83 Symbol* signature = m->signature(); \
84 HOTSPOT_COMPILED_METHOD_UNLOAD( \
85 (char *) klass_name->bytes(), klass_name->utf8_length(), \
86 (char *) name->bytes(), name->utf8_length(), \
|
38 #include "compiler/compilerDirectives.hpp"
39 #include "compiler/directivesParser.hpp"
40 #include "compiler/disassembler.hpp"
41 #include "interpreter/bytecode.hpp"
42 #include "logging/log.hpp"
43 #include "logging/logStream.hpp"
44 #include "memory/allocation.inline.hpp"
45 #include "memory/resourceArea.hpp"
46 #include "memory/universe.hpp"
47 #include "oops/access.inline.hpp"
48 #include "oops/method.inline.hpp"
49 #include "oops/methodData.hpp"
50 #include "oops/oop.inline.hpp"
51 #include "prims/jvmtiImpl.hpp"
52 #include "runtime/atomic.hpp"
53 #include "runtime/deoptimization.hpp"
54 #include "runtime/flags/flagSetting.hpp"
55 #include "runtime/frame.inline.hpp"
56 #include "runtime/handles.inline.hpp"
57 #include "runtime/jniHandles.inline.hpp"
58 #include "runtime/mutexLocker.inline.hpp"
59 #include "runtime/orderAccess.hpp"
60 #include "runtime/os.hpp"
61 #include "runtime/safepointVerifiers.hpp"
62 #include "runtime/sharedRuntime.hpp"
63 #include "runtime/sweeper.hpp"
64 #include "runtime/vmThread.hpp"
65 #include "utilities/align.hpp"
66 #include "utilities/dtrace.hpp"
67 #include "utilities/events.inline.hpp"
68 #include "utilities/resourceHash.hpp"
69 #include "utilities/xmlstream.hpp"
70 #if INCLUDE_JVMCI
71 #include "jvmci/jvmciRuntime.hpp"
72 #endif
73
74 #ifdef DTRACE_ENABLED
75
76 // Only bother with this argument setup if dtrace is available
77
78 #define DTRACE_METHOD_UNLOAD_PROBE(method) \
79 { \
80 Method* m = (method); \
81 if (m != NULL) { \
82 Symbol* klass_name = m->klass_name(); \
83 Symbol* name = m->name(); \
84 Symbol* signature = m->signature(); \
85 HOTSPOT_COMPILED_METHOD_UNLOAD( \
86 (char *) klass_name->bytes(), klass_name->utf8_length(), \
87 (char *) name->bytes(), name->utf8_length(), \
|