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.
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
@@ -28,6 +28,7 @@
@ -16,7 +16,7 @@ index f08f852..53e2813 100644
namespace JSC {
@@ -147,7 +148,18 @@ public:
@@ -146,7 +147,18 @@ public:
JSValue getIndexQuickly(unsigned i) const
{
@ -24,18 +24,18 @@ index f08f852..53e2813 100644
+ switch (Adaptor::typeValue) {
+ case TypeFloat32:
+ case TypeFloat64:
+ return Adaptor::toJSValue(getIndexQuicklyAsNativeValue(i));
+ return Adaptor::toJSValue(nullptr, getIndexQuicklyAsNativeValue(i));
+ default:
+ // 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
return Adaptor::toJSValue(getIndexQuicklyAsNativeValue(i));
return Adaptor::toJSValue(nullptr, getIndexQuicklyAsNativeValue(i));
+#endif
}
void setIndexQuicklyToNativeValue(unsigned i, typename Adaptor::Type value)
@@ -164,7 +176,20 @@ public:
@@ -158,7 +170,20 @@ public:
void setIndexQuickly(unsigned i, JSValue value)
{
ASSERT(!value.isObject());
@ -56,8 +56,8 @@ index f08f852..53e2813 100644
}
bool setIndex(JSGlobalObject* globalObject, unsigned i, JSValue jsValue)
@@ -183,13 +208,54 @@ public:
if (i >= m_length)
@@ -172,13 +197,54 @@ public:
if (isDetached() || i >= m_length)
return false;
+#if CPU(BIG_ENDIAN)
@ -114,12 +114,12 @@ index f08f852..53e2813 100644
void sort()
{
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
@@ -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();
RELEASE_ASSERT(!thisObject->isNeutered());
RELEASE_ASSERT(!thisObject->isDetached());
- if (std::isnan(static_cast<double>(*targetOption))) {
+ double targetOptionLittleEndianAsDouble;

View file

@ -4,7 +4,7 @@ diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Sour
index 69b4dc6a6a0b..dc660f399257 100644
--- 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/local/lib", "/usr/local/lib",
"--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-12-16 11:30:00.971252320 +0100
@@ -31,6 +31,7 @@
@@ -32,6 +32,7 @@
#include "WebKitWaylandServerProtocol.h"
#include <EGL/egl.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.
-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
@@ -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.
#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
@@ -43,6 +43,16 @@ constexpr bool enableWebAssemblyStreamingApi = true;
constexpr bool enableWebAssemblyStreamingApi = false;
#endif
@@ -39,6 +39,16 @@ namespace JSC {
JS_EXPORT_PRIVATE bool canUseJITCage();
+#if defined(__GLIBC__)
+constexpr unsigned jscMaxPerThreadStack = 5 * MB;
@ -70,7 +74,7 @@ Updated for latest webkit2gtk.
// How do JSC VM options work?
// ===========================
// 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) \
\
@ -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, 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(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
@@ -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-08-08 00:31:21.011824644 +0200
@@ -473,8 +473,16 @@
@@ -546,8 +546,16 @@
$asm.puts "mov #{armFlippedOperands(operands)}"
end
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/cmake/WebKitCompilerFlags.cmake.orig 2020-12-15 15:29:50.240722972 +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)
WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-expansion-to-defined)
endif ()

View file

@ -1,7 +1,7 @@
# Template file for 'webkit2gtk'
# ping q66 before touching this
pkgname=webkit2gtk
version=2.30.6
version=2.32.0
revision=1
wrksrc="webkitgtk-${version}"
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
libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-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')"
short_desc="GTK+3 port of the WebKit2 browser engine"
maintainer="q66 <daniel@octaforge.org>"
license="LGPL-2.1-or-later, BSD-2-Clause"
homepage="https://webkitgtk.org/"
distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz"
checksum=50736ec7a91770b5939d715196e5fe7209b93efcdeef425b24dc51fb8e9d7c1e
checksum=9d7df4dae9ada2394257565acc2a68ace9308c4c61c3fcc00111dc1f11076bf0
build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser"
build_options_default="gir wayland x11 bubblewrap minibrowser"