< prev index next >

src/hotspot/share/c1/c1_Compiler.cpp

Print this page

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);
< prev index next >