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