v8/test
Patrick Thier cc3c93f1a0 [string] Make String internalization threadsafe for shared strings
This CL fixes 2 issues with string internalization when the string table
is shared:
1. In-place migration of a string's map to Internalized was done before
   it was sure that the string is going to be internalized (outside the
   critical section). To fix this problem StringTableKey::AsHandle() is
   now split into StringTableKey::PrepareForInsertion(), which is
   invoked outside the critical section and creates a copy if
   necessary, and StringTableKey::GetHandleForInsertion(), which is
   invoked inside the critical section only for string table misses.
   Migration of the map is handled by this method.
2. TryStringToIndexOrLookupExisting() didn't handle already internalized
   strings. So far this was impossible, as this method was only invoked
   for strings that were checked not to be internalized. However with
   a shared string table, the string could be internalized after the
   checks.

Bug: v8:12007
Change-Id: I193d6b54dc41360eee47d21cbcaa36d2652d85dd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3368103
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78600}
2022-01-13 11:32:25 +00:00
..
benchmarks [test] kraken/audio-beat-detection is slow in jitless 2022-01-10 09:31:38 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest [string] Make String internalization threadsafe for shared strings 2022-01-13 11:32:25 +00:00
common [wasm-gc] Implement br_on_array, br_on_non_array 2022-01-12 10:48:03 +00:00
debugger Revert "[class] implement reparsing of class instance member initializers" 2021-12-09 08:59:12 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [wasm] Update fuzzer corpus 2022-01-12 16:47:30 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [inspector] Capture stack trace only once for JSError objects. 2022-01-10 14:55:18 +00:00
intl [intl] Update Intl.Locale.weekInfo sync latest 2021-11-30 23:17:28 +00:00
js-perf-test [js-perf-test] Performance benchmarks for BigInt left and right shift 2021-12-02 14:16:15 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Reland "[top-level-await] Remove --harmony-top-level-await" 2021-12-06 23:02:33 +00:00
mjsunit [wasm-gc] Implement br_on_array, br_on_non_array 2022-01-12 10:48:03 +00:00
mkgrokdump V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
mozilla Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
test262 [Temporal] Implement simple getters 2022-01-12 02:10:43 +00:00
torque [builtins] catch and rethrow the message together with the exception 2021-12-06 22:14:56 +00:00
unittests Reland "[heap] Optimize time to reach global safepoint" 2022-01-12 10:35:25 +00:00
wasm-api-tests [wasm][test] Cleanup macros 2021-09-24 16:47:54 +00:00
wasm-js [wasm] Introduce 'funcref' for the type reflection proposal 2021-12-10 20:09:12 +00:00
wasm-spec-tests [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00