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