< prev index next >

src/hotspot/share/c1/c1_Compiler.cpp

Print this page
rev 63927 : Proper Runtime::sizeOf intrinsic for C1


 211   case vmIntrinsics::_updateCRC32:
 212   case vmIntrinsics::_updateBytesCRC32:
 213   case vmIntrinsics::_updateByteBufferCRC32:
 214 #if defined(S390) || defined(PPC64) || defined(AARCH64)
 215   case vmIntrinsics::_updateBytesCRC32C:
 216   case vmIntrinsics::_updateDirectByteBufferCRC32C:
 217 #endif
 218   case vmIntrinsics::_vectorizedMismatch:
 219   case vmIntrinsics::_compareAndSetInt:
 220   case vmIntrinsics::_compareAndSetReference:
 221   case vmIntrinsics::_getCharStringU:
 222   case vmIntrinsics::_putCharStringU:
 223 #ifdef JFR_HAVE_INTRINSICS
 224   case vmIntrinsics::_counterTime:
 225   case vmIntrinsics::_getEventWriter:
 226 #if defined(_LP64) || !defined(TRACE_ID_SHIFT)
 227   case vmIntrinsics::_getClassId:
 228 #endif
 229 #endif
 230     break;




 231   default:
 232     return false; // Intrinsics not on the previous list are not available.
 233   }
 234 
 235   return true;
 236 }
 237 
 238 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci, bool install_code, DirectiveSet* directive) {
 239   BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
 240   assert(buffer_blob != NULL, "Must exist");
 241   // invoke compilation
 242   {
 243     // We are nested here because we need for the destructor
 244     // of Compilation to occur before we release the any
 245     // competing compiler thread
 246     ResourceMark rm;
 247     Compilation c(this, env, method, entry_bci, buffer_blob, install_code, directive);
 248   }
 249 }
 250 


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