Quellcode durchsuchen

LibJS: Avoid unnecessary StringImpl copy in StringOrSymbol(String)

Andreas Kling vor 4 Jahren
Ursprung
Commit
cfd141b4f9
1 geänderte Dateien mit 3 neuen und 1 gelöschten Zeilen
  1. 3 1
      Libraries/LibJS/Runtime/StringOrSymbol.h

+ 3 - 1
Libraries/LibJS/Runtime/StringOrSymbol.h

@@ -51,8 +51,10 @@ public:
     }
 
     StringOrSymbol(const String& string)
-        : m_ptr(StringImpl::create(string.characters(), string.length()).leak_ref())
+        : m_ptr(string.impl())
     {
+        ASSERT(!string.is_null());
+        static_cast<const StringImpl*>(m_ptr)->ref();
     }
 
     ~StringOrSymbol()