Loading...
common/PerfectHash.cpp dyld-1066.10 dyld-940
--- dyld/dyld-1066.10/common/PerfectHash.cpp
+++ dyld/dyld-940/common/PerfectHash.cpp
@@ -42,10 +42,8 @@
 
 #include "PerfectHash.h"
 
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS
 #include <dispatch/dispatch.h>
-#include <string>
-#include <vector>
 #endif
 
 namespace objc {
@@ -373,7 +371,7 @@
 // gencode  *final;                          /* output, code for the final hash */
 {
   ub4 loga = log2u(alen);                            /* log based 2 of blen */
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS
   dispatch_apply(keys.count(), DISPATCH_APPLY_AUTO, ^(size_t index) {
     ub4 i = (ub4)index;
     key *mykey = &keys[i];
@@ -784,20 +782,20 @@
     }
 }
 
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
-
-void PerfectHash::make_perfect(const std::vector<ObjCString>& strings, objc::PerfectHash& phash)
+#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS
+
+void PerfectHash::make_perfect(const string_map& strings, objc::PerfectHash& phash)
 {
     dyld3::OverflowSafeArray<key> keys;
 
     /* read in the list of keywords */
     keys.reserve(strings.size());
-
-    for ( const ObjCString& stringAndOffset: strings ) {
-        const std::string_view& str = stringAndOffset.first;
+    size_t i;
+    string_map::const_iterator s;
+    for (i = 0, s = strings.begin(); s != strings.end(); ++s, ++i) {
         key mykey;
-        mykey.name1_k = (ub1 *)str.data();
-        mykey.len1_k  = (ub4)str.size();
+        mykey.name1_k = (ub1 *)s->first;
+        mykey.len1_k  = (ub4)strlen(s->first);
         mykey.name2_k = (ub1 *)nullptr;
         mykey.len2_k  = (ub4)0;
         keys.push_back(mykey);
@@ -816,7 +814,7 @@
     keys.reserve(strings.count());
     for (const char* s : strings) {
         key mykey;
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS
         mykey.name1_k = (ub1 *)s;
         mykey.len1_k  = (ub4)strlen(s);
         mykey.name2_k = (ub1 *)nullptr;