From a368e603451cd3c3d44776ff47351a1d93cb546b Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 27 May 2022 22:00:01 +0200 Subject: QJSEngine: optimize isInterrupted handling The isInterrupted flag is just that: a flag, so it doesn't require acquire/release semantics when loading/storing. Use relaxed loads and stores instead. Change-Id: I6d733a6bebcfc7f2b786265fc28f9ba7e25bb1c7 Reviewed-by: Fabian Kosmale Reviewed-by: Ulf Hermann --- src/qml/jsapi/qjsengine.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/qml/jsapi/qjsengine.cpp') diff --git a/src/qml/jsapi/qjsengine.cpp b/src/qml/jsapi/qjsengine.cpp index f66488e04c..7e52dc2e4d 100644 --- a/src/qml/jsapi/qjsengine.cpp +++ b/src/qml/jsapi/qjsengine.cpp @@ -478,7 +478,7 @@ void QJSEngine::installExtensions(QJSEngine::Extensions extensions, const QJSVal */ void QJSEngine::setInterrupted(bool interrupted) { - m_v4Engine->isInterrupted = interrupted; + m_v4Engine->isInterrupted.storeRelaxed(interrupted); } /*! @@ -489,7 +489,7 @@ void QJSEngine::setInterrupted(bool interrupted) */ bool QJSEngine::isInterrupted() const { - return m_v4Engine->isInterrupted.loadAcquire(); + return m_v4Engine->isInterrupted.loadRelaxed(); } static QUrl urlForFileName(const QString &fileName) @@ -571,7 +571,7 @@ QJSValue QJSEngine::evaluate(const QString& program, const QString& fileName, in ); } } - if (v4->isInterrupted.loadAcquire()) + if (v4->isInterrupted.loadRelaxed()) result = v4->newErrorObject(QStringLiteral("Interrupted")); return QJSValuePrivate::fromReturnedValue(result->asReturnedValue()); @@ -611,7 +611,7 @@ QJSValue QJSEngine::importModule(const QString &fileName) if (m_v4Engine->hasException) return QJSValuePrivate::fromReturnedValue(m_v4Engine->catchException()); moduleUnit->evaluate(); - if (!m_v4Engine->isInterrupted.loadAcquire()) + if (!m_v4Engine->isInterrupted.loadRelaxed()) return QJSValuePrivate::fromReturnedValue(moduleNamespace->asReturnedValue()); return QJSValuePrivate::fromReturnedValue( -- cgit v1.2.3