8077203: Avoid unnecessary stripping of package names from FQN's in is_same_class_package() methods

Extract package name from instance klass's package entry record

Reviewed-by: redestad, coleenp, lfoltan
This commit is contained in:
Harold Seigel 2017-07-20 11:01:20 -04:00
parent 7323412857
commit 9148262d0e
3 changed files with 24 additions and 38 deletions

View file

@ -5556,10 +5556,7 @@ void ClassFileParser::fix_anonymous_class_name(TRAPS) {
if (anon_last_slash == NULL) { // Unnamed package
prepend_host_package_name(_host_klass, CHECK);
} else {
if (!InstanceKlass::is_same_class_package(_host_klass->class_loader(),
_host_klass->name(),
_host_klass->class_loader(),
_class_name)) {
if (!_host_klass->is_same_class_package(_host_klass->class_loader(), _class_name)) {
ResourceMark rm(THREAD);
THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
err_msg("Host class %s and anonymous class %s are in different packages",