]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/PropertyNameArray.cpp
JavaScriptCore-7600.1.4.11.8.tar.gz
[apple/javascriptcore.git] / runtime / PropertyNameArray.cpp
index 5108272fd398152024933b2281e2562074808781..a8f64ea6582d0a89e1cb2963f17220f80b4ffafc 100644 (file)
@@ -21,6 +21,8 @@
 #include "config.h"
 #include "PropertyNameArray.h"
 
+#include "JSCInlines.h"
+#include "JSObject.h"
 #include "Structure.h"
 #include "StructureChain.h"
 
@@ -28,22 +30,22 @@ namespace JSC {
 
 static const size_t setThreshold = 20;
 
-void PropertyNameArray::add(UString::Rep* identifier)
+void PropertyNameArray::add(StringImpl* identifier)
 {
-    ASSERT(identifier == &UString::Rep::null() || identifier == &UString::Rep::empty() || identifier->isIdentifier());
+    ASSERT(!identifier || identifier == StringImpl::empty() || identifier->isAtomic());
 
     size_t size = m_data->propertyNameVector().size();
     if (size < setThreshold) {
         for (size_t i = 0; i < size; ++i) {
-            if (identifier == m_data->propertyNameVector()[i].ustring().rep())
+            if (identifier == m_data->propertyNameVector()[i].impl())
                 return;
         }
     } else {
         if (m_set.isEmpty()) {
             for (size_t i = 0; i < size; ++i)
-                m_set.add(m_data->propertyNameVector()[i].ustring().rep());
+                m_set.add(m_data->propertyNameVector()[i].impl());
         }
-        if (!m_set.add(identifier).second)
+        if (!m_set.add(identifier).isNewEntry)
             return;
     }