tpopela pushed to webkitgtk4 (f22). "Fix CLoop on secondary arches"

notifications at fedoraproject.org notifications at fedoraproject.org
Wed Apr 8 12:12:49 UTC 2015


>From 4d0d6c00bf201e6ed4fca5e556b0a2e5df36b265 Mon Sep 17 00:00:00 2001
From: Tomas Popela <tpopela at redhat.com>
Date: Wed, 8 Apr 2015 14:11:06 +0200
Subject: Fix CLoop on secondary arches


diff --git a/webkitgtk-2.8.0-page_size_align.patch b/webkitgtk-2.8.0-page_size_align.patch
new file mode 100644
index 0000000..63060ca
--- /dev/null
+++ b/webkitgtk-2.8.0-page_size_align.patch
@@ -0,0 +1,35 @@
+diff -up webkitgtk-2.8.0/Source/JavaScriptCore/heap/CopiedBlock.h.page_size_align webkitgtk-2.8.0/Source/JavaScriptCore/heap/CopiedBlock.h
+--- webkitgtk-2.8.0/Source/JavaScriptCore/heap/CopiedBlock.h.page_size_align	2015-03-23 09:08:04.000000000 +0100
++++ webkitgtk-2.8.0/Source/JavaScriptCore/heap/CopiedBlock.h	2015-04-08 12:02:51.218138924 +0200
+@@ -79,7 +79,7 @@ public:
+     size_t size();
+     size_t capacity();
+ 
+-    static const size_t blockSize = 32 * KB;
++    static const size_t blockSize = 64 * KB;
+ 
+     bool hasWorkList();
+     CopyWorkList& workList();
+diff -up webkitgtk-2.8.0/Source/JavaScriptCore/interpreter/JSStack.cpp.page_size_align webkitgtk-2.8.0/Source/JavaScriptCore/interpreter/JSStack.cpp
+--- webkitgtk-2.8.0/Source/JavaScriptCore/interpreter/JSStack.cpp.page_size_align	2015-04-08 12:02:51.218138924 +0200
++++ webkitgtk-2.8.0/Source/JavaScriptCore/interpreter/JSStack.cpp	2015-04-08 12:04:48.158143620 +0200
+@@ -58,7 +58,8 @@ JSStack::JSStack(VM& vm)
+     size_t capacity = Options::maxPerThreadStackUsage();
+     ASSERT(capacity && isPageAligned(capacity));
+ 
+-    m_reservation = PageReservation::reserve(WTF::roundUpToMultipleOf(commitSize, capacity), OSAllocator::JSVMStackPages);
++    size_t commitsize = pageSize();
++    m_reservation = PageReservation::reserve(WTF::roundUpToMultipleOf(commitsize, capacity), OSAllocator::JSVMStackPages);
+     setStackLimit(highAddress());
+     m_commitTop = highAddress();
+     
+@@ -92,7 +93,8 @@ bool JSStack::growSlowCase(Register* new
+     // have it is still within our budget. If not, we'll fail to grow and
+     // return false.
+     ptrdiff_t delta = reinterpret_cast<char*>(m_commitTop) - reinterpret_cast<char*>(newTopOfStackWithReservedZone);
+-    delta = WTF::roundUpToMultipleOf(commitSize, delta);
++    size_t commitsize = pageSize();
++    delta = WTF::roundUpToMultipleOf(commitsize, delta);
+     Register* newCommitTop = m_commitTop - (delta / sizeof(Register));
+     if (newCommitTop < reservationTop())
+         return false;
diff --git a/webkitgtk4.spec b/webkitgtk4.spec
index ff37b7a..8677935 100644
--- a/webkitgtk4.spec
+++ b/webkitgtk4.spec
@@ -9,7 +9,7 @@
 
 Name:           webkitgtk4
 Version:        2.8.0
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        GTK+ Web content engine library
 
 License:        LGPLv2
@@ -19,13 +19,15 @@ Source0:        http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
 Patch0:         webkitgtk-2.7.4-nspluginwrapper.patch
 # https://bugs.webkit.org/show_bug.cgi?id=142074
 Patch1:         webkitgtk-2.7.90-user-agent-branding.patch
+# CLoop fixes (applied just on secondary arches)
 Patch2:         webkitgtk-2.5.90-cloop_fix.patch
+Patch3:         webkitgtk-2.8.0-page_size_align.patch
 # https://bugs.webkit.org/show_bug.cgi?id=142333
-Patch3:         webkitgtk-2.7.91-matrix-multiplication.patch
+Patch4:         webkitgtk-2.7.91-matrix-multiplication.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=1206161
-Patch4:         webkitgtk-2.8.0-s390_fixes.patch
+Patch5:         webkitgtk-2.8.0-s390_fixes.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=1206577
-Patch5:         webkitgtk-2.8.0-gcc5_fix.patch
+Patch6:         webkitgtk-2.8.0-gcc5_fix.patch
 
 BuildRequires:  at-spi2-core-devel
 BuildRequires:  bison
@@ -97,13 +99,17 @@ This package contains developer documentation for %{name}.
 %setup -q -n webkitgtk-%{version}
 %patch0 -p1 -b .nspluginwrapper
 %patch1 -p1 -b .user_agent
+%ifarch s390 s390x %{arm} ppc %{power64}
 # FIXME Temporarily disabled due to https://bugzilla.redhat.com/show_bug.cgi?id=1167004
-#%patch2 -p1 -b .cloop_fix
-%patch3 -p1 -b .matrix_multiplication
+# Enabled just on secondary arches where we use CLoop
+%patch2 -p1 -b .cloop_fix
+%patch3 -p1 -b .page_size_align
+%endif
+%patch4 -p1 -b .matrix_multiplication
 %ifarch s390
-%patch4 -p1 -b .s390_fixes
+%patch5 -p1 -b .s390_fixes
 %endif
-%patch5 -p1 -b .gcc5_fix
+%patch6 -p1 -b .gcc5_fix
 
 # Remove bundled libraries
 rm -rf Source/ThirdParty/leveldb/
@@ -129,6 +135,11 @@ rm -rf Source/ThirdParty/qunit/
 %global optflags %{optflags} -Wl,-relax -latomic
 %endif
 
+%ifarch s390 s390x %{arm} ppc %{power64}
+# Turn off bmalloc on secondary arches (as it is not ready for them)
+%global optflags %{optflags} -DUSE_BMALLOC=0
+%endif
+
 %if 0%{?fedora}
 %global optflags %{optflags} -DUSER_AGENT_GTK_DISTRIBUTOR_NAME=\'\\"Fedora\\"\'
 %endif
@@ -208,6 +219,9 @@ make %{?_smp_mflags} -C %{_target_platform}
 %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/
 
 %changelog
+* Wed Apr 08 2015 Tomas Popela <tpopela at redhat.com> - 2.8.0-3
+- Fix CLoop on secondary arches
+
 * Fri Mar 27 2015 Than Ngo <than at redhat.com> - 2.8.0-2
 - Fix build failures on s390
 - Fix build failures with gcc 5
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/webkitgtk4.git/commit/?h=f22&id=4d0d6c00bf201e6ed4fca5e556b0a2e5df36b265


More information about the scm-commits mailing list