aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonald Carr2016-09-15 11:35:00 -0700
committerDonald Carr2016-09-15 11:35:00 -0700
commit35caf9b64063da3f1c2dd544f63b190b49131bd5 (patch)
tree70ddb269ab1756671f8f06435a478e1e0259623d
parentbe6bb1f81b3c3dde6f8494204a9fa8caa0a19a8c (diff)
downloadaur-35caf9b64063da3f1c2dd544f63b190b49131bd5.tar.gz
Update V4 2 bit freeup patch
Change-Id: Iaecaa649ef15b6ef0da5de45b70ecdf1c448a3e2
-rw-r--r--0001-V4-Free-up-2-address-bits-in-64bit-mode.patch (renamed from 0001-WIP-V4-Free-up-2-address-bits-in-64bit-mode.patch)28
-rw-r--r--PKGBUILD4
2 files changed, 16 insertions, 16 deletions
diff --git a/0001-WIP-V4-Free-up-2-address-bits-in-64bit-mode.patch b/0001-V4-Free-up-2-address-bits-in-64bit-mode.patch
index b186da1844b2..477d44332fb2 100644
--- a/0001-WIP-V4-Free-up-2-address-bits-in-64bit-mode.patch
+++ b/0001-V4-Free-up-2-address-bits-in-64bit-mode.patch
@@ -1,7 +1,7 @@
-From 7268834eddd02930b2cf0ce06316f175d3276b0f Mon Sep 17 00:00:00 2001
+From 681ceebc9625294243613e8737c5c2aac485462f Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@digia.com>
Date: Thu, 1 Sep 2016 15:34:57 +0200
-Subject: [PATCH] WIP: V4: Free up 2 address bits in 64bit mode.
+Subject: [PATCH] V4: Free up 2 address bits in 64bit mode
This allows for the OS to use 49 address bits. It also maps JS Undefined
to the C++ nullptr on 64bit.
@@ -13,8 +13,8 @@ Change-Id: I7cc90620f499be1506a61aac77d72d067308838c
src/qml/jit/qv4assembler_p.h | 5 ++
src/qml/jit/qv4isel_masm.cpp | 85 ++++++++++++++-----
src/qml/jit/qv4isel_masm_p.h | 4 +-
- src/qml/jsruntime/qv4value_p.h | 184 ++++++++++++++++++-----------------------
- 5 files changed, 184 insertions(+), 132 deletions(-)
+ src/qml/jsruntime/qv4value_p.h | 186 ++++++++++++++++++-----------------------
+ 5 files changed, 186 insertions(+), 132 deletions(-)
diff --git a/src/qml/jit/qv4assembler.cpp b/src/qml/jit/qv4assembler.cpp
index 929726f..b7dbc81 100644
@@ -260,7 +260,7 @@ index 6e9b02b..f6d9364 100644
bool visitCJumpNullUndefined(IR::Type nullOrUndef, IR::Binop *binop,
IR::BasicBlock *trueBlock, IR::BasicBlock *falseBlock);
diff --git a/src/qml/jsruntime/qv4value_p.h b/src/qml/jsruntime/qv4value_p.h
-index 5abf5ad..78d535e 100644
+index 5abf5ad..942b6ee 100644
--- a/src/qml/jsruntime/qv4value_p.h
+++ b/src/qml/jsruntime/qv4value_p.h
@@ -70,23 +70,27 @@ private:
@@ -352,7 +352,7 @@ index 5abf5ad..78d535e 100644
}
#ifndef QV4_USE_64_BIT_VALUE_ENCODING
-@@ -166,101 +190,63 @@ public:
+@@ -166,101 +190,65 @@ public:
SilentNaNBit = 0x00040000,
NaN_Mask = 0x7ff80000,
NotDouble_Mask = 0x7ffa0000,
@@ -422,19 +422,21 @@ index 5abf5ad..78d535e 100644
};
-
-
-+#endif
- enum ValueTypeInternal {
+- enum ValueTypeInternal {
- Null_Type_Internal = Null_Type,
- Boolean_Type_Internal = Boolean_Type,
- Integer_Type_Internal = Integer_Type
++ enum {
++ Managed_Type_Internal = 0
+ };
+ #endif
++ enum ValueTypeInternal {
+ Empty_Type_Internal = Immediate_Mask | 0,
+ ConvertibleToInt = Immediate_Mask | 0x10000u, // bit 47
+ Null_Type_Internal = ConvertibleToInt | 0x08000u,
+ Boolean_Type_Internal = ConvertibleToInt | 0x04000u,
+ Integer_Type_Internal = ConvertibleToInt | 0x02000u,
-+ Managed_Type_Internal = 0
- };
--#endif
++ };
- inline unsigned type() const {
- return tag() & Type_Mask;
@@ -483,7 +485,7 @@ index 5abf5ad..78d535e 100644
inline bool integerCompatible() const { return (tag() & ConvertibleToInt) == ConvertibleToInt; }
static inline bool integerCompatible(Value a, Value b) {
return ((a.tag() & b.tag()) & ConvertibleToInt) == ConvertibleToInt;
-@@ -500,14 +486,14 @@ struct Q_QML_PRIVATE_EXPORT Primitive : public Value
+@@ -500,14 +488,14 @@ struct Q_QML_PRIVATE_EXPORT Primitive : public Value
inline Primitive Primitive::undefinedValue()
{
Primitive v;
@@ -500,7 +502,7 @@ index 5abf5ad..78d535e 100644
return v;
}
-@@ -553,31 +539,23 @@ inline Primitive Primitive::fromUInt32(uint i)
+@@ -553,31 +541,23 @@ inline Primitive Primitive::fromUInt32(uint i)
struct Encode {
static ReturnedValue undefined() {
diff --git a/PKGBUILD b/PKGBUILD
index d3d6bc2229e7..a29b89d89247 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -198,10 +198,8 @@ if $_patching; then
cd ${_basedir}
patch -p1 < ${startdir}/0001-Check-lib64-as-well-as-lib.patch
-if [[ "${_piver}" = "3" ]]; then
cd ${_declarativedir}
- patch -p1 < ${startdir}/0001-WIP-V4-Free-up-2-address-bits-in-64bit-mode.patch
-fi
+ patch -p1 < ${startdir}/0001-V4-Free-up-2-address-bits-in-64bit-mode.patch
# Work around our embarresing propensity to stomp on your own tailored build configuration
sed -i "s/O[23]/Os/" ${_basedir}/mkspecs/common/gcc-base.conf || exit 1