add missing function Double2Ints() on ppc, backport
This commit is contained in:
parent
38733a1e38
commit
10c1a5330b
70
qtwebkit-23-LLInt-C-Loop-backend-ppc.patch
Normal file
70
qtwebkit-23-LLInt-C-Loop-backend-ppc.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
diff -up webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.me webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
|
||||||
|
--- webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.me 2013-03-05 11:04:22.310433797 -0500
|
||||||
|
+++ webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm 2013-03-05 11:06:38.090812599 -0500
|
||||||
|
@@ -1708,7 +1708,7 @@ _llint_op_next_pname:
|
||||||
|
loadi 20[PC], t2
|
||||||
|
loadi PayloadOffset[cfr, t2, 8], t2
|
||||||
|
loadp JSPropertyNameIterator::m_jsStrings[t2], t3
|
||||||
|
- loadi [t3, t0, 8], t3
|
||||||
|
+ loadi PayloadOffset[t3, t0, 8], t3
|
||||||
|
addi 1, t0
|
||||||
|
storei t0, PayloadOffset[cfr, t1, 8]
|
||||||
|
loadi 4[PC], t1
|
||||||
|
diff -up webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.me webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||||
|
--- webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.me 2013-03-05 11:06:49.860844108 -0500
|
||||||
|
+++ webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.asm 2013-03-05 11:08:11.801073003 -0500
|
||||||
|
@@ -267,13 +267,13 @@ macro assertNotConstant(index)
|
||||||
|
end
|
||||||
|
|
||||||
|
macro functionForCallCodeBlockGetter(targetRegister)
|
||||||
|
- loadp Callee[cfr], targetRegister
|
||||||
|
+ loadp Callee + PayloadOffset[cfr], targetRegister
|
||||||
|
loadp JSFunction::m_executable[targetRegister], targetRegister
|
||||||
|
loadp FunctionExecutable::m_codeBlockForCall[targetRegister], targetRegister
|
||||||
|
end
|
||||||
|
|
||||||
|
macro functionForConstructCodeBlockGetter(targetRegister)
|
||||||
|
- loadp Callee[cfr], targetRegister
|
||||||
|
+ loadp Callee + PayloadOffset[cfr], targetRegister
|
||||||
|
loadp JSFunction::m_executable[targetRegister], targetRegister
|
||||||
|
loadp FunctionExecutable::m_codeBlockForConstruct[targetRegister], targetRegister
|
||||||
|
end
|
||||||
|
@@ -845,7 +845,7 @@ macro interpretResolveWithBase(opcodeLen
|
||||||
|
getResolveOperation(4, t0, t1)
|
||||||
|
btpz t0, .slowPath
|
||||||
|
|
||||||
|
- loadp ScopeChain[cfr], t3
|
||||||
|
+ loadp ScopeChain + PayloadOffset[cfr], t3
|
||||||
|
# Get the base
|
||||||
|
loadis ResolveOperation::m_operation[t0], t2
|
||||||
|
|
||||||
|
diff -up webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.me webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
|
||||||
|
--- webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.me 2013-03-05 09:52:14.957967552 -0500
|
||||||
|
+++ webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 2013-03-05 11:09:32.411298487 -0500
|
||||||
|
@@ -33,6 +33,7 @@
|
||||||
|
|
||||||
|
#if ENABLE(LLINT_C_LOOP)
|
||||||
|
#include "CodeBlock.h"
|
||||||
|
+#include "JSValueInlines.h"
|
||||||
|
#include "LLIntCLoop.h"
|
||||||
|
#include "LLIntSlowPaths.h"
|
||||||
|
#include "VMInspector.h"
|
||||||
|
@@ -116,6 +117,18 @@ static double Ints2Double(uint32_t lo, u
|
||||||
|
u.ival64 = (static_cast<uint64_t>(hi) << 32) | lo;
|
||||||
|
return u.dval;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+static void Double2Ints(double input, intptr_t& lo, intptr_t& hi)
|
||||||
|
+{
|
||||||
|
+ union {
|
||||||
|
+ double dval;
|
||||||
|
+ uint64_t ival64;
|
||||||
|
+ } u;
|
||||||
|
+ u.dval = input;
|
||||||
|
+ hi = static_cast<intptr_t>(u.ival64 >> 32);
|
||||||
|
+ lo = static_cast<intptr_t>(u.ival64);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#endif // USE(JSVALUE32_64)
|
||||||
|
|
||||||
|
} // namespace LLint
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Name: qtwebkit
|
Name: qtwebkit
|
||||||
Version: 2.3
|
Version: 2.3
|
||||||
Release: 0.2.beta2%{?dist}
|
Release: 0.3.beta2%{?dist}
|
||||||
Summary: Qt WebKit bindings
|
Summary: Qt WebKit bindings
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||||
@ -40,6 +40,9 @@ Patch5: qtwebkit-2.3-fontconfig.patch
|
|||||||
# use SYSTEM_MALLOC on ppc/ppc64, -g1 on ppc/ppc64 to reduce archive size
|
# use SYSTEM_MALLOC on ppc/ppc64, -g1 on ppc/ppc64 to reduce archive size
|
||||||
Patch10: qtwebkit-ppc.patch
|
Patch10: qtwebkit-ppc.patch
|
||||||
|
|
||||||
|
# add missing function Double2Ints(), backport
|
||||||
|
Patch11: qtwebkit-23-LLInt-C-Loop-backend-ppc.patch
|
||||||
|
|
||||||
## upstream patches
|
## upstream patches
|
||||||
|
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
@ -99,6 +102,7 @@ Provides: qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
|
|||||||
%patch5 -p1 -b .fontconfig
|
%patch5 -p1 -b .fontconfig
|
||||||
%ifarch ppc ppc64
|
%ifarch ppc ppc64
|
||||||
%patch10 -p1 -b .system-malloc
|
%patch10 -p1 -b .system-malloc
|
||||||
|
%patch11 -p1 -b .Double2Ints
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -158,6 +162,9 @@ rm -rf %{buildroot}
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Mar 05 2013 Than Ngo <than@redhat.com> - 2.3-0.3.beta2
|
||||||
|
- add missing function Double2Ints() on ppc, backport
|
||||||
|
|
||||||
* Mon Feb 25 2013 Than Ngo <than@redhat.com> - 2.3-0.2.beta2
|
* Mon Feb 25 2013 Than Ngo <than@redhat.com> - 2.3-0.2.beta2
|
||||||
- fix 64k page issue on ppc/ppc64
|
- fix 64k page issue on ppc/ppc64
|
||||||
- set -g1 on ppc/ppc64 to reduce archive size
|
- set -g1 on ppc/ppc64 to reduce archive size
|
||||||
|
Loading…
Reference in New Issue
Block a user