v8/test
Leszek Swirski a6f465d4d5 [compiler] Remove disallow scopes
TurboFan creates DisallowHeapAccess scopes, to prevent heap access in
the concurrent parts of the compiler. Then, for parts of the compiler
that do want to access the heap, it either creates Allow* scopes (which
should be avoided since they "punch a hole" in the Disallow* scopes), or
relies on a weakening of Handle::IsDereferenceAllowed which allows
handles owned by a LocalHeap to be dereferenced even if there is a
DisallowHeapDereference scope.

This patch:

  a) Strengthens the implicit requirements around handle dereferencing
     to require a running heap on this thread (either main-thread heap
     or an un-parked, un-safepointed LocalHeap).
  b) Removes the overly strict Disallow scopes in TurboFan, relying
     instead on implicit requirements for allocation/handle
     dereferencing in off-thread code.
  c) Cleans up the "should_disallow_heap_access" predicate to be more
     explicit about what should be disallowed (e.g. property accesses
     can't be computed concurrently)

Change-Id: Icb56b7764913ac17e2db197a70bb189af88a6978
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554617
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71600}
2020-12-03 16:42:24 +00:00
..
benchmarks [test] Skip or mark tests as slow with TSAN 2020-12-03 16:18:24 +00:00
cctest [compiler] Remove disallow scopes 2020-12-03 16:42:24 +00:00
common [wasm-gc] read_heap_type should check if index is in module bounds 2020-12-02 16:52:51 +00:00
debugger [debug] Mark side-effect free builtins and intrinsics as such. 2020-11-30 16:10:44 +00:00
debugging Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
fuzzer [wasm-gc] read_heap_type should check if index is in module bounds 2020-12-02 16:52:51 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [modules] Add ResolveModuleCallback that takes import assertions 2020-11-30 19:54:52 +00:00
intl Revert "[int] Fix security bug in Intl.ListFormat" 2020-11-24 11:04:31 +00:00
js-perf-test [super] Rewrite perf tests 2020-11-16 08:36:24 +00:00
memory Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
message [flags] Remove --harmony-private-methods 2020-11-12 23:21:53 +00:00
mjsunit [test] Skip or mark tests as slow with TSAN 2020-12-03 16:18:24 +00:00
mkgrokdump Replace libc functions with base wrappers 2020-11-17 08:50:41 +00:00
mozilla [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
test262 Fix IntlLegacyConstructedSymbol 2020-11-24 10:28:30 +00:00
torque [torque] introduce const slices 2020-11-30 11:28:15 +00:00
unittests [wasm-gc] Fix interaction between AnalyzeLoopAssignment and 'let' 2020-12-03 12:34:53 +00:00
wasm-api-tests wasm/c-api: fix the index of StackTraceFrame 2020-10-13 07:34:26 +00:00
wasm-js [wasm] Update spec tests 2020-11-12 13:08:55 +00:00
wasm-spec-tests [wasm] Introduce <bot> type for unreachable br_table again 2020-11-18 15:02:05 +00:00
webkit Disallow \8 and \9 in strict mode and template literals 2020-08-03 18:05:14 +00:00
BUILD.gn [turbofan] Make OSR and stack slots compatible 2020-10-05 17:41:02 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00