webkit2gtk: update to 2.28.3.

[ci skip]
This commit is contained in:
John 2020-07-14 11:53:53 +02:00 committed by John Zimmermann
parent a1f454a333
commit 97afccadc1
2 changed files with 3 additions and 67 deletions

View file

@ -1,64 +0,0 @@
From ed5a63c21c4faa0f5a17ebd7a0ccd135b8a880a2 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Thu, 7 May 2020 19:39:34 +0200
Subject: [PATCH] Fix gcSafeMemcpy on non-x86_64/aarch64 64-bit architectures
The problem at hand here is that the control flow is wrong. As
it was, we'd do something like:
```
if (bytes <= smallCutoff) {
slow path
} else if (aarch64 || bytes <= mediumCutoff) {
either x86_64 path, aarch64 path or slow path
} else {
assert(x86_64)
do x86_64 path, or nothing on other archs
}
```
That means everything on non-x86_64/aarch64 that tried to memcpy
more than mediumCutoff would end up doing nothing.
Fix the code so that slow path is taken automatically always
if running non-x86_64/aarch64 architectures. Remove the #else
in the mediumCutoff branch as that is now never taken.
---
Source/JavaScriptCore/ChangeLog | 16 ++++++++++++++++
Source/JavaScriptCore/heap/GCMemoryOperations.h | 6 ++----
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/Source/JavaScriptCore/heap/GCMemoryOperations.h b/Source/JavaScriptCore/heap/GCMemoryOperations.h
index f2b9e385bc9..ff66071db20 100644
--- Source/JavaScriptCore/heap/GCMemoryOperations.h
+++ Source/JavaScriptCore/heap/GCMemoryOperations.h
@@ -53,7 +53,7 @@ ALWAYS_INLINE void gcSafeMemcpy(T* dst, T* src, size_t bytes)
bitwise_cast<volatile uint64_t*>(dst)[i] = bitwise_cast<volatile uint64_t*>(src)[i];
};
-#if COMPILER(GCC_COMPATIBLE) && USE(JSVALUE64)
+#if COMPILER(GCC_COMPATIBLE) && (CPU(X86_64) || CPU(ARM64))
if (bytes <= smallCutoff)
slowPathForwardMemcpy();
else if (isARM64() || bytes <= mediumCutoff) {
@@ -121,8 +121,6 @@ ALWAYS_INLINE void gcSafeMemcpy(T* dst, T* src, size_t bytes)
:
: "d0", "d1", "memory"
);
-#else
- slowPathForwardMemcpy();
#endif // CPU(X86_64)
} else {
RELEASE_ASSERT(isX86_64());
@@ -139,7 +137,7 @@ ALWAYS_INLINE void gcSafeMemcpy(T* dst, T* src, size_t bytes)
}
#else
slowPathForwardMemcpy();
-#endif // COMPILER(GCC_COMPATIBLE)
+#endif // COMPILER(GCC_COMPATIBLE) && (CPU(X86_64) || CPU(ARM64))
#else
memcpy(dst, src, bytes);
#endif // USE(JSVALUE64)
--
2.26.2

View file

@ -1,7 +1,7 @@
# Template file for 'webkit2gtk'
pkgname=webkit2gtk
version=2.28.2
revision=2
version=2.28.3
revision=1
wrksrc="webkitgtk-${version}"
build_style=cmake
build_helper="gir"
@ -38,7 +38,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later, BSD-2-Clause"
homepage="https://webkitgtk.org/"
distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz"
checksum=b9d23525cfd8d22c37b5d964a9fe9a8ce7583042a2f8d3922e71e6bbc68c30bd
checksum=f0898ac072c220e13a4aee819408421a6cb56a6eb89170ceafe52468b0903522
build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser"
build_options_default="gir wayland x11 bubblewrap minibrowser"