< prev index next >

src/hotspot/share/c1/c1_Compiler.cpp

Print this page

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