LineBreakIteratorPoolICU should use a class or std::pair instead of a String as the hash-key for the pool bug 89235 introduces a somewhat odd system of encoding the loose/strict breaking variant as part of the locale string which is used by the pool as a key. It would be cleaner to have ICU-agnostic logic to parse out the locale and break variant and then pass them around as class instead of encoded in the string. I believe this would require either defining a HashTraits for the new class, or using std::pair<AtomicString, LineBreakIteratorMode> which I believe already has generic HashTraits to do the right thing. :)