mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/chromium to 110.0.5481.77-1
This commit is contained in:
parent
623ec24c6e
commit
14e84d9599
7 changed files with 233 additions and 123 deletions
|
@ -1,4 +1,4 @@
|
|||
From c73efdeae5bd140073b8bb7f92a73e8993985160 Mon Sep 17 00:00:00 2001
|
||||
From 91ee825b0dcc82e6016ffc6f95e3e0dd1070ef93 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Thu, 18 Feb 2021 19:35:58 -0700
|
||||
Subject: [PATCH 1/3] widevine support for arm
|
||||
|
@ -8,7 +8,7 @@ Subject: [PATCH 1/3] widevine support for arm
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni
|
||||
index a0241bca3251c..c86ac17ed5d81 100644
|
||||
index 45e984205885f..3cf8c290728fd 100644
|
||||
--- a/third_party/widevine/cdm/widevine.gni
|
||||
+++ b/third_party/widevine/cdm/widevine.gni
|
||||
@@ -26,7 +26,7 @@ if (is_chromeos && !is_chromeos_device) {
|
||||
|
@ -21,5 +21,5 @@ index a0241bca3251c..c86ac17ed5d81 100644
|
|||
(target_os == "win" &&
|
||||
(target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm64"))
|
||||
--
|
||||
2.37.3
|
||||
2.39.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 7d726d07b38e3f1e07f19e0eda575a3c64f82a41 Mon Sep 17 00:00:00 2001
|
||||
From d0e2fc333522b11f7a0a24c60f8e0d8e0e8b5bba Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Tue, 2 Feb 2021 13:58:59 -0700
|
||||
Subject: [PATCH 2/3] Run blink bindings generation single threaded
|
||||
|
@ -9,7 +9,7 @@ When not single threaded this process will eat all the RAM.
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/third_party/blink/renderer/bindings/BUILD.gn b/third_party/blink/renderer/bindings/BUILD.gn
|
||||
index 1288dfbf63614..613d299f85038 100644
|
||||
index 488b2ddf8462d..4d3b9f7f54373 100644
|
||||
--- a/third_party/blink/renderer/bindings/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/bindings/BUILD.gn
|
||||
@@ -148,6 +148,7 @@ template("generate_bindings") {
|
||||
|
@ -21,5 +21,5 @@ index 1288dfbf63614..613d299f85038 100644
|
|||
rebase_path(web_idl_database, root_build_dir),
|
||||
"--root_src_dir",
|
||||
--
|
||||
2.37.3
|
||||
2.39.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e8804544a4b9ec764b1da9d6d39e1906f21cce11 Mon Sep 17 00:00:00 2001
|
||||
From 53b59f457af1196c30d72114b13e933bd64278dd Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Wed, 21 Jul 2021 21:37:31 -0600
|
||||
Subject: [PATCH 3/3] Fix eu-strip build for newer GCC
|
||||
|
@ -693,5 +693,5 @@ index 86f2b67f6bbd1..c073e9a15827a 100755
|
|||
cd build
|
||||
../configure --enable-maintainer-mode
|
||||
--
|
||||
2.37.3
|
||||
2.39.1
|
||||
|
||||
|
|
|
@ -15,17 +15,17 @@
|
|||
highmem=1
|
||||
|
||||
pkgname=chromium
|
||||
pkgver=109.0.5414.119
|
||||
pkgver=110.0.5481.77
|
||||
pkgrel=1
|
||||
_launcher_ver=8
|
||||
_gcc_patchset=1
|
||||
_gcc_patchset=4
|
||||
pkgdesc="A web browser built for speed, simplicity, and security"
|
||||
arch=('x86_64')
|
||||
url="https://www.chromium.org/Home"
|
||||
license=('BSD')
|
||||
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
|
||||
'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'libva'
|
||||
'wayland' 'desktop-file-utils' 'hicolor-icon-theme')
|
||||
'libffi' 'desktop-file-utils' 'hicolor-icon-theme')
|
||||
makedepends=('python' 'gn' 'ninja' 'clang' 'lld' 'gperf' 'nodejs' 'pipewire'
|
||||
'qt5-base' 'java-runtime-headless' 'git')
|
||||
optdepends=('pipewire: WebRTC desktop sharing under Wayland'
|
||||
|
@ -37,29 +37,27 @@ options=('!lto') # Chromium adds its own flags for ThinLTO
|
|||
source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz
|
||||
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
|
||||
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
|
||||
v8-enhance-Date-parser-to-take-Unicode-SPACE.patch
|
||||
fix-the-way-to-handle-codecs-in-the-system-icu.patch
|
||||
v8-move-the-Stack-object-from-ThreadLocalTop.patch
|
||||
REVERT-roll-src-third_party-ffmpeg-m102.patch
|
||||
REVERT-roll-src-third_party-ffmpeg-m106.patch
|
||||
disable-GlobalMediaControlsCastStartStop.patch
|
||||
angle-wayland-include-protocol.patch
|
||||
use-oauth2-client-switches-as-default.patch
|
||||
0001-widevine-support-for-arm.patch
|
||||
0002-Run-blink-bindings-generation-single-threaded.patch
|
||||
0003-Fix-eu-strip-build-for-newer-GCC.patch)
|
||||
sha256sums=('cbcdef5ee71acb53790ded3adef86871812b46e9f208dce8ec3f8ab04958be2d'
|
||||
sha256sums=('e348ab2dc4311083e729d714a81e95dd9db108ff71437dde451c97ac939881ce'
|
||||
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
|
||||
'1ca780a2ad5351f60671a828064392096c8da7b589086ee999f25c9e6e799a7b'
|
||||
'b83406a881d66627757d9cbc05e345cbb2bd395a48b6d4c970e5e1cb3f6ed454'
|
||||
'8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7'
|
||||
'a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3'
|
||||
'49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7'
|
||||
'30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44'
|
||||
'4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152'
|
||||
'7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302'
|
||||
'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572'
|
||||
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
|
||||
'e1162f40e736043ea88e9f5960232476130d3067c1663cf4b147c803abc8b94f'
|
||||
'306ea7ae2971d7cc3e9eaec70f7afd34330ff75d7fab414de1f241c61ae9c652'
|
||||
'4b2392f3bbcdb7ea6d6f13b53dfba12e2b436b036168dbeb59ff3e5a52145c3c')
|
||||
'96c3431d475b5ee628cf406b5c28c53d5d5ebbc405e35ff91ffb6829a79b184c'
|
||||
'e364f67a3f1ec1dbc24f5815648bbcec27195a69302fb6fd3ce5d6d8a3d2c16c'
|
||||
'bd82ac3909b9f8fe86375ad7751e905db06f1272f3eddbc80ab78e10c6bd10ac')
|
||||
|
||||
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
|
||||
# Keys are the names in the above script; values are the dependencies in Arch
|
||||
|
@ -74,7 +72,7 @@ declare -gA _system_libs=(
|
|||
[icu]=icu
|
||||
[jsoncpp]=jsoncpp
|
||||
[libaom]=aom
|
||||
[libavif]=libavif # needs https://github.com/AOMediaCodec/libavif/commit/d22d4de94120
|
||||
#[libavif]=libavif # https://github.com/AOMediaCodec/libavif/commit/4d2776a3
|
||||
[libdrm]=
|
||||
[libjpeg]=libjpeg
|
||||
[libpng]=libpng
|
||||
|
@ -135,9 +133,13 @@ prepare() {
|
|||
patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
|
||||
|
||||
# Upstream fixes
|
||||
patch -Np1 -d v8 <../v8-enhance-Date-parser-to-take-Unicode-SPACE.patch
|
||||
patch -Np1 -i ../fix-the-way-to-handle-codecs-in-the-system-icu.patch
|
||||
|
||||
# https://crbug.com/v8/13630
|
||||
# https://crrev.com/c/4200636
|
||||
# https://github.com/nodejs/node/pull/46125#issuecomment-1407721276
|
||||
patch -Np1 -d v8 <../v8-move-the-Stack-object-from-ThreadLocalTop.patch
|
||||
|
||||
# Revert ffmpeg roll requiring new channel layout API support
|
||||
# https://crbug.com/1325301
|
||||
patch -Rp1 -i ../REVERT-roll-src-third_party-ffmpeg-m102.patch
|
||||
|
@ -148,11 +150,11 @@ prepare() {
|
|||
# https://crbug.com/1314342
|
||||
patch -Np1 -i ../disable-GlobalMediaControlsCastStartStop.patch
|
||||
|
||||
# https://crbug.com/angleproject/7582
|
||||
patch -Np0 -i ../angle-wayland-include-protocol.patch
|
||||
|
||||
# Fixes for building with libstdc++ instead of libc++
|
||||
patch -Np1 -i ../patches/chromium-103-VirtualCursor-std-layout.patch
|
||||
patch -Np1 -i ../patches/chromium-110-NativeThemeBase-fabs.patch
|
||||
patch -Np1 -i ../patches/chromium-110-CredentialUIEntry-const.patch
|
||||
patch -Np1 -i ../patches/chromium-110-DarkModeLABColorSpace-pow.patch
|
||||
|
||||
# Link to system tools required by the build
|
||||
mkdir -p third_party/node/linux/node-linux-x64/bin
|
||||
|
@ -213,8 +215,7 @@ build() {
|
|||
'use_gnome_keyring=false'
|
||||
'use_gold=false'
|
||||
'use_sysroot=false'
|
||||
'use_system_libwayland=true'
|
||||
'use_system_wayland_scanner=true'
|
||||
'use_system_libffi=true'
|
||||
'enable_hangout_services_extension=true'
|
||||
'enable_widevine=true'
|
||||
'enable_nacl=false'
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
diff -upr third_party/angle.orig/BUILD.gn third_party/angle/BUILD.gn
|
||||
--- third_party/angle.orig/BUILD.gn 2022-08-17 19:38:11.000000000 +0000
|
||||
+++ third_party/angle/BUILD.gn 2022-08-18 11:04:09.061751111 +0000
|
||||
@@ -489,6 +489,12 @@ config("angle_vulkan_wayland_config") {
|
||||
if (angle_enable_vulkan && angle_use_wayland &&
|
||||
defined(vulkan_wayland_include_dirs)) {
|
||||
include_dirs = vulkan_wayland_include_dirs
|
||||
+ } else if (angle_enable_vulkan && angle_use_wayland) {
|
||||
+ include_dirs = [
|
||||
+ "$wayland_gn_dir/src/src",
|
||||
+ "$wayland_gn_dir/include/src",
|
||||
+ "$wayland_gn_dir/include/protocol",
|
||||
+ ]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1073,6 +1079,7 @@ if (angle_use_wayland) {
|
||||
include_dirs = [
|
||||
"$wayland_dir/egl",
|
||||
"$wayland_dir/src",
|
||||
+ "$wayland_gn_dir/include/protocol",
|
||||
]
|
||||
}
|
||||
|
||||
diff -upr third_party/angle.orig/src/third_party/volk/BUILD.gn third_party/angle/src/third_party/volk/BUILD.gn
|
||||
--- third_party/angle.orig/src/third_party/volk/BUILD.gn 2022-08-17 19:38:12.000000000 +0000
|
||||
+++ third_party/angle/src/third_party/volk/BUILD.gn 2022-08-18 11:04:36.499828006 +0000
|
||||
@@ -21,6 +21,9 @@ source_set("volk") {
|
||||
configs += [ "$angle_root:angle_no_cfi_icall" ]
|
||||
public_deps = [ "$angle_vulkan_headers_dir:vulkan_headers" ]
|
||||
if (angle_use_wayland) {
|
||||
- include_dirs = [ "$wayland_dir/src" ]
|
||||
+ include_dirs = [
|
||||
+ "$wayland_dir/src",
|
||||
+ "$wayland_gn_dir/include/protocol",
|
||||
+ ]
|
||||
}
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
From 81dd64c3705f89653859a5d0001dd0ca983a92e2 Mon Sep 17 00:00:00 2001
|
||||
From: Frank Tang <ftang@chromium.org>
|
||||
Date: Wed, 16 Nov 2022 09:18:45 -0800
|
||||
Subject: [PATCH] [intl] Enhance Date parser to take Unicode SPACE
|
||||
|
||||
This is needed to prepare for the landing of ICU72.
|
||||
Allow U+202F in the Date String, which the toLocaleString("en-US")
|
||||
will generate w/ ICU72.
|
||||
|
||||
Bug: v8:13494
|
||||
Change-Id: I41b83c4094ce3d0737a72dcd6310b52c68fdcdca
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4027341
|
||||
Reviewed-by: Yang Guo <yangguo@chromium.org>
|
||||
Reviewed-by: Jungshik Shin <jshin@chromium.org>
|
||||
Commit-Queue: Frank Tang <ftang@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#84308}
|
||||
|
||||
(cherry picked from commit 2ada52cffbff11074abfaac18938bf02d85454f5)
|
||||
---
|
||||
src/date/dateparser-inl.h | 2 +-
|
||||
src/date/dateparser.h | 4 +++-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/date/dateparser-inl.h b/src/date/dateparser-inl.h
|
||||
index 623986d2b1..b45479dc51 100644
|
||||
--- a/src/date/dateparser-inl.h
|
||||
+++ b/src/date/dateparser-inl.h
|
||||
@@ -192,7 +192,7 @@ DateParser::DateToken DateParser::DateStringTokenizer<CharType>::Scan() {
|
||||
if (in_->Skip('+')) return DateToken::Symbol('+');
|
||||
if (in_->Skip('.')) return DateToken::Symbol('.');
|
||||
if (in_->Skip(')')) return DateToken::Symbol(')');
|
||||
- if (in_->IsAsciiAlphaOrAbove()) {
|
||||
+ if (in_->IsAsciiAlphaOrAbove() && !in_->IsWhiteSpaceChar()) {
|
||||
DCHECK_EQ(KeywordTable::kPrefixLength, 3);
|
||||
uint32_t buffer[3] = {0, 0, 0};
|
||||
int length = in_->ReadWord(buffer, 3);
|
||||
diff --git a/src/date/dateparser.h b/src/date/dateparser.h
|
||||
index 1a0a0b15ab..59b2f3c9fd 100644
|
||||
--- a/src/date/dateparser.h
|
||||
+++ b/src/date/dateparser.h
|
||||
@@ -91,7 +91,8 @@ class DateParser : public AllStatic {
|
||||
// Return word length.
|
||||
int ReadWord(uint32_t* prefix, int prefix_size) {
|
||||
int len;
|
||||
- for (len = 0; IsAsciiAlphaOrAbove(); Next(), len++) {
|
||||
+ for (len = 0; IsAsciiAlphaOrAbove() && !IsWhiteSpaceChar();
|
||||
+ Next(), len++) {
|
||||
if (len < prefix_size) prefix[len] = AsciiAlphaToLower(ch_);
|
||||
}
|
||||
for (int i = len; i < prefix_size; i++) prefix[i] = 0;
|
||||
@@ -115,6 +116,7 @@ class DateParser : public AllStatic {
|
||||
bool IsEnd() const { return ch_ == 0; }
|
||||
bool IsAsciiDigit() const { return IsDecimalDigit(ch_); }
|
||||
bool IsAsciiAlphaOrAbove() const { return ch_ >= 'A'; }
|
||||
+ bool IsWhiteSpaceChar() const { return IsWhiteSpace(ch_); }
|
||||
bool IsAsciiSign() const { return ch_ == '+' || ch_ == '-'; }
|
||||
|
||||
// Return 1 for '+' and -1 for '-'.
|
|
@ -0,0 +1,205 @@
|
|||
From 7b6fbcd0a6700db498ad55db046ecda92c8ee8c1 Mon Sep 17 00:00:00 2001
|
||||
From: Nikolaos Papaspyrou <nikolaos@chromium.org>
|
||||
Date: Sun, 29 Jan 2023 17:18:08 +0100
|
||||
Subject: [PATCH] Merge: [heap] Move the Stack object from ThreadLocalTop to
|
||||
Isolate
|
||||
|
||||
This is just for nodejs, do not backmerge to 11.0.
|
||||
(cherry picked from commit 1e4b71d99fea5ea6bb4bf6420585a7819872bb0f)
|
||||
|
||||
> Change-Id: I026a35af3bc6999a09b21f277756d4454c086343
|
||||
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4152476
|
||||
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
|
||||
> Reviewed-by: Omer Katz <omerkatz@chromium.org>
|
||||
> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
|
||||
> Cr-Commit-Position: refs/heads/main@{#85445}
|
||||
|
||||
Stack information is thread-specific and, until now, it was stored in a
|
||||
field in ThreadLocalTop. This CL moves stack information to the isolate
|
||||
and makes sure to update the stack start whenever a main thread enters
|
||||
the isolate. At the same time, the Stack object is refactored and
|
||||
simplified.
|
||||
|
||||
As a side effect, after removing the Stack object, ThreadLocalTop
|
||||
satisfies the std::standard_layout trait; this fixes some issues
|
||||
observed with different C++ compilers.
|
||||
|
||||
Bug: v8:13630
|
||||
Bug: v8:13257
|
||||
Change-Id: I4be1f04fe90699e1a6e456dad3e0dd623851acce
|
||||
---
|
||||
src/execution/isolate.cc | 36 +++++++++++++++----------------
|
||||
src/execution/isolate.h | 6 ++++++
|
||||
src/execution/thread-local-top.cc | 2 --
|
||||
src/execution/thread-local-top.h | 6 +-----
|
||||
src/heap/heap.cc | 4 +---
|
||||
5 files changed, 25 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc
|
||||
index 4edf364e0a..be4fd400d2 100644
|
||||
--- a/src/execution/isolate.cc
|
||||
+++ b/src/execution/isolate.cc
|
||||
@@ -3074,22 +3074,23 @@ void Isolate::AddSharedWasmMemory(Handle<WasmMemoryObject> memory_object) {
|
||||
void Isolate::RecordStackSwitchForScanning() {
|
||||
Object current = root(RootIndex::kActiveContinuation);
|
||||
DCHECK(!current.IsUndefined());
|
||||
- thread_local_top()->stack_.ClearStackSegments();
|
||||
- wasm::StackMemory* stack = Managed<wasm::StackMemory>::cast(
|
||||
- WasmContinuationObject::cast(current).stack())
|
||||
- .get()
|
||||
- .get();
|
||||
+ stack().ClearStackSegments();
|
||||
+ wasm::StackMemory* wasm_stack =
|
||||
+ Managed<wasm::StackMemory>::cast(
|
||||
+ WasmContinuationObject::cast(current).stack())
|
||||
+ .get()
|
||||
+ .get();
|
||||
current = WasmContinuationObject::cast(current).parent();
|
||||
- thread_local_top()->stack_.SetStackStart(
|
||||
- reinterpret_cast<void*>(stack->base()));
|
||||
+ heap()->SetStackStart(reinterpret_cast<void*>(wasm_stack->base()));
|
||||
// We don't need to add all inactive stacks. Only the ones in the active chain
|
||||
// may contain cpp heap pointers.
|
||||
while (!current.IsUndefined()) {
|
||||
auto cont = WasmContinuationObject::cast(current);
|
||||
- auto* stack = Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
|
||||
- thread_local_top()->stack_.AddStackSegment(
|
||||
- reinterpret_cast<const void*>(stack->base()),
|
||||
- reinterpret_cast<const void*>(stack->jmpbuf()->sp));
|
||||
+ auto* wasm_stack =
|
||||
+ Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
|
||||
+ stack().AddStackSegment(
|
||||
+ reinterpret_cast<const void*>(wasm_stack->base()),
|
||||
+ reinterpret_cast<const void*>(wasm_stack->jmpbuf()->sp));
|
||||
current = cont.parent();
|
||||
}
|
||||
}
|
||||
@@ -3377,20 +3378,13 @@ void Isolate::Delete(Isolate* isolate) {
|
||||
Isolate* saved_isolate = isolate->TryGetCurrent();
|
||||
SetIsolateThreadLocals(isolate, nullptr);
|
||||
isolate->set_thread_id(ThreadId::Current());
|
||||
- isolate->thread_local_top()->stack_ =
|
||||
- saved_isolate ? std::move(saved_isolate->thread_local_top()->stack_)
|
||||
- : ::heap::base::Stack(base::Stack::GetStackStart());
|
||||
+ isolate->heap()->SetStackStart(base::Stack::GetStackStart());
|
||||
|
||||
bool owns_shared_isolate = isolate->owns_shared_isolate_;
|
||||
Isolate* maybe_shared_isolate = isolate->shared_isolate_;
|
||||
|
||||
isolate->Deinit();
|
||||
|
||||
- // Restore the saved isolate's stack.
|
||||
- if (saved_isolate)
|
||||
- saved_isolate->thread_local_top()->stack_ =
|
||||
- std::move(isolate->thread_local_top()->stack_);
|
||||
-
|
||||
#ifdef DEBUG
|
||||
non_disposed_isolates_--;
|
||||
#endif // DEBUG
|
||||
@@ -4647,6 +4641,10 @@ bool Isolate::Init(SnapshotData* startup_snapshot_data,
|
||||
void Isolate::Enter() {
|
||||
Isolate* current_isolate = nullptr;
|
||||
PerIsolateThreadData* current_data = CurrentPerIsolateThreadData();
|
||||
+
|
||||
+ // Set the stack start for the main thread that enters the isolate.
|
||||
+ heap()->SetStackStart(base::Stack::GetStackStart());
|
||||
+
|
||||
if (current_data != nullptr) {
|
||||
current_isolate = current_data->isolate_;
|
||||
DCHECK_NOT_NULL(current_isolate);
|
||||
diff --git a/src/execution/isolate.h b/src/execution/isolate.h
|
||||
index a32f999fe5..1cb6e10661 100644
|
||||
--- a/src/execution/isolate.h
|
||||
+++ b/src/execution/isolate.h
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "src/execution/stack-guard.h"
|
||||
#include "src/handles/handles.h"
|
||||
#include "src/handles/traced-handles.h"
|
||||
+#include "src/heap/base/stack.h"
|
||||
#include "src/heap/factory.h"
|
||||
#include "src/heap/heap.h"
|
||||
#include "src/heap/read-only-heap.h"
|
||||
@@ -2022,6 +2023,8 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
|
||||
SimulatorData* simulator_data() { return simulator_data_; }
|
||||
#endif
|
||||
|
||||
+ ::heap::base::Stack& stack() { return stack_; }
|
||||
+
|
||||
#ifdef V8_ENABLE_WEBASSEMBLY
|
||||
wasm::StackMemory*& wasm_stacks() { return wasm_stacks_; }
|
||||
// Update the thread local's Stack object so that it is aware of the new stack
|
||||
@@ -2520,6 +2523,9 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
|
||||
// The mutex only guards adding pages, the retrieval is signal safe.
|
||||
base::Mutex code_pages_mutex_;
|
||||
|
||||
+ // Stack information for the main thread.
|
||||
+ ::heap::base::Stack stack_;
|
||||
+
|
||||
#ifdef V8_ENABLE_WEBASSEMBLY
|
||||
wasm::StackMemory* wasm_stacks_;
|
||||
#endif
|
||||
diff --git a/src/execution/thread-local-top.cc b/src/execution/thread-local-top.cc
|
||||
index 0d7071ddda..05cc20b8e4 100644
|
||||
--- a/src/execution/thread-local-top.cc
|
||||
+++ b/src/execution/thread-local-top.cc
|
||||
@@ -37,14 +37,12 @@ void ThreadLocalTop::Clear() {
|
||||
current_embedder_state_ = nullptr;
|
||||
failed_access_check_callback_ = nullptr;
|
||||
thread_in_wasm_flag_address_ = kNullAddress;
|
||||
- stack_ = ::heap::base::Stack();
|
||||
}
|
||||
|
||||
void ThreadLocalTop::Initialize(Isolate* isolate) {
|
||||
Clear();
|
||||
isolate_ = isolate;
|
||||
thread_id_ = ThreadId::Current();
|
||||
- stack_.SetStackStart(base::Stack::GetStackStart());
|
||||
#if V8_ENABLE_WEBASSEMBLY
|
||||
thread_in_wasm_flag_address_ = reinterpret_cast<Address>(
|
||||
trap_handler::GetThreadInWasmThreadLocalAddress());
|
||||
diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h
|
||||
index 43fec0a7df..989c817f31 100644
|
||||
--- a/src/execution/thread-local-top.h
|
||||
+++ b/src/execution/thread-local-top.h
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "include/v8-unwinder.h"
|
||||
#include "src/common/globals.h"
|
||||
#include "src/execution/thread-id.h"
|
||||
-#include "src/heap/base/stack.h"
|
||||
#include "src/objects/contexts.h"
|
||||
#include "src/utils/utils.h"
|
||||
|
||||
@@ -30,7 +29,7 @@ class ThreadLocalTop {
|
||||
// TODO(all): This is not particularly beautiful. We should probably
|
||||
// refactor this to really consist of just Addresses and 32-bit
|
||||
// integer fields.
|
||||
- static constexpr uint32_t kSizeInBytes = 30 * kSystemPointerSize;
|
||||
+ static constexpr uint32_t kSizeInBytes = 25 * kSystemPointerSize;
|
||||
|
||||
// Does early low-level initialization that does not depend on the
|
||||
// isolate being present.
|
||||
@@ -147,9 +146,6 @@ class ThreadLocalTop {
|
||||
|
||||
// Address of the thread-local "thread in wasm" flag.
|
||||
Address thread_in_wasm_flag_address_;
|
||||
-
|
||||
- // Stack information.
|
||||
- ::heap::base::Stack stack_;
|
||||
};
|
||||
|
||||
} // namespace internal
|
||||
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
||||
index 51a90ddcab..b5722ab6ec 100644
|
||||
--- a/src/heap/heap.cc
|
||||
+++ b/src/heap/heap.cc
|
||||
@@ -5851,9 +5851,7 @@ void Heap::SetStackStart(void* stack_start) {
|
||||
stack().SetStackStart(stack_start);
|
||||
}
|
||||
|
||||
-::heap::base::Stack& Heap::stack() {
|
||||
- return isolate_->thread_local_top()->stack_;
|
||||
-}
|
||||
+::heap::base::Stack& Heap::stack() { return isolate_->stack(); }
|
||||
|
||||
void Heap::RegisterExternallyReferencedObject(Address* location) {
|
||||
Object object = TracedHandles::Mark(location, TracedHandles::MarkMode::kAll);
|
Loading…
Reference in a new issue