Avoid deep copy when updating BitmapTextureGL

Since we use a ImageBuffer to paint into a BitmapTextureGL, and
ImageBuffer's always have an active painter, the convertion from QPixmap
to QImage causes a deep copy of the content before it is uploaded to
OpenGL. This copy is unnecessary and can be avoided by temporarily
redirecting the QPaintDevice.

Change-Id: I0106c0f6dfb9cc3fbbee943411fc8f6853df4f98
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Do not crash or assert on SVG font fallbacks

Fonts falling back to SVG fonts may not have a rendering context, so
just skip kerning in this case.

Task-number: QTBUG-38356
Change-Id: I9d1473bbb8517bfae927e7b020a9c2102c6497b4
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
[mips] Fix branchTruncateDoubleToUint32 implementation in macro assembler.

Test dfg-uint32array-overflow-values fails without this patch.

Change-Id: Ia186ab5c3fbc19fd7621f5cc60678b82a6424641
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Prevent register clobbering to fix negative zero check in SoftModulo.

This fix is not relevant for x86 architectures.
Covered by integer-division-neg2tothe32-by-neg1 JavaScript test.

Change-Id: I8ffd1280063305bc98c564f5df57c76cc5b1d7a6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
[mips] Add floating point absolute support in JavaScriptCore.

Change-Id: I8b03fb0380fa444a6da239d8ddb19bdbe6b3d061
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Merge remote-tracking branch 'origin/stable' into 5.3

Change-Id: I09992d60034fccf74c5f754ab88bebe8b8de5e45