ソースを参照

LibJS: Avoid unnecessary StringImpl copy in StringOrSymbol(String)

Andreas Kling 4 年 前
コミット
cfd141b4f9
1 ファイル変更3 行追加1 行削除
  1. 3 1
      Libraries/LibJS/Runtime/StringOrSymbol.h

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

@@ -51,8 +51,10 @@ public:
     }
     }
 
 
     StringOrSymbol(const String& string)
     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()
     ~StringOrSymbol()