OSDN Git Service

Replace all QBasicAtomicInt ref variables by QSharedData inheritance
authorIvailo Monev <xakepa10@gmail.com>
Sun, 13 Dec 2015 12:30:52 +0000 (14:30 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Sun, 13 Dec 2015 12:30:52 +0000 (14:30 +0200)
upstream commit 9a85b921ac457c68cee0c89b8ad11433b1e92d07

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/script/api/qscriptcontextinfo.cpp
src/script/api/qscriptengine.cpp
src/script/api/qscriptprogram_p.h
src/script/api/qscriptstring_p.h
src/script/api/qscriptvalue_p.h
src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata.cpp
src/scripttools/debugging/qscriptdebuggervalue.cpp
src/scripttools/debugging/qscriptdebuggervalueproperty.cpp
src/scripttools/debugging/qscriptscriptdata.cpp
src/scripttools/debugging/qscriptvalueproperty.cpp

index 77b6d16..d909cec 100644 (file)
@@ -30,6 +30,7 @@
 #include "../bridge/qscriptqobject_p.h"
 #include <QtCore/qdatastream.h>
 #include <QtCore/qmetaobject.h>
+#include <QtCore/qshareddata.h>
 #include "CodeBlock.h"
 #include "JSFunction.h"
 #if ENABLE(JIT)
@@ -81,7 +82,7 @@ QT_BEGIN_NAMESPACE
     \value NativeFunction The function is a built-in Qt Script function, or it was defined through a call to QScriptEngine::newFunction().
 */
 
-class QScriptContextInfoPrivate
+class QScriptContextInfoPrivate : public QSharedData
 {
     Q_DECLARE_PUBLIC(QScriptContextInfo)
 public:
@@ -103,8 +104,6 @@ public:
 
     QStringList parameterNames;
 
-    QBasicAtomicInt ref;
-
     QScriptContextInfo *q_ptr;
 };
 
index 677ee84..88dcd0c 100644 (file)
@@ -38,6 +38,7 @@
 #include "qdebug.h"
 
 #include <QtCore/qstringlist.h>
+#include <QtCore/qshareddata.h>
 #include <QtCore/qmetaobject.h>
 
 #include <math.h>
@@ -326,17 +327,16 @@ QT_BEGIN_NAMESPACE
     \value SkipMethodsInEnumeration Don't include methods (signals and slots) when enumerating the object's properties.
 */
 
-class QScriptSyntaxCheckResultPrivate
+class QScriptSyntaxCheckResultPrivate : public QSharedData
 {
 public:
-    QScriptSyntaxCheckResultPrivate() { ref = 0; }
+    QScriptSyntaxCheckResultPrivate() { }
     ~QScriptSyntaxCheckResultPrivate() {}
 
     QScriptSyntaxCheckResult::State state;
     int errorColumnNumber;
     int errorLineNumber;
     QString errorMessage;
-    QBasicAtomicInt ref;
 };
 
 class QScriptTypeInfo
index 9602a31..50b3cca 100644 (file)
@@ -36,6 +36,7 @@
 //
 
 #include <QtCore/qobjectdefs.h>
+#include <QtCore/qshareddata.h>
 
 #include "RefPtr.h"
 
@@ -49,7 +50,7 @@ QT_BEGIN_NAMESPACE
 
 class QScriptEnginePrivate;
 
-class QScriptProgramPrivate
+class QScriptProgramPrivate : public QSharedData
 {
 public:
     QScriptProgramPrivate(const QString &sourceCode,
@@ -63,8 +64,6 @@ public:
                                     QScriptEnginePrivate *engine);
     void detachFromEngine();
 
-    QBasicAtomicInt ref;
-
     QString sourceCode;
     QString fileName;
     int firstLineNumber;
index ed68a46..328ae40 100644 (file)
 //
 
 #include <QtCore/qobjectdefs.h>
+#include <QtCore/qshareddata.h>
 
 #include "Identifier.h"
 
 QT_BEGIN_NAMESPACE
 
 class QScriptEnginePrivate;
-class QScriptStringPrivate
+class QScriptStringPrivate : public QSharedData
 {
 public:
     enum AllocationType {
@@ -61,7 +62,6 @@ public:
 
     static inline bool isValid(const QScriptString &q);
 
-    QBasicAtomicInt ref;
     QScriptEnginePrivate *engine;
     JSC::Identifier identifier;
     AllocationType type;
@@ -75,7 +75,6 @@ inline QScriptStringPrivate::QScriptStringPrivate(QScriptEnginePrivate *e, const
                                                   AllocationType tp)
     : engine(e), identifier(id), type(tp), prev(0), next(0)
 {
-    ref = 0;
 }
 
 inline QScriptStringPrivate::~QScriptStringPrivate()
index dc4e314..81cecff 100644 (file)
@@ -36,6 +36,7 @@
 //
 
 #include <QtCore/qobjectdefs.h>
+#include <QtCore/qshareddata.h>
 
 #include "wtf/Platform.h"
 #include "JSValue.h"
@@ -46,7 +47,7 @@ class QString;
 class QScriptEnginePrivate;
 
 class QScriptValue;
-class QScriptValuePrivate
+class QScriptValuePrivate : public QSharedData
 {
     Q_DISABLE_COPY(QScriptValuePrivate)
 public:
@@ -118,14 +119,11 @@ public:
     // linked list of engine's script values
     QScriptValuePrivate *prev;
     QScriptValuePrivate *next;
-
-    QBasicAtomicInt ref;
 };
 
 inline QScriptValuePrivate::QScriptValuePrivate(QScriptEnginePrivate *e)
     : engine(e), prev(0), next(0)
 {
-    ref = 0;
 }
 
 inline bool QScriptValuePrivate::isJSC() const
index 7926dba..c6c2422 100644 (file)
@@ -42,6 +42,7 @@
 #include "qscriptdebuggerconsolecommandgroupdata_p.h"
 
 #include <QtCore/qstring.h>
+#include <QtCore/qshareddata.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -53,7 +54,7 @@ QT_BEGIN_NAMESPACE
   \brief The QScriptDebuggerConsoleCommandGroupData class holds data associated with a console command group.
 */
 
-class QScriptDebuggerConsoleCommandGroupDataPrivate
+class QScriptDebuggerConsoleCommandGroupDataPrivate : public QSharedData
 {
 public:
     QScriptDebuggerConsoleCommandGroupDataPrivate();
@@ -61,13 +62,10 @@ public:
 
     QString shortDescription;
     QString longDescription;
-
-    QBasicAtomicInt ref;
 };
 
 QScriptDebuggerConsoleCommandGroupDataPrivate::QScriptDebuggerConsoleCommandGroupDataPrivate()
 {
-    ref = 0;
 }
 
 QScriptDebuggerConsoleCommandGroupDataPrivate::~QScriptDebuggerConsoleCommandGroupDataPrivate()
index fdf179d..6692705 100644 (file)
@@ -45,6 +45,7 @@
 #include <QtScript/qscriptengine.h>
 #include <QtCore/qdatastream.h>
 #include <QtCore/qdebug.h>
+#include <QtCore/qshareddata.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -56,7 +57,7 @@ QT_BEGIN_NAMESPACE
   \brief The QScriptDebuggerValue class represents a script value.
 */
 
-class QScriptDebuggerValuePrivate
+class QScriptDebuggerValuePrivate : public QSharedData
 {
 public:
     QScriptDebuggerValuePrivate();
@@ -69,14 +70,11 @@ public:
         double numberValue;
         qint64 objectId;
     };
-
-    QBasicAtomicInt ref;
 };
 
 QScriptDebuggerValuePrivate::QScriptDebuggerValuePrivate()
     : type(QScriptDebuggerValue::NoValue)
 {
-    ref = 0;
 }
 
 QScriptDebuggerValuePrivate::~QScriptDebuggerValuePrivate()
index ab3c433..081265f 100644 (file)
@@ -43,7 +43,7 @@
 #include "qscriptdebuggervalue_p.h"
 #include "qscriptdebuggerobjectsnapshotdelta_p.h"
 
-#include <QtCore/qatomic.h>
+#include <QtCore/qshareddata.h>
 #include <QtCore/qdatastream.h>
 #include <QtCore/qstring.h>
 
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
   \class QScriptDebuggerValueProperty
 */
 
-class QScriptDebuggerValuePropertyPrivate
+class QScriptDebuggerValuePropertyPrivate : public QSharedData
 {
 public:
     QScriptDebuggerValuePropertyPrivate();
@@ -64,13 +64,10 @@ public:
     QScriptDebuggerValue value;
     QString valueAsString;
     QScriptValue::PropertyFlags flags;
-
-    QBasicAtomicInt ref;
 };
 
 QScriptDebuggerValuePropertyPrivate::QScriptDebuggerValuePropertyPrivate()
 {
-    ref = 0;
 }
 
 QScriptDebuggerValuePropertyPrivate::~QScriptDebuggerValuePropertyPrivate()
index bbdb36d..2c39bf2 100644 (file)
@@ -44,6 +44,7 @@
 #include <QtCore/qdatastream.h>
 #include <QtCore/qstring.h>
 #include <QtCore/qstringlist.h>
+#include <QtCore/qshareddata.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -55,7 +56,7 @@ QT_BEGIN_NAMESPACE
   \brief The QScriptScriptData class holds data associated with a script.
 */
 
-class QScriptScriptDataPrivate
+class QScriptScriptDataPrivate : public QSharedData
 {
 public:
     QScriptScriptDataPrivate();
@@ -65,13 +66,10 @@ public:
     QString fileName;
     int baseLineNumber;
     QDateTime timeStamp;
-
-    QBasicAtomicInt ref;
 };
 
 QScriptScriptDataPrivate::QScriptScriptDataPrivate()
 {
-    ref = 0;
 }
 
 QScriptScriptDataPrivate::~QScriptScriptDataPrivate()
index bde6d3b..b3b9ac1 100644 (file)
 
 #include "qscriptvalueproperty_p.h"
 
-#include <QtCore/qatomic.h>
+#include <QtCore/qshareddata.h>
 #include <QtCore/qstring.h>
 
 QT_BEGIN_NAMESPACE
 
-class QScriptValuePropertyPrivate
+class QScriptValuePropertyPrivate : public QSharedData
 {
 public:
     QScriptValuePropertyPrivate();
@@ -55,13 +55,10 @@ public:
     QString name;
     QScriptValue value;
     QScriptValue::PropertyFlags flags;
-
-    QBasicAtomicInt ref;
 };
 
 QScriptValuePropertyPrivate::QScriptValuePropertyPrivate()
 {
-    ref = 0;
 }
 
 QScriptValuePropertyPrivate::~QScriptValuePropertyPrivate()