--- old/src/share/vm/classfile/systemDictionary.cpp 2015-04-16 13:30:44.898313622 -0700 +++ new/src/share/vm/classfile/systemDictionary.cpp 2015-04-16 13:30:44.752302577 -0700 @@ -169,7 +169,7 @@ if (class_loader.is_null()) { return false; } - return (class_loader->klass()->name() == vmSymbols::sun_misc_Launcher_ExtClassLoader()); + return (class_loader->klass()->name()->equals(vmSymbols::sun_misc_Launcher_ExtClassLoader())); } // ---------------------------------------------------------------------------- @@ -356,7 +356,7 @@ if ((childk != NULL ) && (is_superclass) && ((quicksuperk = InstanceKlass::cast(childk)->super()) != NULL) && - ((quicksuperk->name() == class_name) && + ((quicksuperk->name()->equals(class_name)) && (quicksuperk->class_loader() == class_loader()))) { return quicksuperk; } else { @@ -1107,7 +1107,7 @@ if (!HAS_PENDING_EXCEPTION) { assert(parsed_name != NULL, "Sanity"); - assert(class_name == NULL || class_name == parsed_name, "name mismatch"); + assert(class_name == NULL || class_name->equals(parsed_name), "name mismatch"); // Verification prevents us from creating names with dots in them, this // asserts that that's the case. assert(is_internal_format(parsed_name), @@ -1127,7 +1127,7 @@ debug_only( { if (!HAS_PENDING_EXCEPTION) { assert(parsed_name != NULL, "parsed_name is still null?"); - Symbol* h_name = k->name(); + Symbol* h_name = k->name(); ClassLoaderData *defining_loader_data = k->class_loader_data(); MutexLocker mu(SystemDictionary_lock, THREAD); @@ -1211,7 +1211,7 @@ // interfaces' InstanceKlass's C++ vtbls haven't been // reinitialized yet (they will be once the interface classes // are loaded) - Symbol* name = k->name(); + Symbol* name = k->name(); resolve_super_or_fail(class_name, name, class_loader, protection_domain, false, CHECK_(nh)); } @@ -1354,7 +1354,7 @@ // For user defined Java class loaders, check that the name returned is // the same as that requested. This check is done for the bootstrap // loader when parsing the class file. - if (class_name == k->name()) { + if (class_name->equals(k->name())) { return k; } } @@ -1388,7 +1388,7 @@ // classloader lock held // Parallel classloaders will call find_or_define_instance_class // which will require a token to perform the define class - Symbol* name_h = k->name(); + Symbol* name_h = k->name(); unsigned int d_hash = dictionary()->compute_hash(name_h, loader_data); int d_index = dictionary()->hash_to_index(d_hash); check_constraints(d_index, d_hash, k, class_loader_h, true, CHECK); @@ -1989,7 +1989,7 @@ #ifdef ASSERT Symbol* ph_check = find_placeholder(name, loader_data); - assert(ph_check == NULL || ph_check == name, "invalid symbol"); + assert(ph_check == NULL || ph_check->equals(name), "invalid symbol"); #endif if (linkage_error == NULL) { @@ -2025,7 +2025,7 @@ TRAPS) { // Compile_lock prevents systemDictionary updates during compilations assert_locked_or_safepoint(Compile_lock); - Symbol* name = k->name(); + Symbol* name = k->name(); ClassLoaderData *loader_data = class_loader_data(class_loader); {