227 case vmIntrinsics::_updateByteBufferCRC32:
228 #if defined(S390) || defined(PPC64) || defined(AARCH64) || defined(AMD64)
229 case vmIntrinsics::_updateBytesCRC32C:
230 case vmIntrinsics::_updateDirectByteBufferCRC32C:
231 #endif
232 case vmIntrinsics::_vectorizedMismatch:
233 case vmIntrinsics::_compareAndSetInt:
234 case vmIntrinsics::_compareAndSetReference:
235 case vmIntrinsics::_getCharStringU:
236 case vmIntrinsics::_putCharStringU:
237 #ifdef JFR_HAVE_INTRINSICS
238 case vmIntrinsics::_counterTime:
239 #endif
240 case vmIntrinsics::_getObjectSize:
241 #if defined(X86) || defined(AARCH64) || defined(S390) || defined(RISCV64) || defined(PPC64)
242 case vmIntrinsics::_clone:
243 #endif
244 break;
245 case vmIntrinsics::_blackhole:
246 break;
247 default:
248 return false; // Intrinsics not on the previous list are not available.
249 }
250
251 return true;
252 }
253
254 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci, bool install_code, DirectiveSet* directive) {
255 BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
256 assert(buffer_blob != nullptr, "Must exist");
257 // invoke compilation
258 {
259 // We are nested here because we need for the destructor
260 // of Compilation to occur before we release the any
261 // competing compiler thread
262 ResourceMark rm;
263 Compilation c(this, env, method, entry_bci, buffer_blob, install_code, directive);
264 }
265 }
266
|
227 case vmIntrinsics::_updateByteBufferCRC32:
228 #if defined(S390) || defined(PPC64) || defined(AARCH64) || defined(AMD64)
229 case vmIntrinsics::_updateBytesCRC32C:
230 case vmIntrinsics::_updateDirectByteBufferCRC32C:
231 #endif
232 case vmIntrinsics::_vectorizedMismatch:
233 case vmIntrinsics::_compareAndSetInt:
234 case vmIntrinsics::_compareAndSetReference:
235 case vmIntrinsics::_getCharStringU:
236 case vmIntrinsics::_putCharStringU:
237 #ifdef JFR_HAVE_INTRINSICS
238 case vmIntrinsics::_counterTime:
239 #endif
240 case vmIntrinsics::_getObjectSize:
241 #if defined(X86) || defined(AARCH64) || defined(S390) || defined(RISCV64) || defined(PPC64)
242 case vmIntrinsics::_clone:
243 #endif
244 break;
245 case vmIntrinsics::_blackhole:
246 break;
247 case vmIntrinsics::_shipilev_magic_sizeOf:
248 case vmIntrinsics::_shipilev_magic_addressOf:
249 break;
250 default:
251 return false; // Intrinsics not on the previous list are not available.
252 }
253
254 return true;
255 }
256
257 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci, bool install_code, DirectiveSet* directive) {
258 BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
259 assert(buffer_blob != nullptr, "Must exist");
260 // invoke compilation
261 {
262 // We are nested here because we need for the destructor
263 // of Compilation to occur before we release the any
264 // competing compiler thread
265 ResourceMark rm;
266 Compilation c(this, env, method, entry_bci, buffer_blob, install_code, directive);
267 }
268 }
269
|