src/share/vm/classfile/dictionary.cpp

changeset 1862
cd5dbf694d45
parent 1145
e5b0439ef4ae
child 1868
df736661d0c8
     1.1 --- a/src/share/vm/classfile/dictionary.cpp	Fri Apr 30 08:37:24 2010 -0700
     1.2 +++ b/src/share/vm/classfile/dictionary.cpp	Sat May 01 02:42:18 2010 -0700
     1.3 @@ -561,10 +561,11 @@
     1.4  
     1.5  
     1.6  SymbolPropertyEntry* SymbolPropertyTable::find_entry(int index, unsigned int hash,
     1.7 -                                                     symbolHandle sym) {
     1.8 -  assert(index == index_for(sym), "incorrect index?");
     1.9 +                                                     symbolHandle sym,
    1.10 +                                                     intptr_t sym_mode) {
    1.11 +  assert(index == index_for(sym, sym_mode), "incorrect index?");
    1.12    for (SymbolPropertyEntry* p = bucket(index); p != NULL; p = p->next()) {
    1.13 -    if (p->hash() == hash && p->symbol() == sym()) {
    1.14 +    if (p->hash() == hash && p->symbol() == sym() && p->symbol_mode() == sym_mode) {
    1.15        return p;
    1.16      }
    1.17    }
    1.18 @@ -573,12 +574,12 @@
    1.19  
    1.20  
    1.21  SymbolPropertyEntry* SymbolPropertyTable::add_entry(int index, unsigned int hash,
    1.22 -                                                    symbolHandle sym) {
    1.23 +                                                    symbolHandle sym, intptr_t sym_mode) {
    1.24    assert_locked_or_safepoint(SystemDictionary_lock);
    1.25 -  assert(index == index_for(sym), "incorrect index?");
    1.26 -  assert(find_entry(index, hash, sym) == NULL, "no double entry");
    1.27 +  assert(index == index_for(sym, sym_mode), "incorrect index?");
    1.28 +  assert(find_entry(index, hash, sym, sym_mode) == NULL, "no double entry");
    1.29  
    1.30 -  SymbolPropertyEntry* p = new_entry(hash, sym());
    1.31 +  SymbolPropertyEntry* p = new_entry(hash, sym(), sym_mode);
    1.32    Hashtable::add_entry(index, p);
    1.33    return p;
    1.34  }

mercurial