< prev index next >

src/hotspot/share/c1/c1_Compiler.cpp

Print this page

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