v8/test/cctest
Patrick Thier 8ba60b7a8e [string] Non-transitioning shared strings
Instead of transitioning shared strings to ThinString on
internalization, use a forwarding table to the internalized string and
store the index into the forwarding table in the string's hash field.

This way we don't need to handle concurrent string transitions that
modify the underlying string data.

During stop-the-world GC, live strings in the forwarding table are
migrated to regular ThinStrings.

Bug: v8:12007
Change-Id: I6c6f3d41c6f644e0aaeafbf25ecec5ce0aa0d2d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3536647
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Jakob Linke <jgruber@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79801}
2022-04-06 07:59:33 +00:00
..
compiler [maglev] Towards concurrent Maglev compilation 2022-03-16 08:54:23 +00:00
heap [heap] Separate GC phases flag. 2022-04-06 07:23:39 +00:00
interpreter [super IC] Fix API getter related bugs and re-enable super IC 2022-03-30 13:09:20 +00:00
libplatform [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{cctest,fuzzer,inspector} 2020-11-10 01:24:43 +00:00
libsampler Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
parsing [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
torque [csa, torque, cleanup] Rename CSA_ASSERT to CSA_DCHECK 2021-09-30 08:41:23 +00:00
wasm [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
assembler-helper-arm.cc [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
assembler-helper-arm.h [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
BUILD.gn Add ldflags for aix 2022-02-15 09:00:58 +00:00
cctest-utils.h [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
cctest.cc [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
cctest.h [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
cctest.status [api] Remove TracedGlobal<> 2022-03-23 21:04:51 +00:00
collector.h [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
DEPS Reland "[tracing] Roll perfetto @ 28b633cd" 2019-09-06 13:42:02 +00:00
disasm-regex-helper.cc [ext-code-space] Avoid Code <-> CodeT conversions in runtime, pt.2 2021-12-14 12:19:05 +00:00
disasm-regex-helper.h [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
expression-type-collector-macros.h [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
gay-fixed.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-fixed.h Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-precision.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-precision.h Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-shortest.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-shortest.h Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
manually-externalized-buffer.h [api] Deprecate [Shared]ArrayBuffer::Externalize/GetContents and constructors 2019-10-29 22:01:54 +00:00
OWNERS Update OWNERS in test/* 2021-02-25 14:26:24 +00:00
print-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
print-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
profiler-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
profiler-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
scope-test-helper.h [parser] Various Scope and Context speedups 2019-01-28 13:06:03 +00:00
setup-isolate-for-tests.cc [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
setup-isolate-for-tests.h Move initialization code into src/init 2019-05-16 12:36:15 +00:00
test-access-checks.cc Deprecate some signature checks 2022-03-31 12:11:21 +00:00
test-accessor-assembler.cc [ic] Use the Map for hashing in the secondary stub cache 2021-10-15 14:54:28 +00:00
test-accessors.cc [cleanup] Fix Wshadow warnings in cctests 2021-09-27 09:18:00 +00:00
test-allocation.cc [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
test-api-accessors.cc Deprecate some signature checks 2022-03-31 12:11:21 +00:00
test-api-array-buffer.cc [builtins] DataView should throws on detached buffer 2021-09-14 16:49:36 +00:00
test-api-icu.cc [Intl] Update ICU to 70-1 on v8 2021-11-12 11:35:09 +00:00
test-api-interceptors.cc [runtime] Fix handling of interceptors, pt.3 2022-04-01 10:36:01 +00:00
test-api-stack-traces.cc Introduce v8::StackTrace::CurrentScriptNameOrSourceURL 2022-01-17 11:34:28 +00:00
test-api-typed-array.cc [rab / gsab] Add tests for the recent DataView bugs 2021-11-24 16:20:29 +00:00
test-api-wasm.cc [wasm][api] Add WasmModuleObject::Compile api function 2021-11-19 22:25:15 +00:00
test-api.cc [heap] Separate GC phases flag. 2022-04-06 07:23:39 +00:00
test-api.h Reland "Fix -Wimplicit-int-float-conversions." 2021-06-29 16:36:18 +00:00
test-array-list.cc [runtime] Add ReadOnlyRoots.empty_array_list() 2022-02-16 08:17:06 +00:00
test-assembler-arm64.cc [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-assembler-arm.cc [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-assembler-ia32.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-assembler-loong64.cc [loong64] Fix the wrong encoding and usage of maskeqz/masknez instructions 2021-12-24 10:46:06 +00:00
test-assembler-mips64.cc [loong64][mips] Fix safepoint record of CallCFunction 2021-11-04 02:29:29 +00:00
test-assembler-mips.cc [loong64][mips] Fix safepoint record of CallCFunction 2021-11-04 02:29:29 +00:00
test-assembler-ppc.cc [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-assembler-riscv64.cc [riscv64] Add check_fn before calculating the expected value 2022-02-23 06:31:17 +00:00
test-assembler-s390.cc [cleanup] Rename RelocInfo::NONE to RelocInfo::NO_INFO to fix -Wshadow 2021-11-17 19:11:40 +00:00
test-assembler-x64.cc [x64] Implement 256-bit assembler for vshufps 2022-01-13 08:34:45 +00:00
test-atomicops.cc Add Relaxed_Memcmp 2021-12-03 18:00:48 +00:00
test-bignum-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-bignum.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-bit-vector.cc [utils] Move BitVector's iterator to STL-like interface. 2022-02-14 13:19:57 +00:00
test-circular-queue.cc Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
test-code-layout.cc [code] Make metadata offsets relative to metadata section 2020-10-27 10:49:13 +00:00
test-code-pages.cc [sparkplug] Remove BaselineData, use Code directly 2021-09-06 11:52:21 +00:00
test-code-stub-assembler.cc [runtime] Clean up runtime function Arguments accesses 2022-03-09 13:03:15 +00:00
test-compiler.cc [local-isolate] Move worker RCS scope into LocalIsolate 2021-12-10 11:08:01 +00:00
test-concurrent-descriptor-array.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-concurrent-feedback-vector.cc [ic] Fix -Wshadow by making InlineCacheState an enum class 2021-11-19 18:52:15 +00:00
test-concurrent-js-array.cc Reland "[compiler] Direct heap reads for JSArrayRef" 2021-02-22 12:15:50 +00:00
test-concurrent-prototype.cc Plumb Isolate through SetPrototype 2022-02-05 00:21:15 +00:00
test-concurrent-script-context-table.cc [runtime] Use a hashtable in ScriptContextTable 2022-02-07 16:06:15 +00:00
test-concurrent-string.cc [string] Skip concurrent tests if FLAG_single_generation is on 2021-06-09 12:30:28 +00:00
test-concurrent-transition-array.cc Reland "[runtime] Refactor TransitionsAccessor" 2022-02-14 12:05:06 +00:00
test-constantpool.cc PPC: [cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-25 08:49:53 +00:00
test-conversions.cc [numbers] Rename ConversionFlags:NO_FLAG to NO_CONVERSION_FLAGS 2021-11-11 22:04:22 +00:00
test-cpu-profiler.cc [profiler] Use FilterContext to filter VMState in Samples 2022-02-23 14:47:37 +00:00
test-date.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-debug-helper.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-debug.cc [debug] Hold on to promises weakly from the debugger's promise stack. 2022-03-24 08:16:32 +00:00
test-decls.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-deoptimization.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-descriptor-array.cc Refactor Name::Hash 2022-02-07 11:30:04 +00:00
test-dictionary.cc Disable --stress-concurrent-allocation for tests that change free lists 2020-09-03 11:15:39 +00:00
test-disasm-arm64.cc [wasm-simd] Remove PrefetchTemporal and PrefetchNonTemporal operations 2021-03-22 17:47:49 +00:00
test-disasm-arm.cc [wasm-simd][arm] Fuse extadd_pairwise and add SIMD on arm. 2021-06-28 14:26:00 +00:00
test-disasm-ia32.cc [cleanup] Rename RelocInfo::NONE to RelocInfo::NO_INFO to fix -Wshadow 2021-11-17 19:11:40 +00:00
test-disasm-loong64.cc [loong64] Fix the wrong encoding and usage of maskeqz/masknez instructions 2021-12-24 10:46:06 +00:00
test-disasm-mips64.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-mips.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-ppc.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-riscv64.cc [riscv64] Add RVV Float-Point Widening Instructions 2022-02-22 10:59:25 +00:00
test-disasm-s390.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-x64.cc [x64] Implement 256-bit assembler for vshufps 2022-01-13 08:34:45 +00:00
test-diy-fp.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-double.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-elements-kind.cc [factory] Remove deprecated JSFunction ctors 2020-11-11 06:12:35 +00:00
test-factory.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-fast-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-feedback-vector.cc [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
test-feedback-vector.h Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
test-field-type-tracking.cc Refactor OptimizationMarker and ConcurrencyMode enums 2022-03-30 08:37:42 +00:00
test-fixed-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-flags.cc [no-wasm][flags] Remove wasm flags 2021-03-16 07:31:25 +00:00
test-func-name-inference.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-fuzz-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-global-handles.cc [api] Remove TracedGlobal<> 2022-03-23 21:04:51 +00:00
test-global-object.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-hashcode.cc [dict-proto] Rename v8_dict_mode_prototypes flag 2021-03-29 11:53:45 +00:00
test-hashmap.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-heap-profiler.cc Refactor OptimizationMarker and ConcurrencyMode enums 2022-03-30 08:37:42 +00:00
test-helper-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-helper-riscv64.h [riscv64] Add RVV Float-Point Widening Instructions 2022-02-22 10:59:25 +00:00
test-icache.cc [wasm] Avoid passing nullptr to CodeSpaceWriteScope 2022-02-25 16:49:17 +00:00
test-identity-map.cc [string] Remove FLAG_thin_string and enable it all the time 2021-06-09 09:52:48 +00:00
test-ignition-statistics-extension.cc Fix counting ignition dispatches 2021-06-07 18:47:24 +00:00
test-inobject-slack-tracking.cc [runtime] Use NameToIndexHashTable in ScopeInfo 2022-01-27 18:25:52 +00:00
test-inspector.cc [inspector] Use ephemeron table for exception metadata 2021-09-16 08:45:11 +00:00
test-intl.cc [builtins] add Torque fast-path for String.prototype.localeCompare 2021-11-17 12:55:13 +00:00
test-javascript-arm64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-js-arm64-variables.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-js-to-wasm.cc Revert "[turbofan] Making OSR concurrent" 2022-02-21 14:02:43 +00:00
test-js-weak-refs.cc [heap] Separate GC phases flag. 2022-04-06 07:23:39 +00:00
test-liveedit.cc [cleanup] Fix some -Wshadow warnings 2021-11-02 17:11:48 +00:00
test-local-handles.cc [cleanup] Fix some -Wshadow warnings 2021-11-02 17:11:48 +00:00
test-lockers.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-log-stack-tracer.cc [ext-code-space] Use cage-friendly HeapObject::map() in compiler 2021-11-30 13:00:28 +00:00
test-log.cc [init] Install console API to context extras binding 2022-02-08 15:48:33 +00:00
test-macro-assembler-arm64.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-arm.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-loong64.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-mips64.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-mips.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-riscv64.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-x64.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-managed.cc [ext-code-space] Introduce managed-inl.h and global-handles-inl.h 2021-09-20 10:29:29 +00:00
test-mementos.cc [heap] Make creation of NewSpace and NewLargeObjectSpace optional 2021-05-04 06:47:54 +00:00
test-modules.cc Reland "[top-level-await] Remove --harmony-top-level-await" 2021-12-06 23:02:33 +00:00
test-object.cc [runtime] Fix constructors with custom instance types 2021-11-25 10:26:50 +00:00
test-orderedhashtable.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-parsing.cc [parser] Split AstRawString and Parser zones 2021-12-10 16:03:42 +00:00
test-persistent-handles.cc [cleanup] Fix some -Wshadow warnings 2021-11-02 17:11:48 +00:00
test-platform.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-pointer-auth-arm64.cc [arm64][cfi] Enable sim_abort_on_bad_auth by default. 2021-02-05 10:23:40 +00:00
test-profile-generator.cc [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
test-property-details.cc [dict-proto] Allow storing certain PropertyDetails in single byte 2021-02-04 13:45:13 +00:00
test-ptr-compr-cage.cc [ext-code-space] Make the code space external for real 2021-10-20 16:29:51 +00:00
test-random-number-generator.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-regexp.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-representation.cc Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-roots.cc [wasm-gc] Implement runtime-type canonicalization 2022-04-01 13:49:01 +00:00
test-sampler-api.cc Add test for builtin stack frames in profile sample 2021-11-24 09:33:30 +00:00
test-serialize.cc [osr] Minor refactors in OSR-related code 2022-03-17 10:09:16 +00:00
test-shared-strings.cc [string] Non-transitioning shared strings 2022-04-06 07:59:33 +00:00
test-simple-riscv64.cc [cleanup][test] Remove redundant NOLINT annotations 2021-04-30 11:46:14 +00:00
test-smi-lexicographic-compare.cc [cleanup] Eliminate non-const reference parameters 2019-09-10 09:31:07 +00:00
test-stack-unwinding-win64.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-strings.cc heap: Young gen cleanups 2022-02-14 16:42:58 +00:00
test-strtod.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-swiss-name-dictionary-csa.cc [ext-code-space][cleanup] Remove CodeDataContainer table 2021-12-16 17:32:39 +00:00
test-swiss-name-dictionary-infra.cc [runtime] Clean up runtime function Arguments accesses 2022-03-09 13:03:15 +00:00
test-swiss-name-dictionary-infra.h Reland [dict-proto] C++ implementation of SwissNameDictionary, pt. 10 2021-03-24 17:12:21 +00:00
test-swiss-name-dictionary-shared-tests.h [cctest] Fix -Wshadow warnings 2021-11-11 17:20:12 +00:00
test-swiss-name-dictionary.cc Reland "[dict-proto] SIMD support for SwissNameDictionary in Torque" 2021-03-31 13:01:34 +00:00
test-symbols.cc [runtime] Rename Name::Hash() to Name::EnsureHash() 2020-11-16 10:48:15 +00:00
test-sync-primitives-arm64.cc Reland "Reland "[deoptimizer] Change deopt entries into builtins"" 2020-10-21 06:01:38 +00:00
test-sync-primitives-arm.cc [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
test-temporal-parser.cc [Temporal] Part2 Add constructor and simple getters. 2022-01-07 19:18:33 +00:00
test-thread-termination.cc [init] Install console API to context extras binding 2022-02-08 15:48:33 +00:00
test-threads.cc Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
test-trace-event.cc [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
test-traced-value.cc [tracing] Improve tracing signals for compilation/optimization. 2019-03-25 14:49:08 +00:00
test-transitions.cc [runtime] Clean up runtime function Arguments accesses 2022-03-09 13:03:15 +00:00
test-transitions.h Reland "[runtime] Refactor TransitionsAccessor" 2022-02-14 12:05:06 +00:00
test-typedarrays.cc [api] Remove deprecated [Shared]ArrayBuffer API 2021-03-12 16:24:42 +00:00
test-types.cc [turbofan] Extend Type system BitsetType to 64 bit. 2021-11-18 10:02:56 +00:00
test-unscopables-hidden-prototype.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-unwinder-code-pages.cc Fix typos, intial* -> initial* 2022-03-23 13:20:33 +00:00
test-usecounters.cc [atomics] Remove the deprecated Atomics.wake 2020-08-10 23:02:17 +00:00
test-utils-arm64.cc [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-utils-arm64.h [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-utils.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-v8windbg.cc [tools] Add v8windbg, a WinDbg extension for V8 2020-02-18 19:16:18 +00:00
test-verifiers.cc [cleanup] Remove atomic kRelaxed accessors in favour for non-atomic ones 2021-03-08 10:57:19 +00:00
test-version.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-weakmaps.cc [heap] Separate GC phases flag. 2022-04-06 07:23:39 +00:00
test-weaksets.cc heap: Rename compaction flags 2021-11-10 09:01:59 +00:00
test-web-snapshots.cc [web snapshots] Add in-place strings 2022-03-07 09:24:02 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
trace-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
trace-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
unicode-helpers.cc Move string-related files to src/strings 2019-05-21 07:17:48 +00:00
unicode-helpers.h Move string-related files to src/strings 2019-05-21 07:17:48 +00:00