33 #include "code/dependencyContext.hpp"
34 #include "code/pcDesc.hpp"
35 #include "interpreter/interpreter.hpp"
36 #include "logging/log.hpp"
37 #include "logging/logStream.hpp"
38 #include "memory/oopFactory.hpp"
39 #include "memory/metaspaceShared.hpp"
40 #include "memory/resourceArea.hpp"
41 #include "memory/universe.hpp"
42 #include "oops/fieldStreams.hpp"
43 #include "oops/instanceKlass.hpp"
44 #include "oops/instanceMirrorKlass.hpp"
45 #include "oops/klass.hpp"
46 #include "oops/method.inline.hpp"
47 #include "oops/objArrayOop.inline.hpp"
48 #include "oops/oop.inline.hpp"
49 #include "oops/symbol.hpp"
50 #include "oops/typeArrayOop.inline.hpp"
51 #include "prims/resolvedMethodTable.hpp"
52 #include "runtime/fieldDescriptor.hpp"
53 #include "runtime/handles.inline.hpp"
54 #include "runtime/interfaceSupport.inline.hpp"
55 #include "runtime/java.hpp"
56 #include "runtime/javaCalls.hpp"
57 #include "runtime/jniHandles.inline.hpp"
58 #include "runtime/safepoint.hpp"
59 #include "runtime/thread.inline.hpp"
60 #include "runtime/vframe.hpp"
61 #include "utilities/align.hpp"
62 #include "utilities/preserveException.hpp"
63
64 #if INCLUDE_JVMCI
65 #include "jvmci/jvmciJavaClasses.hpp"
66 #endif
67
68 #define INJECTED_FIELD_COMPUTE_OFFSET(klass, name, signature, may_be_java) \
69 klass::_##name##_offset = JavaClasses::compute_injected_offset(JavaClasses::klass##_##name##_enum);
70
71 #if INCLUDE_CDS
72 #define INJECTED_FIELD_SERIALIZE_OFFSET(klass, name, signature, may_be_java) \
73 f->do_u4((u4*)&_##name##_offset);
74 #endif
75
76 #define DECLARE_INJECTED_FIELD(klass, name, signature, may_be_java) \
77 { SystemDictionary::WK_KLASS_ENUM_NAME(klass), vmSymbols::VM_SYMBOL_ENUM_NAME(name##_name), vmSymbols::VM_SYMBOL_ENUM_NAME(signature), may_be_java },
78
79 InjectedField JavaClasses::_injected_fields[] = {
80 ALL_INJECTED_FIELDS(DECLARE_INJECTED_FIELD)
|
33 #include "code/dependencyContext.hpp"
34 #include "code/pcDesc.hpp"
35 #include "interpreter/interpreter.hpp"
36 #include "logging/log.hpp"
37 #include "logging/logStream.hpp"
38 #include "memory/oopFactory.hpp"
39 #include "memory/metaspaceShared.hpp"
40 #include "memory/resourceArea.hpp"
41 #include "memory/universe.hpp"
42 #include "oops/fieldStreams.hpp"
43 #include "oops/instanceKlass.hpp"
44 #include "oops/instanceMirrorKlass.hpp"
45 #include "oops/klass.hpp"
46 #include "oops/method.inline.hpp"
47 #include "oops/objArrayOop.inline.hpp"
48 #include "oops/oop.inline.hpp"
49 #include "oops/symbol.hpp"
50 #include "oops/typeArrayOop.inline.hpp"
51 #include "prims/resolvedMethodTable.hpp"
52 #include "runtime/fieldDescriptor.hpp"
53 #include "runtime/frame.inline.hpp"
54 #include "runtime/handles.inline.hpp"
55 #include "runtime/interfaceSupport.inline.hpp"
56 #include "runtime/java.hpp"
57 #include "runtime/javaCalls.hpp"
58 #include "runtime/jniHandles.inline.hpp"
59 #include "runtime/safepoint.hpp"
60 #include "runtime/thread.inline.hpp"
61 #include "runtime/vframe.inline.hpp"
62 #include "utilities/align.hpp"
63 #include "utilities/preserveException.hpp"
64
65 #if INCLUDE_JVMCI
66 #include "jvmci/jvmciJavaClasses.hpp"
67 #endif
68
69 #define INJECTED_FIELD_COMPUTE_OFFSET(klass, name, signature, may_be_java) \
70 klass::_##name##_offset = JavaClasses::compute_injected_offset(JavaClasses::klass##_##name##_enum);
71
72 #if INCLUDE_CDS
73 #define INJECTED_FIELD_SERIALIZE_OFFSET(klass, name, signature, may_be_java) \
74 f->do_u4((u4*)&_##name##_offset);
75 #endif
76
77 #define DECLARE_INJECTED_FIELD(klass, name, signature, may_be_java) \
78 { SystemDictionary::WK_KLASS_ENUM_NAME(klass), vmSymbols::VM_SYMBOL_ENUM_NAME(name##_name), vmSymbols::VM_SYMBOL_ENUM_NAME(signature), may_be_java },
79
80 InjectedField JavaClasses::_injected_fields[] = {
81 ALL_INJECTED_FIELDS(DECLARE_INJECTED_FIELD)
|