diff -r 2ab55d39fb5b -r 829bf950287e src/hotspot/share/classfile/symbolTable.cpp --- a/src/hotspot/share/classfile/symbolTable.cpp Wed Mar 13 22:05:09 2019 -0700 +++ b/src/hotspot/share/classfile/symbolTable.cpp Thu Mar 14 18:56:25 2019 +0100 @@ -487,8 +487,8 @@ if (sym == NULL) { sym = SymbolTable::the_table()->do_add_if_needed(name, len, hash, false, CHECK_NULL); } - if (sym->refcount() != PERM_REFCOUNT) { - sym->increment_refcount(); + if (!sym->is_permanent()) { + sym->make_permanent(); log_trace_symboltable_helper(sym, "Asked for a permanent symbol, but got a regular one"); } return sym;