134 int CompilerToVM::Data::sizeof_ExceptionTableElement = sizeof(ExceptionTableElement);
135 int CompilerToVM::Data::sizeof_LocalVariableTableElement = sizeof(LocalVariableTableElement);
136 int CompilerToVM::Data::sizeof_ConstantPool = sizeof(ConstantPool);
137 int CompilerToVM::Data::sizeof_narrowKlass = sizeof(narrowKlass);
138 int CompilerToVM::Data::sizeof_arrayOopDesc = sizeof(arrayOopDesc);
139 int CompilerToVM::Data::sizeof_BasicLock = sizeof(BasicLock);
140 #if INCLUDE_ZGC
141 int CompilerToVM::Data::sizeof_ZStoreBarrierEntry = sizeof(ZStoreBarrierEntry);
142 #endif
143
144 address CompilerToVM::Data::dsin;
145 address CompilerToVM::Data::dcos;
146 address CompilerToVM::Data::dtan;
147 address CompilerToVM::Data::dtanh;
148 address CompilerToVM::Data::dcbrt;
149 address CompilerToVM::Data::dexp;
150 address CompilerToVM::Data::dlog;
151 address CompilerToVM::Data::dlog10;
152 address CompilerToVM::Data::dpow;
153
154 address CompilerToVM::Data::symbol_init;
155 address CompilerToVM::Data::symbol_clinit;
156
157 int CompilerToVM::Data::data_section_item_alignment;
158
159 JVMTI_ONLY( int* CompilerToVM::Data::_should_notify_object_alloc; )
160
161 void CompilerToVM::Data::initialize(JVMCI_TRAPS) {
162 oopDesc_klass_offset_in_bytes = oopDesc::klass_offset_in_bytes();
163 arrayOopDesc_length_offset_in_bytes = arrayOopDesc::length_offset_in_bytes();
164
165 Klass_vtable_start_offset = in_bytes(Klass::vtable_start_offset());
166 Klass_vtable_length_offset = in_bytes(Klass::vtable_length_offset());
167
168 Method_extra_stack_entries = Method::extra_stack_entries();
169
170 SharedRuntime_ic_miss_stub = SharedRuntime::get_ic_miss_stub();
171 SharedRuntime_handle_wrong_method_stub = SharedRuntime::get_handle_wrong_method_stub();
172 SharedRuntime_deopt_blob_unpack = SharedRuntime::deopt_blob()->unpack();
173 SharedRuntime_deopt_blob_unpack_with_exception_in_tls = SharedRuntime::deopt_blob()->unpack_with_exception_in_tls();
272
273 SET_TRIGFUNC(dsin);
274 SET_TRIGFUNC(dcos);
275 SET_TRIGFUNC(dtan);
276 SET_TRIGFUNC(dexp);
277 SET_TRIGFUNC(dlog10);
278 SET_TRIGFUNC(dlog);
279 SET_TRIGFUNC(dpow);
280
281 #undef SET_TRIGFUNC
282
283 #define SET_TRIGFUNC_OR_NULL(name) \
284 if (StubRoutines::name() != nullptr) { \
285 name = StubRoutines::name(); \
286 } else { \
287 name = nullptr; \
288 }
289
290 SET_TRIGFUNC_OR_NULL(dtanh);
291 SET_TRIGFUNC_OR_NULL(dcbrt);
292
293 #undef SET_TRIGFUNC_OR_NULL
294
295
296 }
297
298 static jboolean is_c1_supported(vmIntrinsics::ID id){
299 jboolean supported = false;
300 #ifdef COMPILER1
301 supported = (jboolean) Compiler::is_intrinsic_supported(id);
302 #endif
303 return supported;
304 }
305
306 static jboolean is_c2_supported(vmIntrinsics::ID id){
307 jboolean supported = false;
308 #ifdef COMPILER2
309 supported = (jboolean) C2Compiler::is_intrinsic_supported(id);
310 #endif
311 return supported;
|
134 int CompilerToVM::Data::sizeof_ExceptionTableElement = sizeof(ExceptionTableElement);
135 int CompilerToVM::Data::sizeof_LocalVariableTableElement = sizeof(LocalVariableTableElement);
136 int CompilerToVM::Data::sizeof_ConstantPool = sizeof(ConstantPool);
137 int CompilerToVM::Data::sizeof_narrowKlass = sizeof(narrowKlass);
138 int CompilerToVM::Data::sizeof_arrayOopDesc = sizeof(arrayOopDesc);
139 int CompilerToVM::Data::sizeof_BasicLock = sizeof(BasicLock);
140 #if INCLUDE_ZGC
141 int CompilerToVM::Data::sizeof_ZStoreBarrierEntry = sizeof(ZStoreBarrierEntry);
142 #endif
143
144 address CompilerToVM::Data::dsin;
145 address CompilerToVM::Data::dcos;
146 address CompilerToVM::Data::dtan;
147 address CompilerToVM::Data::dtanh;
148 address CompilerToVM::Data::dcbrt;
149 address CompilerToVM::Data::dexp;
150 address CompilerToVM::Data::dlog;
151 address CompilerToVM::Data::dlog10;
152 address CompilerToVM::Data::dpow;
153
154 address CompilerToVM::Data::crc_table_addr;
155
156 address CompilerToVM::Data::symbol_init;
157 address CompilerToVM::Data::symbol_clinit;
158
159 int CompilerToVM::Data::data_section_item_alignment;
160
161 JVMTI_ONLY( int* CompilerToVM::Data::_should_notify_object_alloc; )
162
163 void CompilerToVM::Data::initialize(JVMCI_TRAPS) {
164 oopDesc_klass_offset_in_bytes = oopDesc::klass_offset_in_bytes();
165 arrayOopDesc_length_offset_in_bytes = arrayOopDesc::length_offset_in_bytes();
166
167 Klass_vtable_start_offset = in_bytes(Klass::vtable_start_offset());
168 Klass_vtable_length_offset = in_bytes(Klass::vtable_length_offset());
169
170 Method_extra_stack_entries = Method::extra_stack_entries();
171
172 SharedRuntime_ic_miss_stub = SharedRuntime::get_ic_miss_stub();
173 SharedRuntime_handle_wrong_method_stub = SharedRuntime::get_handle_wrong_method_stub();
174 SharedRuntime_deopt_blob_unpack = SharedRuntime::deopt_blob()->unpack();
175 SharedRuntime_deopt_blob_unpack_with_exception_in_tls = SharedRuntime::deopt_blob()->unpack_with_exception_in_tls();
274
275 SET_TRIGFUNC(dsin);
276 SET_TRIGFUNC(dcos);
277 SET_TRIGFUNC(dtan);
278 SET_TRIGFUNC(dexp);
279 SET_TRIGFUNC(dlog10);
280 SET_TRIGFUNC(dlog);
281 SET_TRIGFUNC(dpow);
282
283 #undef SET_TRIGFUNC
284
285 #define SET_TRIGFUNC_OR_NULL(name) \
286 if (StubRoutines::name() != nullptr) { \
287 name = StubRoutines::name(); \
288 } else { \
289 name = nullptr; \
290 }
291
292 SET_TRIGFUNC_OR_NULL(dtanh);
293 SET_TRIGFUNC_OR_NULL(dcbrt);
294 SET_TRIGFUNC_OR_NULL(crc_table_addr);
295
296 #undef SET_TRIGFUNC_OR_NULL
297
298
299 }
300
301 static jboolean is_c1_supported(vmIntrinsics::ID id){
302 jboolean supported = false;
303 #ifdef COMPILER1
304 supported = (jboolean) Compiler::is_intrinsic_supported(id);
305 #endif
306 return supported;
307 }
308
309 static jboolean is_c2_supported(vmIntrinsics::ID id){
310 jboolean supported = false;
311 #ifdef COMPILER2
312 supported = (jboolean) C2Compiler::is_intrinsic_supported(id);
313 #endif
314 return supported;
|