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