| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
This is a different technique of aligning. Instead of reading some
bytes before the string, we will read some bytes of the string twice.
Best results are only 2% improvement over the unaligned SSE2 on a
Core-i7.
|
|
|
|
|
| |
First results make it 34% faster than current ucstrncmp, 16% faster than
the 32-bit version.
|
| |
|
|
|
|
|
| |
This speeds up the writing of algorithms, so I don't have to recompile
megabytes of data dumps.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes no code change at all.
Write down the conclusions from experimenting with the x86 SIMD
instructions for faster string comparison routines. Long story short:
we're already pretty good.
The SSE4.2 string instructions are probably more useful for
"implicit-length mode" (that is, the end of the string is marked by a
NUL), rather than QString's "explicit-length mode".
|
|
|
|
|
|
| |
Also use the real-world data that I collected. The resulting files are
quite large, so I've added to Git only the smallest dump (apparently
Teambuilder scanning the environment for "TEAMBUILDER=").
|
| |
|
| |
|
|
|
|
|
| |
It's currently slightly worse than SSE2 with prolog aligning
(i.e., it's no good)
|
|
|
|
|
|
|
|
|
| |
Instead of using a non-SIMD method for aligning, we instead load more bytes
from p1 and use the PALIGNR instruction to realign to what we want.
The result is that it's bit slower than the non-SIMD comparison, due to the
complexity. For strings over 8 QChars wide, it's only slightly worse than
the non-SIMD comparison.
|
|
|
|
|
|
|
| |
The prolog tries to align p1 to a multiple of 16, so as to run
aligned loads, which are faster. Unfortunately, my tests so far
indicate that the prolog ends up taking longer than the benefit
of having aligned loads.
|
|
|
|
|
| |
This function uses unaligned loads. I'll try to write one with
aligned loads later.
|
|
|
|
| |
This is a copy of qMemEquals from qstring.cpp
|
| |
|
| |
|
|
|
|
| |
Reviewed-By: Benjamin Poulain
|
|
|
|
|
|
|
|
|
| |
Otherwise, we actually get compilation errors because configure detected
that the compiler supports this, so QT_HAVE_SSSE3 is defined, but
we then compile qimage_ssse3.cpp without -mssse3
(Among others)
Reviewed-By: Benjamin Poulain
|
|
|
|
|
|
|
|
|
|
|
| |
Some compilers are compatible with one another. In particular, the
Intel CC on Unix systems is compatible with g++ on the same system.
We should be saving the ABI "name" in the build key, not the compiler
name, but it's too late for that. Choose "g++-{VERSION}" as the
standard ABI name and make ICC support that.
Reviewed-by: Bradley T. Hughes
|
|
|
|
|
| |
Task-number: QTBUG-12608, QTBUG-12243
Reviewed-by: Markus Goetz
|
|
|
|
|
| |
Task-number: QTBUG-13081
Reviewed-by: Martin Petersson
|
|
|
|
|
| |
Task-number: QTBUG-13080
Reviewed-by: Martin Petersson
|
|
|
|
|
|
|
| |
Defer initialisation and changing thread affinity until after the
global static is constructed.
Task-number: QTBUG-12686
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
fix build after first webkit self-injection attempt
Fixed touch event delivery in QGraphicsView.
let WebKit inject itself into the qt configuration
add indirect input/output specification capability to QMAKE_SUBSTITUTES
Add test that exercises lupdate warnings for QtScript
Make qsTrId() / QT_TRID_NOOP() accessible from QtScript
Make lupdate's QtScript frontend recognize qsTrId() / QT_TRID_NOOP()
Add support for comments and meta-data in the lupdate QtScript frontend
Streamline lupdate's QtScript frontend's error messaging
Doc: linking up orphant files
Doc: Updating menu links
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
it didn't work for several reasons:
- if the configures don't add webkit to QT_CONFIG, src.pro doesn't even
know that it needs to build WebKit at all, so WebKit would never
inject itself into the build. hen-and-egg problem.
- the in-Qt build doesn't use WebKit.pro in the first place, so a proper
recursive qmake would never create qt_webkit_version.pri. it worked
under unix because configure collects all project files irrespective
of the actual SUBDIRS structure.
- a proper recursive qmake will cache the qt config, so the injection
wouldn't be effective during the first qmake run
so instead let the configures copy the pri file.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Fixed touch event delivery in QGraphicsView.
let WebKit inject itself into the qt configuration
add indirect input/output specification capability to QMAKE_SUBSTITUTES
Add test that exercises lupdate warnings for QtScript
Make qsTrId() / QT_TRID_NOOP() accessible from QtScript
Make lupdate's QtScript frontend recognize qsTrId() / QT_TRID_NOOP()
Add support for comments and meta-data in the lupdate QtScript frontend
Streamline lupdate's QtScript frontend's error messaging
Doc: linking up orphant files
Doc: Updating menu links
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Fixed touch event delivery in QGraphicsView.
let WebKit inject itself into the qt configuration
add indirect input/output specification capability to QMAKE_SUBSTITUTES
Add test that exercises lupdate warnings for QtScript
Make qsTrId() / QT_TRID_NOOP() accessible from QtScript
Make lupdate's QtScript frontend recognize qsTrId() / QT_TRID_NOOP()
Add support for comments and meta-data in the lupdate QtScript frontend
Streamline lupdate's QtScript frontend's error messaging
Doc: linking up orphant files
Doc: Updating menu links
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a touch event with a second touch pressed is delivered inside
graphicsview, we should combine it with the closest touch point even if the
item under the second touch is not direct ancestor or child of the first
touches' target item.
So adding a second touch inside the item's bounding rect will send a
TouchUpdate event to the item instead or starting a new touch event sequence.
Task-number: QT-3795
Reviewed-by: Bradley T. Hughes
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
i.e., don't explicitly deal with qt_webkit_version.pri outside of the
webkit source directory.
Task-number: QTBUG-12379
Reviewed-by: Simon Hausmann
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
like in SUBDIRS, the specified strings can now be basenames of
"structures" which specify the actual input and output files:
QMAKE_SUBSTITUTES += test
test.input = infile.txt.in
test.output = foobar.out
Reviewed-by: joerg
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Oswald Buddenhagen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QScriptEngine::installTranslatorFunctions() now installs
wrapper functions for qsTrId and QT_TRID_NOOP (similar to
the existing ones for tr() and translate()).
Task-number: QTBUG-8454
Reviewed-by: Jedrzej Nowacki
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Extracting the translation data is only the first step;
a separate commit will make the functions available in the
QtScript runtime.
Task-number: QTBUG-8454
Reviewed-by: Oswald Buddenhagen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This brings the support more in line with the C++ frontend.
No support for magic TRANSLATOR comment yet.
Add a proper test for the QtScript parser.
Support for qtTrId() and friends coming in a separate commit.
Previously the lexer just skipped comments. Now the contents
of each comment is retained and passed to a "comment processor"
interface. The parser implements the interface and performs
logic very similar to the C++ parser to extract data from
the comment.
Task-number: QTBUG-11774
Reviewed-by: Oswald Buddenhagen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Like the C++ parser, use a yyMsg() function.
Make the lexer a member of the parser, so yyMsg() can access
the filename and current line number.
This refactoring is done in preparation of two changes that
introduce quite a few more potential error message calls
(comment processing and qtTrId support).
Reviewed-by: Oswald Buddenhagen
|
| | | |\ |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml:
Fix PathView when setting an empty model that is later filled.
QDeclarativeVisualItemModel code cleanup.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Task-number: QTBUG-13017
Reviewed-by: Martin Jones
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove unused function. Set abstract item model to 0 after disconnecting,
in line with the other model types.
Reviewed-by: Martin Jones
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Doc: QtConcurrent::run. Make sure the example actually compiles
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QString::split has overload, and if you want to take the address of a
function with overload, you need to cast it. If we really wanted to use
QString::split, we would have to do
QFuture<QStringList> future = QtConcurrent::run(string, static_cast<QStringList (QString::*)(const QString &, QString::SplitBehavior, Qt::CaseSensitivity ) const>(&QString::split), QString (", "), QString::KeepEmptyParts, Qt::CaseSensitive);
So use QByteArray::split as an example instead
Task-number: QTBUG-12897
Reviewed-by: David Boddie
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
On Symbian QGLWidget::glDraw() must do nothing if widget isn't visible.
QWidget metadata has not been set up yet in QWidgetPrivate::init.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise application crashes because rendering to invisible window
surface will panic eventually.
Reviewed-by: Trond
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
q->inherits("QGLWidget") gives incorrect result,
so use QWidgetPrivate::isGLWidget variable instead.
Reviewed-by: Jason Barron
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Doc: update the documentation of NOTIFY signal to reflect reality
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Thorbjorn
|
|\ \ \ \ \
| |_|/ / /
|/| | | /
| | |_|/
| |/| |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Doc: changing template menus to better reflect links from the index page.
|