Make JSC::PrivateName copyable
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Sep 2016 02:22:44 +0000 (02:22 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Sep 2016 02:22:44 +0000 (02:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=161666

Reviewed by Ryosuke Niwa.

Define the custom copy constructor to make PrivateName copyable while using Ref<SymbolImpl>.
And since the custom copy constructor deletes the default move constructor, we explcitly define
it by `= default;`.

* runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@205534 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/PrivateName.h

index 170935b..5ff238c 100644 (file)
@@ -1,3 +1,17 @@
+2016-09-06  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Make JSC::PrivateName copyable
+        https://bugs.webkit.org/show_bug.cgi?id=161666
+
+        Reviewed by Ryosuke Niwa.
+
+        Define the custom copy constructor to make PrivateName copyable while using Ref<SymbolImpl>.
+        And since the custom copy constructor deletes the default move constructor, we explcitly define
+        it by `= default;`.
+
+        * runtime/PrivateName.h:
+        (JSC::PrivateName::PrivateName):
+
 2016-09-06  Daniel Bates  <dabates@apple.com>
 
         [iOS] Build fails in JSCLLIntOffsetsExtractor - Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'
index 847545c..a8b257d 100644 (file)
@@ -48,6 +48,13 @@ public:
     {
     }
 
+    PrivateName(const PrivateName& privateName)
+        : m_uid(privateName.m_uid.copyRef())
+    {
+    }
+
+    PrivateName(PrivateName&&) = default;
+
     SymbolImpl& uid() const { return const_cast<SymbolImpl&>(m_uid.get()); }
 
     bool operator==(const PrivateName& other) const { return &uid() == &other.uid(); }