equal
deleted
inserted
replaced
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 |