v8/test/cctest
Igor Sheludko 8437ed16e3 [runtime] Add interceptors side effects detector
This CL introduces SideEffectDetectorScope which requires explicit
allowlisting of cases when side effects are allowed after calling
interceptor callbacks.
Side effects are not allowed when the callback does not intercept
the request.
The side effects detector is not enabled yet, it will be enabled in
a follow-up CL.

Bug: chromium:1310062
Change-Id: I805764920ed016cb37390aef7bb02cbdf5f72846
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3641172
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80484}
2022-05-12 10:33:10 +00:00
..
compiler Remove "volatile" on arguments where deprecated in C++20. 2022-05-09 14:15:44 +00:00
heap [heap] Extend and rename NewSpace base class 2022-05-12 07:17:23 +00:00
interpreter [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
libplatform Revert "[test] Move tracing cctest to unittests" 2022-04-20 22:35:14 +00:00
libsampler Unify naming convention for tests and filter them in TestLoader for cctest 2022-04-20 14:19: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 [wasm-simd] Prototype Relaxed Rounding Q-format Multiplication 2022-05-11 16:10:32 +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 [test] Move cctest/test-log to unittests/logging/log-unittest 2022-05-09 12:31:45 +00:00
cctest-utils.h [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
cctest.cc Add prefix to cctests when listed to make retrieving them more robust 2022-04-27 09:26:10 +00:00
cctest.h [test] Make cctest run one test, with maybe custom platform 2022-04-05 09:39:18 +00:00
cctest.status [runtime] Add interceptors side effects detector 2022-05-12 10:33:10 +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
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 [runtime] Add interceptors side effects detector 2022-05-12 10:33:10 +00:00
test-allocation.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-api-accessors.cc [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +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] Add interceptors side effects detector 2022-05-12 10:33:10 +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 [runtime] Add interceptors side effects detector 2022-05-12 10:33:10 +00:00
test-api.h Reland "Fix -Wimplicit-int-float-conversions." 2021-06-29 16:36:18 +00:00
test-assembler-arm64.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-assembler-arm.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +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 Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-assembler-mips.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-assembler-ppc.cc [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-assembler-riscv64.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +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 assembly for SSE2_UNOP instructions 2022-04-19 13:01:50 +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-code-stub-assembler.cc [builtins] Embedded builtins don't depend on RAM on Android 2022-04-21 08:27:21 +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-cpu-profiler.cc [log] Use v8_file_logger variable names more consistently 2022-05-09 13:58:24 +00:00
test-debug-helper.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-debug.cc [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
test-decls.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-deoptimization.cc [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +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-regex-helper.cc Unify naming convention for tests and filter them in TestLoader for cctest 2022-04-20 14:19:55 +00:00
test-disasm-regex-helper.h Unify naming convention for tests and filter them in TestLoader for cctest 2022-04-20 14:19:55 +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 assembly for SSE2_UNOP instructions 2022-04-19 13:01:50 +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 [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +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 Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +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 [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +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] Deprecate unused GlobalHandles APIs that peek into internals 2022-04-21 12:55:15 +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 [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
test-helper-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-helper-riscv64.h Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-icache.cc Reland "[rwx][mac] Support fast W^X permission switching on Apple Silicon (M1)" 2022-04-28 14:08:11 +00:00
test-identity-map.cc [string] Add flag to use string forwarding table instead of ThinString 2022-04-27 09:09:30 +00:00
test-ignition-statistics-extension.cc Fix counting ignition dispatches 2021-06-07 18:47:24 +00:00
test-inobject-slack-tracking.cc [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
test-inspector.cc Distinguish untrusted clients in v8 inspector and disable Profiler, HeapProfiler and Schema CDP domains for them. 2022-05-03 12:38:17 +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 Reland "[osr] Enable concurrent OSR" 2022-04-11 13:09:35 +00:00
test-js-weak-refs.cc [weakrefs] Set unregister_token to undefined when unregistering 2022-05-03 21:09:47 +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 [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +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-macro-assembler-arm64.cc Reland "[rwx][mac] Introduce RwxMemoryWriteScope" 2022-04-19 08:48:47 +00:00
test-macro-assembler-arm.cc [deoptimizer] Remove soft deopts 2022-04-04 10:26:36 +00:00
test-macro-assembler-loong64.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-macro-assembler-mips64.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-macro-assembler-mips.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-macro-assembler-riscv64.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +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-orderedhashtable.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-parsing.cc [log] Use v8_file_logger variable names more consistently 2022-05-09 13:58:24 +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 [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +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 Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +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 Improve Script reuse in isolate compilation cache, part 1 2022-05-11 14:27:43 +00:00
test-shared-strings.cc [string] Add flag to use string forwarding table instead of ThinString 2022-04-27 09:09:30 +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 [string] Add flag to use string forwarding table instead of ThinString 2022-04-27 09:09:30 +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] Change Parser from Maybe to Optional 2022-05-10 05:31:24 +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 [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
test-usecounters.cc [atomics] Remove the deprecated Atomics.wake 2020-08-10 23:02:17 +00:00
test-utils-arm64.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
test-utils-arm64.h Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +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 snap] Support inheriting from builtins 2022-05-11 14:54:43 +00:00
testcfg.py Add prefix to cctests when listed to make retrieving them more robust 2022-04-27 09:26:10 +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