@@ -1905,21 +1905,16 @@ extension Parser {
19051905 guard let keyValueBase = keyValueBuffer. baseAddress else {
19061906 return nil
19071907 }
1908- return indices. withUnsafeBufferPointer { indexBuffer in
1909- guard let indexBase = indexBuffer. baseAddress else {
1910- return nil
1908+ var i = 0
1909+ while i < indices. count {
1910+ let keyValueIndex = indices [ i]
1911+ let keyValuePair = keyValueBase. advanced ( by: keyValueIndex) . pointee
1912+ if keyValuePair. keyHash == keyHash, keyValuePair. key == key {
1913+ return keyValueIndex
19111914 }
1912- var i = 0
1913- while i < indexBuffer. count {
1914- let keyValueIndex = indexBase [ i]
1915- let keyValuePair = keyValueBase [ keyValueIndex]
1916- if keyValuePair. keyHash == keyHash, keyValuePair. key == key {
1917- return keyValueIndex
1918- }
1919- i += 1
1920- }
1921- return nil
1915+ i += 1
19221916 }
1917+ return nil
19231918 }
19241919 }
19251920
@@ -1932,21 +1927,16 @@ extension Parser {
19321927 guard let keyArrayBase = keyArrayBuffer. baseAddress else {
19331928 return nil
19341929 }
1935- return indices. withUnsafeBufferPointer { indexBuffer in
1936- guard let indexBase = indexBuffer. baseAddress else {
1937- return nil
1938- }
1939- var i = 0
1940- while i < indexBuffer. count {
1941- let keyArrayIndex = indexBase [ i]
1942- let keyArrayPair = keyArrayBase [ keyArrayIndex]
1943- if keyArrayPair. keyHash == keyHash, keyArrayPair. key == key {
1944- return keyArrayIndex
1945- }
1946- i += 1
1930+ var i = 0
1931+ while i < indices. count {
1932+ let keyArrayIndex = indices [ i]
1933+ let keyArrayPair = keyArrayBase. advanced ( by: keyArrayIndex) . pointee
1934+ if keyArrayPair. keyHash == keyHash, keyArrayPair. key == key {
1935+ return keyArrayIndex
19471936 }
1948- return nil
1937+ i += 1
19491938 }
1939+ return nil
19501940 }
19511941 }
19521942
@@ -1959,21 +1949,16 @@ extension Parser {
19591949 guard let keyTableBase = keyTableBuffer. baseAddress else {
19601950 return nil
19611951 }
1962- return indices. withUnsafeBufferPointer { indexBuffer in
1963- guard let indexBase = indexBuffer. baseAddress else {
1964- return nil
1965- }
1966- var i = 0
1967- while i < indexBuffer. count {
1968- let keyTableIndex = indexBase [ i]
1969- let keyTablePair = keyTableBase [ keyTableIndex]
1970- if keyTablePair. keyHash == keyHash, keyTablePair. key == key {
1971- return keyTableIndex
1972- }
1973- i += 1
1952+ var i = 0
1953+ while i < indices. count {
1954+ let keyTableIndex = indices [ i]
1955+ let keyTablePair = keyTableBase. advanced ( by: keyTableIndex) . pointee
1956+ if keyTablePair. keyHash == keyHash, keyTablePair. key == key {
1957+ return keyTableIndex
19741958 }
1975- return nil
1959+ i += 1
19761960 }
1961+ return nil
19771962 }
19781963 }
19791964
0 commit comments