src/hotspot/share/oops/methodData.cpp
changeset 55595 cf5a438b3c41
parent 54669 ad45b3802d4e
child 58273 08a5148e7c4e
equal deleted inserted replaced
55594:66a748c4f3ff 55595:cf5a438b3c41
  1605   return inv.is_invokedynamic() || inv.is_invokehandle();
  1605   return inv.is_invokedynamic() || inv.is_invokehandle();
  1606 }
  1606 }
  1607 
  1607 
  1608 bool MethodData::profile_unsafe(const methodHandle& m, int bci) {
  1608 bool MethodData::profile_unsafe(const methodHandle& m, int bci) {
  1609   Bytecode_invoke inv(m , bci);
  1609   Bytecode_invoke inv(m , bci);
  1610   if (inv.is_invokevirtual() && inv.klass() == vmSymbols::jdk_internal_misc_Unsafe()) {
  1610   if (inv.is_invokevirtual()) {
  1611     ResourceMark rm;
  1611     if (inv.klass() == vmSymbols::jdk_internal_misc_Unsafe() ||
  1612     char* name = inv.name()->as_C_string();
  1612         inv.klass() == vmSymbols::sun_misc_Unsafe()) {
  1613     if (!strncmp(name, "get", 3) || !strncmp(name, "put", 3)) {
  1613       ResourceMark rm;
  1614       return true;
  1614       char* name = inv.name()->as_C_string();
       
  1615       if (!strncmp(name, "get", 3) || !strncmp(name, "put", 3)) {
       
  1616         return true;
       
  1617       }
  1615     }
  1618     }
  1616   }
  1619   }
  1617   return false;
  1620   return false;
  1618 }
  1621 }
  1619 
  1622