src/share/vm/oops/instanceKlass.cpp

changeset 8721
575f637864df
parent 8716
619700f41f8e
child 8856
ac27a9c85bea
child 8982
8f1acbb637e3
child 9285
b955bd18e8fe
     1.1 --- a/src/share/vm/oops/instanceKlass.cpp	Wed Feb 15 17:39:29 2017 +0000
     1.2 +++ b/src/share/vm/oops/instanceKlass.cpp	Fri Feb 24 06:48:48 2017 -0800
     1.3 @@ -3062,7 +3062,7 @@
     1.4    return NULL;
     1.5  }
     1.6  
     1.7 -bool InstanceKlass::add_member_name(Handle mem_name) {
     1.8 +oop InstanceKlass::add_member_name(Handle mem_name, bool intern) {
     1.9    jweak mem_name_wref = JNIHandles::make_weak_global(mem_name);
    1.10    MutexLocker ml(MemberNameTable_lock);
    1.11    DEBUG_ONLY(No_Safepoint_Verifier nsv);
    1.12 @@ -3072,7 +3072,7 @@
    1.13    // is called!
    1.14    Method* method = (Method*)java_lang_invoke_MemberName::vmtarget(mem_name());
    1.15    if (method->is_obsolete()) {
    1.16 -    return false;
    1.17 +    return NULL;
    1.18    } else if (method->is_old()) {
    1.19      // Replace method with redefined version
    1.20      java_lang_invoke_MemberName::set_vmtarget(mem_name(), method_with_idnum(method->method_idnum()));
    1.21 @@ -3081,8 +3081,11 @@
    1.22    if (_member_names == NULL) {
    1.23      _member_names = new (ResourceObj::C_HEAP, mtClass) MemberNameTable(idnum_allocated_count());
    1.24    }
    1.25 -  _member_names->add_member_name(mem_name_wref);
    1.26 -  return true;
    1.27 +  if (intern) {
    1.28 +    return _member_names->find_or_add_member_name(mem_name_wref);
    1.29 +  } else {
    1.30 +    return _member_names->add_member_name(mem_name_wref);
    1.31 +  }
    1.32  }
    1.33  
    1.34  // -----------------------------------------------------------------------------------------------------

mercurial