hotspot/src/share/vm/c1/c1_Compiler.cpp
changeset 32085 d869c505b624
parent 31962 d05e0a4d1b43
child 32582 56619bb8bcaa
equal deleted inserted replaced
32084:7743e6943cdf 32085:d869c505b624
   237   }
   237   }
   238 
   238 
   239   return true;
   239   return true;
   240 }
   240 }
   241 
   241 
   242 bool Compiler::is_intrinsic_disabled_by_flag(methodHandle method) {
       
   243   vmIntrinsics::ID id = method->intrinsic_id();
       
   244   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
       
   245 
       
   246   if (vmIntrinsics::is_disabled_by_flags(id)) {
       
   247     return true;
       
   248   }
       
   249 
       
   250   if (!InlineNatives && id != vmIntrinsics::_Reference_get) {
       
   251     return true;
       
   252   }
       
   253 
       
   254   if (!InlineClassNatives && id == vmIntrinsics::_getClass) {
       
   255     return true;
       
   256   }
       
   257 
       
   258   return false;
       
   259 }
       
   260 
       
   261 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci) {
   242 void Compiler::compile_method(ciEnv* env, ciMethod* method, int entry_bci) {
   262   BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
   243   BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();
   263   assert(buffer_blob != NULL, "Must exist");
   244   assert(buffer_blob != NULL, "Must exist");
   264   // invoke compilation
   245   // invoke compilation
   265   {
   246   {
   273 
   254 
   274 
   255 
   275 void Compiler::print_timers() {
   256 void Compiler::print_timers() {
   276   Compilation::print_timers();
   257   Compilation::print_timers();
   277 }
   258 }
   278 
       
   279 bool Compiler::is_intrinsic_available(methodHandle method, methodHandle compilation_context) {
       
   280   return is_intrinsic_supported(method) && !is_intrinsic_disabled_by_flag(method);
       
   281 }