webkit2gtk: update to 2.32.0

This commit is contained in:
q66 2021-04-03 21:32:49 +02:00
parent 90eb6035cb
commit 5c6495c8ac
8 changed files with 29 additions and 63 deletions

View file

@ -5,7 +5,7 @@ https://tenfourfox.tenderapp.com/discussions/problems/7505-problems-uploading-to
Updated by @q66. Updated by @q66.
diff --git Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h diff --git Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
index f08f852..53e2813 100644 index dbe211d..4da5fbd 100644
--- Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h --- Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
+++ Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h +++ Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
@@ -28,6 +28,7 @@ @@ -28,6 +28,7 @@
@ -16,7 +16,7 @@ index f08f852..53e2813 100644
namespace JSC { namespace JSC {
@@ -147,7 +148,18 @@ public: @@ -146,7 +147,18 @@ public:
JSValue getIndexQuickly(unsigned i) const JSValue getIndexQuickly(unsigned i) const
{ {
@ -24,18 +24,18 @@ index f08f852..53e2813 100644
+ switch (Adaptor::typeValue) { + switch (Adaptor::typeValue) {
+ case TypeFloat32: + case TypeFloat32:
+ case TypeFloat64: + case TypeFloat64:
+ return Adaptor::toJSValue(getIndexQuicklyAsNativeValue(i)); + return Adaptor::toJSValue(nullptr, getIndexQuicklyAsNativeValue(i));
+ default: + default:
+ // typed array views are commonly expected to be little endian views of the underlying data + // typed array views are commonly expected to be little endian views of the underlying data
+ return Adaptor::toJSValue(flipBytes(getIndexQuicklyAsNativeValue(i))); + return Adaptor::toJSValue(nullptr, flipBytes(getIndexQuicklyAsNativeValue(i)));
+ } + }
+#else +#else
return Adaptor::toJSValue(getIndexQuicklyAsNativeValue(i)); return Adaptor::toJSValue(nullptr, getIndexQuicklyAsNativeValue(i));
+#endif +#endif
} }
void setIndexQuicklyToNativeValue(unsigned i, typename Adaptor::Type value) void setIndexQuicklyToNativeValue(unsigned i, typename Adaptor::Type value)
@@ -164,7 +176,20 @@ public: @@ -158,7 +170,20 @@ public:
void setIndexQuickly(unsigned i, JSValue value) void setIndexQuickly(unsigned i, JSValue value)
{ {
ASSERT(!value.isObject()); ASSERT(!value.isObject());
@ -56,8 +56,8 @@ index f08f852..53e2813 100644
} }
bool setIndex(JSGlobalObject* globalObject, unsigned i, JSValue jsValue) bool setIndex(JSGlobalObject* globalObject, unsigned i, JSValue jsValue)
@@ -183,13 +208,54 @@ public: @@ -172,13 +197,54 @@ public:
if (i >= m_length) if (isDetached() || i >= m_length)
return false; return false;
+#if CPU(BIG_ENDIAN) +#if CPU(BIG_ENDIAN)
@ -114,12 +114,12 @@ index f08f852..53e2813 100644
void sort() void sort()
{ {
diff --git Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h diff --git Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
index 5bca5d7..8a7111c 100644 index 126f33c..0913af5 100644
--- Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h --- Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
+++ Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h +++ Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
@@ -209,9 +209,36 @@ EncodedJSValue JSC_HOST_CALL genericTypedArrayViewProtoFuncIncludes(VM& vm, JSGl @@ -208,9 +208,36 @@ ALWAYS_INLINE EncodedJSValue genericTypedArrayViewProtoFuncIncludes(VM& vm, JSGl
scope.assertNoException(); scope.assertNoException();
RELEASE_ASSERT(!thisObject->isNeutered()); RELEASE_ASSERT(!thisObject->isDetached());
- if (std::isnan(static_cast<double>(*targetOption))) { - if (std::isnan(static_cast<double>(*targetOption))) {
+ double targetOptionLittleEndianAsDouble; + double targetOptionLittleEndianAsDouble;

View file

@ -4,7 +4,7 @@ diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Sour
index 69b4dc6a6a0b..dc660f399257 100644 index 69b4dc6a6a0b..dc660f399257 100644
--- Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp --- Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
+++ Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp +++ Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
@@ -758,9 +758,15 @@ GRefPtr<GSubprocess> bubblewrapSpawn(GSubprocessLauncher* launcher, const Proces @@ -759,9 +759,15 @@ GRefPtr<GSubprocess> bubblewrapSpawn(GSubprocessLauncher* launcher, const Proces
"--ro-bind-try", "/usr/lib", "/usr/lib", "--ro-bind-try", "/usr/lib", "/usr/lib",
"--ro-bind-try", "/usr/local/lib", "/usr/local/lib", "--ro-bind-try", "/usr/local/lib", "/usr/local/lib",
"--ro-bind-try", LIBDIR, LIBDIR, "--ro-bind-try", LIBDIR, LIBDIR,

View file

@ -1,6 +1,6 @@
--- Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp 2019-09-23 10:17:18.000000000 +0200 --- Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp 2019-09-23 10:17:18.000000000 +0200
+++ Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp 2019-12-16 11:30:00.971252320 +0100 +++ Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp 2019-12-16 11:30:00.971252320 +0100
@@ -31,6 +31,7 @@ @@ -32,6 +32,7 @@
#include "WebKitWaylandServerProtocol.h" #include "WebKitWaylandServerProtocol.h"
#include <EGL/egl.h> #include <EGL/egl.h>
#include <EGL/eglext.h> #include <EGL/eglext.h>

View file

@ -4,6 +4,8 @@ Reason: fixing machine context access for musl libc; reduce stack/heap usage for
Updated for latest webkit2gtk. Updated for latest webkit2gtk.
-diff --git Source/JavaScriptCore/runtime/MachineContext.h Source/JavaScriptCore/runtime/MachineContext.h
index ead9cdf..09dc28a 100644
--- Source/JavaScriptCore/runtime/MachineContext.h --- Source/JavaScriptCore/runtime/MachineContext.h
+++ Source/JavaScriptCore/runtime/MachineContext.h +++ Source/JavaScriptCore/runtime/MachineContext.h
@@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext) @@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext)
@ -51,11 +53,13 @@ Updated for latest webkit2gtk.
// The following sequence depends on glibc's sys/ucontext.h. // The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86) #if CPU(X86)
diff --git Source/JavaScriptCore/runtime/OptionsList.h Source/JavaScriptCore/runtime/OptionsList.h
index bc1cedb..f161f1c 100644
--- Source/JavaScriptCore/runtime/OptionsList.h --- Source/JavaScriptCore/runtime/OptionsList.h
+++ Source/JavaScriptCore/runtime/OptionsList.h +++ Source/JavaScriptCore/runtime/OptionsList.h
@@ -43,6 +43,16 @@ constexpr bool enableWebAssemblyStreamingApi = true; @@ -39,6 +39,16 @@ namespace JSC {
constexpr bool enableWebAssemblyStreamingApi = false;
#endif JS_EXPORT_PRIVATE bool canUseJITCage();
+#if defined(__GLIBC__) +#if defined(__GLIBC__)
+constexpr unsigned jscMaxPerThreadStack = 5 * MB; +constexpr unsigned jscMaxPerThreadStack = 5 * MB;
@ -70,7 +74,7 @@ Updated for latest webkit2gtk.
// How do JSC VM options work? // How do JSC VM options work?
// =========================== // ===========================
// The FOR_EACH_JSC_OPTION() macro below defines a list of all JSC options in use, // The FOR_EACH_JSC_OPTION() macro below defines a list of all JSC options in use,
@@ -90,9 +100,9 @@ constexpr bool enableWebAssemblyStreamingApi = false; @@ -86,9 +96,9 @@ JS_EXPORT_PRIVATE bool canUseJITCage();
\ \
v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \
\ \
@ -81,8 +85,10 @@ Updated for latest webkit2gtk.
+ v(Unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ + v(Unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
+ v(Unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ + v(Unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
\ \
v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \
v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
v(Unsigned, jitMemoryReservationSize, 0, Normal, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \ diff --git Source/WebCore/xml/XPathGrammar.cpp Source/WebCore/xml/XPathGrammar.cpp
index 0875a5e..98d5153 100644
--- Source/WebCore/xml/XPathGrammar.cpp --- Source/WebCore/xml/XPathGrammar.cpp
+++ Source/WebCore/xml/XPathGrammar.cpp +++ Source/WebCore/xml/XPathGrammar.cpp
@@ -966,7 +966,7 @@ int yydebug; @@ -966,7 +966,7 @@ int yydebug;

View file

@ -4,7 +4,7 @@ and https://bugs.webkit.org/show_bug.cgi?id=141288
--- Source/JavaScriptCore/offlineasm/arm.rb 2015-07-22 14:37:57.000000000 +0200 --- Source/JavaScriptCore/offlineasm/arm.rb 2015-07-22 14:37:57.000000000 +0200
+++ Source/JavaScriptCore/offlineasm/arm.rb 2015-08-08 00:31:21.011824644 +0200 +++ Source/JavaScriptCore/offlineasm/arm.rb 2015-08-08 00:31:21.011824644 +0200
@@ -473,8 +473,16 @@ @@ -546,8 +546,16 @@
$asm.puts "mov #{armFlippedOperands(operands)}" $asm.puts "mov #{armFlippedOperands(operands)}"
end end
when "mvlbl" when "mvlbl"

View file

@ -1,40 +0,0 @@
https://bugs.webkit.org/show_bug.cgi?id=221710
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
index 66571beb5c60..e273c6dd28a8 100644
--- Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+++ Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
@@ -1579,13 +1579,13 @@ llintOpWithMetadata(op_put_by_id, OpPutById, macro (size, get, dispatch, metadat
loadp StructureChain::m_vector[t3], t3
assert(macro (ok) btpnz t3, ok end)
- loadp Structure::m_prototype[t2], t2
+ loadp Structure::m_prototype + PayloadOffset[t2], t2
btpz t2, .opPutByIdTransitionChainDone
.opPutByIdTransitionChainLoop:
loadp [t3], t1
bineq t1, JSCell::m_structureID[t2], .opPutByIdSlow
addp 4, t3
- loadp Structure::m_prototype[t1], t2
+ loadp Structure::m_prototype + PayloadOffset[t1], t2
btpnz t2, .opPutByIdTransitionChainLoop
.opPutByIdTransitionChainDone:
@@ -2251,7 +2251,7 @@ end)
op(llint_throw_from_slow_path_trampoline, macro()
- loadp Callee[cfr], t1
+ loadp Callee + PayloadOffset[cfr], t1
convertCalleeToVM(t1)
copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(t1, t2)
@@ -2260,7 +2260,7 @@ op(llint_throw_from_slow_path_trampoline, macro()
# When throwing from the interpreter (i.e. throwing from LLIntSlowPaths), so
# the throw target is not necessarily interpreted code, we come to here.
# This essentially emulates the JIT's throwing protocol.
- loadp Callee[cfr], t1
+ loadp Callee + PayloadOffset[cfr], t1
convertCalleeToVM(t1)
jmp VM::targetMachinePCForThrow[t1]
end)

View file

@ -1,7 +1,7 @@
Source: Debian Source: Debian
--- Source/cmake/WebKitCompilerFlags.cmake.orig 2020-12-15 15:29:50.240722972 +0700 --- Source/cmake/WebKitCompilerFlags.cmake.orig 2020-12-15 15:29:50.240722972 +0700
+++ Source/cmake/WebKitCompilerFlags.cmake 2020-12-15 15:29:59.659853014 +0700 +++ Source/cmake/WebKitCompilerFlags.cmake 2020-12-15 15:29:59.659853014 +0700
@@ -138,15 +138,6 @@ @@ -141,15 +141,6 @@
if (CMAKE_COMPILER_IS_GNUCXX) if (CMAKE_COMPILER_IS_GNUCXX)
WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-expansion-to-defined) WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-expansion-to-defined)
endif () endif ()

View file

@ -1,7 +1,7 @@
# Template file for 'webkit2gtk' # Template file for 'webkit2gtk'
# ping q66 before touching this # ping q66 before touching this
pkgname=webkit2gtk pkgname=webkit2gtk
version=2.30.6 version=2.32.0
revision=1 revision=1
wrksrc="webkitgtk-${version}" wrksrc="webkitgtk-${version}"
build_style=cmake build_style=cmake
@ -35,14 +35,14 @@ makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
dbus-glib-devel libwebp-devel gtk+-devel gtk+3-devel libgudev-devel dbus-glib-devel libwebp-devel gtk+-devel gtk+3-devel libgudev-devel
libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel
qt5-devel $(vopt_if x11 libXt-devel) qt5-devel libmanette-devel $(vopt_if x11 libXt-devel)
$(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')" $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
short_desc="GTK+3 port of the WebKit2 browser engine" short_desc="GTK+3 port of the WebKit2 browser engine"
maintainer="q66 <daniel@octaforge.org>" maintainer="q66 <daniel@octaforge.org>"
license="LGPL-2.1-or-later, BSD-2-Clause" license="LGPL-2.1-or-later, BSD-2-Clause"
homepage="https://webkitgtk.org/" homepage="https://webkitgtk.org/"
distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz" distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz"
checksum=50736ec7a91770b5939d715196e5fe7209b93efcdeef425b24dc51fb8e9d7c1e checksum=9d7df4dae9ada2394257565acc2a68ace9308c4c61c3fcc00111dc1f11076bf0
build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser" build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser"
build_options_default="gir wayland x11 bubblewrap minibrowser" build_options_default="gir wayland x11 bubblewrap minibrowser"