equal
deleted
inserted
replaced
485 int len = (int)strlen(name); |
485 int len = (int)strlen(name); |
486 Symbol* sym = SymbolTable::lookup_only(name, len, hash); |
486 Symbol* sym = SymbolTable::lookup_only(name, len, hash); |
487 if (sym == NULL) { |
487 if (sym == NULL) { |
488 sym = SymbolTable::the_table()->do_add_if_needed(name, len, hash, false, CHECK_NULL); |
488 sym = SymbolTable::the_table()->do_add_if_needed(name, len, hash, false, CHECK_NULL); |
489 } |
489 } |
490 if (sym->refcount() != PERM_REFCOUNT) { |
490 if (!sym->is_permanent()) { |
491 sym->increment_refcount(); |
491 sym->make_permanent(); |
492 log_trace_symboltable_helper(sym, "Asked for a permanent symbol, but got a regular one"); |
492 log_trace_symboltable_helper(sym, "Asked for a permanent symbol, but got a regular one"); |
493 } |
493 } |
494 return sym; |
494 return sym; |
495 } |
495 } |
496 |
496 |