     _sanityCheck(core._owner != nil || core._baseAddress != nil,
       "invalid StringCore")
 
-    // Check if we must reset the text
-    if tlsPtr[0].associatedStringOwner !== core._owner
-    || tlsPtr[0].associatedBaseAddress != core._baseAddress
-    || tlsPtr[0].associatedCountAndFlags != core._countAndFlags
-    {
-      // cache miss
-      var err = __swift_stdlib_U_ZERO_ERROR
-      let corePtr: UnsafeMutablePointer<UTF16.CodeUnit>
-      corePtr = core.startUTF16
-      __swift_stdlib_ubrk_setText(brkIter, corePtr, Int32(core.count), &err)
-      _precondition(err.isSuccess, "unexpected ubrk_setUText failure")
-      tlsPtr[0].associatedStringOwner = core._owner
-      tlsPtr[0].associatedBaseAddress = core._baseAddress
-      tlsPtr[0].associatedCountAndFlags = core._countAndFlags
-    }
+    var err = __swift_stdlib_U_ZERO_ERROR
+    let corePtr: UnsafeMutablePointer<UTF16.CodeUnit>
+    corePtr = core.startUTF16
+    __swift_stdlib_ubrk_setText(brkIter, corePtr, Int32(core.count), &err)
+    _precondition(err.isSuccess, "unexpected ubrk_setUText failure")
 
     return brkIter
   }

    "_destroyTLS was called, but with nil...")
  let tlsPtr = ptr!.assumingMemoryBound(to: _ThreadLocalStorage.self)
  __swift_stdlib_ubrk_close(tlsPtr[0].uBreakIterator)
  tlsPtr[0].associatedStringOwner = nil
  tlsPtr[0].associatedBaseAddress = nil
  tlsPtr.deinitialize(count: 1)
  tlsPtr.deallocate(capacity: 1)


  // compare unequal if a new StringCore happens to be created in the same
  // memory.
  //
  // TODO: unowned reference to string owner, base address, and _countAndFlags

  // private: Should only be called by _initializeThreadLocalStorage
  init(_uBreakIterator: OpaquePointer) {
