--- old/src/hotspot/share/oops/symbol.cpp 2020-07-08 11:40:14.582493381 -0700 +++ new/src/hotspot/share/oops/symbol.cpp 2020-07-08 11:40:14.290482389 -0700 @@ -52,9 +52,7 @@ _hash_and_refcount = pack_hash_and_refcount((short)os::random(), refcount); _length = length; _body[0] = 0; // in case length == 0 - for (int i = 0; i < length; i++) { - byte_at_put(i, name[i]); - } + memcpy(_body, name, length); } void* Symbol::operator new(size_t sz, int len) throw() { --- old/src/hotspot/share/oops/symbol.hpp 2020-07-08 11:40:15.690535090 -0700 +++ new/src/hotspot/share/oops/symbol.hpp 2020-07-08 11:40:15.410524550 -0700 @@ -125,11 +125,6 @@ return (int)heap_word_size(byte_size(length)); } - void byte_at_put(int index, u1 value) { - assert(index >=0 && index < length(), "symbol index overflow"); - _body[index] = value; - } - Symbol(const u1* name, int length, int refcount); void* operator new(size_t size, int len) throw(); void* operator new(size_t size, int len, Arena* arena) throw();