diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-01-22 09:33:11 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-02-14 08:13:38 +0000 |
commit | db569428c62751aba1aebea658f8cbe3297b16d4 (patch) | |
tree | 670d993f73f82b061ba97cfc20bb8e197b86f8c2 /src/corelib/tools | |
parent | 9a34fed72808b0bd19c3c287099bbc27fe66cc9a (diff) |
QDateTimePrivate: enable read caching on m_status in setDateTime()
Help the compiler by building the new status flags in a local
instead of a member variable. Enables value tracking for that
piece of data across several non-inline function calls, leading
to less redundant reads through this->.
Effects on Linux GCC 4.9 stripped release builds:
text -248B
data +-0B
relocs +-0
Change-Id: I2db21439464ad0fff8163a908de3b15df7c4ab6d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'src/corelib/tools')
-rw-r--r-- | src/corelib/tools/qdatetime.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index ef3b4a3612..aa37f8c9da 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -2682,29 +2682,29 @@ void QDateTimePrivate::setDateTime(const QDate &date, const QTime &time) if (!useTime.isValid() && date.isValid()) useTime = QTime::fromMSecsSinceStartOfDay(0); - // Reset the status - m_status = 0; + StatusFlags newStatus; // Set date value and status qint64 days = 0; if (date.isValid()) { days = date.toJulianDay() - JULIAN_DAY_FOR_EPOCH; - m_status = ValidDate; + newStatus = ValidDate; } else if (date.isNull()) { - m_status = NullDate; + newStatus = NullDate; } // Set time value and status int ds = 0; if (useTime.isValid()) { ds = useTime.msecsSinceStartOfDay(); - m_status = m_status | ValidTime; + newStatus |= ValidTime; } else if (time.isNull()) { - m_status = m_status | NullTime; + newStatus |= NullTime; } // Set msecs serial value m_msecs = (days * MSECS_PER_DAY) + ds; + m_status = newStatus; // Set if date and time are valid checkValidDateTime(); |