49 static CollectedHeap* Universe_collectedHeap;
50 static int Universe_base_vtable_size;
51 static address Universe_narrow_oop_base;
52 static int Universe_narrow_oop_shift;
53 static address Universe_narrow_klass_base;
54 static int Universe_narrow_klass_shift;
55 static uintptr_t Universe_verify_oop_mask;
56 static uintptr_t Universe_verify_oop_bits;
57 static void* Universe_non_oop_bits;
58
59 static bool _supports_inline_contig_alloc;
60 static HeapWord** _heap_end_addr;
61 static HeapWord* volatile* _heap_top_addr;
62 static int _max_oop_map_stack_offset;
63
64 static jbyte* cardtable_start_address;
65 static int cardtable_shift;
66
67 static int vm_page_size;
68
69 static address dsin;
70 static address dcos;
71 static address dtan;
72 static address dexp;
73 static address dlog;
74 static address dlog10;
75 static address dpow;
76
77 public:
78 static void initialize();
79
80 static int max_oop_map_stack_offset() {
81 assert(_max_oop_map_stack_offset > 0, "must be initialized");
82 return Data::_max_oop_map_stack_offset;
83 }
84 };
85
86 static JNINativeMethod methods[];
87
88 static objArrayHandle initialize_intrinsics(TRAPS);
89 public:
90 static int methods_count();
91
92 static inline Method* asMethod(jobject jvmci_method) {
93 return (Method*) (address) HotSpotResolvedJavaMethodImpl::metaspaceMethod(jvmci_method);
94 }
95
96 static inline Method* asMethod(Handle jvmci_method) {
97 return (Method*) (address) HotSpotResolvedJavaMethodImpl::metaspaceMethod(jvmci_method);
98 }
99
100 static inline Method* asMethod(oop jvmci_method) {
101 return (Method*) (address) HotSpotResolvedJavaMethodImpl::metaspaceMethod(jvmci_method);
102 }
103
104 static inline ConstantPool* asConstantPool(jobject jvmci_constant_pool) {
105 return (ConstantPool*) (address) HotSpotConstantPool::metaspaceConstantPool(jvmci_constant_pool);
|
49 static CollectedHeap* Universe_collectedHeap;
50 static int Universe_base_vtable_size;
51 static address Universe_narrow_oop_base;
52 static int Universe_narrow_oop_shift;
53 static address Universe_narrow_klass_base;
54 static int Universe_narrow_klass_shift;
55 static uintptr_t Universe_verify_oop_mask;
56 static uintptr_t Universe_verify_oop_bits;
57 static void* Universe_non_oop_bits;
58
59 static bool _supports_inline_contig_alloc;
60 static HeapWord** _heap_end_addr;
61 static HeapWord* volatile* _heap_top_addr;
62 static int _max_oop_map_stack_offset;
63
64 static jbyte* cardtable_start_address;
65 static int cardtable_shift;
66
67 static int vm_page_size;
68
69 static int sizeof_vtableEntry;
70 static int sizeof_ExceptionTableElement;
71 static int sizeof_LocalVariableTableElement;
72 static int sizeof_ConstantPool;
73 static int sizeof_SymbolPointer;
74 static int sizeof_narrowKlass;
75 static int sizeof_arrayOopDesc;
76 static int sizeof_BasicLock;
77
78 static address dsin;
79 static address dcos;
80 static address dtan;
81 static address dexp;
82 static address dlog;
83 static address dlog10;
84 static address dpow;
85
86 static address symbol_init;
87 static address symbol_clinit;
88
89 public:
90 static void initialize(TRAPS);
91
92 static int max_oop_map_stack_offset() {
93 assert(_max_oop_map_stack_offset > 0, "must be initialized");
94 return Data::_max_oop_map_stack_offset;
95 }
96 };
97
98 static bool cstring_equals(const char* const& s0, const char* const& s1) {
99 return strcmp(s0, s1) == 0;
100 }
101
102 static unsigned cstring_hash(const char* const& s) {
103 int h = 0;
104 const char* p = s;
105 while (*p != '\0') {
106 h = 31 * h + *p;
107 p++;
108 }
109 return h;
110 }
111
112 static JNINativeMethod methods[];
113
114 static objArrayHandle initialize_intrinsics(TRAPS);
115 public:
116 static int methods_count();
117
118 static inline Method* asMethod(jobject jvmci_method) {
119 return (Method*) (address) HotSpotResolvedJavaMethodImpl::metaspaceMethod(jvmci_method);
120 }
121
122 static inline Method* asMethod(Handle jvmci_method) {
123 return (Method*) (address) HotSpotResolvedJavaMethodImpl::metaspaceMethod(jvmci_method);
124 }
125
126 static inline Method* asMethod(oop jvmci_method) {
127 return (Method*) (address) HotSpotResolvedJavaMethodImpl::metaspaceMethod(jvmci_method);
128 }
129
130 static inline ConstantPool* asConstantPool(jobject jvmci_constant_pool) {
131 return (ConstantPool*) (address) HotSpotConstantPool::metaspaceConstantPool(jvmci_constant_pool);
|