hotspot/src/share/vm/opto/library_call.cpp
changeset 33451 0712796e4039
parent 33449 8aca535611b8
child 33459 9d377e6f0e4c
equal deleted inserted replaced
33450:08222df07d0d 33451:0712796e4039
   324     // For calling is_intrinsic_supported and is_intrinsic_disabled_by_flag
   324     // For calling is_intrinsic_supported and is_intrinsic_disabled_by_flag
   325     // the compiler must transition to '_thread_in_vm' state because both
   325     // the compiler must transition to '_thread_in_vm' state because both
   326     // methods access VM-internal data.
   326     // methods access VM-internal data.
   327     VM_ENTRY_MARK;
   327     VM_ENTRY_MARK;
   328     methodHandle mh(THREAD, m->get_Method());
   328     methodHandle mh(THREAD, m->get_Method());
   329     methodHandle ct(THREAD, method()->get_Method());
       
   330     is_available = compiler->is_intrinsic_supported(mh, is_virtual) &&
   329     is_available = compiler->is_intrinsic_supported(mh, is_virtual) &&
   331                    !vmIntrinsics::is_disabled_by_flags(mh, ct);
   330                    !C->directive()->is_intrinsic_disabled(mh) &&
       
   331                    !vmIntrinsics::is_disabled_by_flags(mh);
       
   332 
   332   }
   333   }
   333 
   334 
   334   if (is_available) {
   335   if (is_available) {
   335     assert(id <= vmIntrinsics::LAST_COMPILER_INLINE, "caller responsibility");
   336     assert(id <= vmIntrinsics::LAST_COMPILER_INLINE, "caller responsibility");
   336     assert(id != vmIntrinsics::_Object_init && id != vmIntrinsics::_invoke, "enum out of order?");
   337     assert(id != vmIntrinsics::_Object_init && id != vmIntrinsics::_invoke, "enum out of order?");