v8/test
Dominik Inführ b9eeaf1b88 Reland: [heap] Load MarkingBarrier from thread local on main thread
Reland of https://crrev.com/c/3998633.

Each thread has its own MarkingBarrier instance for incremental
marking. A thread local variable is used to get the current thread's
instance on background threads.

However on main threads this thread local variable was always
set to nullptr. The main thread would get to its own instance through
the heap_ field in the host object's page header. This was solved this
way because setting current_marking_barrier on the main thread
seemed quite complex. Multiple isolates may be run on the same thread
and isolates may even be migrated between threads.

However, with --shared-space loading the heap_ field for a shared
object would return the main isolate's heap and we end up with
the wrong MarkingBarrier instance on client isolates. So this
CL makes main and background threads more uniform by setting the
thread local field also on the main thread. The field is set by
the already existing v8::Isolate::Scope API. Some embedders might have
to add these scopes if they don't use them properly already.

Bug: v8:13267
Change-Id: Idc257ecf6b6af09a379bdd7cd7c1d4a5e46689c9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4016715
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84237}
2022-11-14 12:18:18 +00:00
..
benchmarks Re-enable octane/typescript for deopt_fuzzer 2022-09-09 08:34:45 +00:00
bigint [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
cctest Reland: [heap] Load MarkingBarrier from thread local on main thread 2022-11-14 12:18:18 +00:00
common [wasm][cleanup] Pass ModuleWireBytes by value 2022-11-10 12:17:39 +00:00
debugger [debug] Re-use block lists across multiple local debug-evaluates 2022-10-13 07:44:59 +00:00
debugging [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
fuzzer [wasm] Allow decoding locals without validation 2022-11-07 15:31:04 +00:00
fuzzilli [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
inspector Reland: [heap] Load MarkingBarrier from thread local on main thread 2022-11-14 12:18:18 +00:00
intl [Intl] Sync to intl-numberformat-v3 PR107 2022-09-16 20:52:26 +00:00
js-perf-test [js-perf-test] Reduce input sizes for small BigInts 2022-10-06 14:23:53 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Resolved an issue where an earlier error was not reported first in certain cases 2022-11-11 13:43:32 +00:00
mjsunit [maglev] Emit Int32->Smi checks eagerly 2022-11-11 16:11:16 +00:00
mkgrokdump [heap] Rename safepoint scopes 2022-10-25 16:32:55 +00:00
mozilla [mips32] Delete mips32 from v8 2022-09-13 07:54:54 +00:00
test262 [Temporal] Sync to PR2395 Address calendar case sensitivity 2022-11-04 22:11:00 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests Reland: [heap] Load MarkingBarrier from thread local on main thread 2022-11-14 12:18:18 +00:00
wasm-api-tests [heap] Introduce a conservative stack scanning pass 2022-11-03 12:10:45 +00:00
wasm-js [wasm] Update spec tests 2022-10-24 14:27:58 +00:00
wasm-spec-tests [wasm] Update spec tests 2022-10-24 14:27:58 +00:00
webkit [mips32] Delete mips32 from v8 2022-09-13 07:54:54 +00:00
BUILD.gn [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
OWNERS