< prev index next >

src/hotspot/share/c1/c1_Compiler.cpp

Print this page

227   case vmIntrinsics::_updateByteBufferCRC32:
228 #if defined(S390) || defined(PPC64) || defined(AARCH64) || defined(AMD64)
229   case vmIntrinsics::_updateBytesCRC32C:
230   case vmIntrinsics::_updateDirectByteBufferCRC32C:
231 #endif
232   case vmIntrinsics::_vectorizedMismatch:
233   case vmIntrinsics::_compareAndSetInt:
234   case vmIntrinsics::_compareAndSetReference:
235   case vmIntrinsics::_getCharStringU:
236   case vmIntrinsics::_putCharStringU:
237 #ifdef JFR_HAVE_INTRINSICS
238   case vmIntrinsics::_counterTime:
239 #endif
240   case vmIntrinsics::_getObjectSize:
241 #if defined(X86) || defined(AARCH64) || defined(S390) || defined(RISCV64) || defined(PPC64)
242   case vmIntrinsics::_clone:
243 #endif
244     break;
245   case vmIntrinsics::_blackhole:
246     break;



247   default:
248     return false; // Intrinsics not on the previous list are not available.
249   }
250 
251   return true;
252 }
253 
254 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci, bool install_code, DirectiveSet* directive) {
255   BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
256   assert(buffer_blob != nullptr, "Must exist");
257   // invoke compilation
258   {
259     // We are nested here because we need for the destructor
260     // of Compilation to occur before we release the any
261     // competing compiler thread
262     ResourceMark rm;
263     Compilation c(this, env, method, entry_bci, buffer_blob, install_code, directive);
264   }
265 }
266 

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