v8/test/cctest
Seth Brenith 24bddb5682 Merge with cached Script after synchronous deserialization
Currently, if a script is deserialized on a background thread and a
matching Script object is found in the Isolate compilation cache, the
new content is merged into the existing Script. This CL implements the
same merging for the much simpler case of deserializing on the main
thread. I expect speed changes to be minimal, because merging is only
needed in a small minority of compilations. When needed, it usually
takes about 10% as long as the corresponding deserialization.

Bug: v8:12808
Change-Id: Ie7a92bcb3111edf4cdab0eddeb7567979b35f437
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4010100
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#84123}
2022-11-08 15:36:59 +00:00
..
compiler [turbofan] Improve boolean type hint for SLVerifier 2022-11-04 11:08:56 +00:00
heap [test] reuse logic in heap test iterators 2022-11-07 11:24:43 +00:00
torque [test] Migrate cctest/test-run-tail-calls to unittests/ 2022-09-05 16:33:54 +00:00
wasm [wasm] Fast path for ref.func 2022-11-07 15:19:53 +00:00
assembler-helper-arm.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
assembler-helper-arm.h [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
BUILD.gn [profiler] add Serialize to v8::CpuProfile 2022-10-25 10:49:04 +00:00
cctest-utils.h Reland "[riscv32] Add RISCV32 backend" 2022-08-04 12:47:44 +00:00
cctest.cc [heap] Introduce a conservative stack scanning pass 2022-11-03 12:10:45 +00:00
cctest.h [heap] Introduce a conservative stack scanning pass 2022-11-03 12:10:45 +00:00
cctest.status Add an v8::ArrayBuffer::WasDetached method to the C++ API 2022-10-27 20:04:25 +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
feedback-vector-helper.h [test] Migrate cctest/test-feedback-vector to unittests/ 2022-08-22 16:36:28 +00:00
jsonstream-helper.h [profiler] add Serialize to v8::CpuProfile 2022-10-25 10:49:04 +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
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-accessor-assembler.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-accessors.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-allocation.cc Reland "Reland "[v8] Use |AllocateAtLeast| for resizing v8 zones."" 2022-10-19 11:55:27 +00:00
test-api-array-buffer.cc Add an v8::ArrayBuffer::WasDetached method to the C++ API 2022-10-27 20:04:25 +00:00
test-api-interceptors.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-api-stack-traces.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-api-typed-array.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-api.cc [heap] Introduce a conservative stack scanning pass 2022-11-03 12:10:45 +00:00
test-api.h [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-assembler-arm64.cc [msvc] fix ambiguous call to function in assembler test 2022-09-23 21:09:12 +00:00
test-assembler-arm.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-assembler-ia32.cc Remove unused RelocInfo::Mode::RUNTIME_ENTRY 2022-09-20 12:52:52 +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][mips64] Remove unused RelocInfo::Mode::RUNTIME_ENTRY 2022-09-21 10:54:43 +00:00
test-assembler-ppc.cc [codegen] Change RegList into a class 2022-03-14 12:59:48 +00:00
test-assembler-riscv32.cc [riscv] Fix cctest/test-assembler-riscv*/RISCV_UTEST_FLOAT_WIDENING_vfwredosum_vv. 2022-09-21 08:25:27 +00:00
test-assembler-riscv64.cc [riscv] Fix cctest/test-assembler-riscv*/RISCV_UTEST_FLOAT_WIDENING_vfwredosum_vv. 2022-09-21 08:25:27 +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-code-stub-assembler.cc [arraybuffers, api] Implement [[ArrayBufferDetachKey]] support 2022-10-21 12:55:18 +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 [profiler] add Serialize to v8::CpuProfile 2022-10-25 10:49:04 +00:00
test-debug-helper.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-debug.cc [debug] Fix breakpoints on lazy accessors sometimes not getting hit 2022-11-03 10:14:29 +00:00
test-descriptor-array.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +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-field-type-tracking.cc Revert "[ic] Remove SameValue optimisation for constant fields" 2022-10-28 08:23:09 +00:00
test-func-name-inference.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-fuzz-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-heap-profiler.cc [heap] Introduce a conservative stack scanning pass 2022-11-03 12:10:45 +00:00
test-helper-riscv32.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-helper-riscv32.h Reland "[riscv32] Add RISCV32 backend" 2022-08-04 12:47:44 +00:00
test-helper-riscv64.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-helper-riscv64.h [riscv] Fix cctest/test-assembler-riscv64/RISCV_UTEST_swlwu. 2022-09-09 13:19:26 +00:00
test-icache.cc Reland "[riscv32] Add RISCV32 backend" 2022-08-04 12:47:44 +00:00
test-ignition-statistics-extension.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-inobject-slack-tracking.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-javascript-arm64.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-js-arm64-variables.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-js-to-wasm.cc [wasm] Use v8_flags for accessing flag values 2022-08-29 12:43:46 +00:00
test-js-weak-refs.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-liveedit.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-lockers.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-log-stack-tracer.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-macro-assembler-arm.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-macro-assembler-loong64.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-macro-assembler-mips64.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-macro-assembler-riscv32.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-macro-assembler-riscv64.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-mementos.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-orderedhashtable.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-profile-generator.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +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 [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-sampler-api.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-serialize.cc Merge with cached Script after synchronous deserialization 2022-11-08 15:36:59 +00:00
test-shared-strings.cc [heap] Fix remaining test failures with --shared-heap 2022-10-05 08:30:26 +00:00
test-simple-riscv32.cc Reland "[riscv32] Add RISCV32 backend" 2022-08-04 12:47:44 +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 [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-stack-unwinding-win64.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-strings.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-swiss-name-dictionary-csa.cc [test] Migrate cctest/test-run-tail-calls to unittests/ 2022-09-05 16:33:54 +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 [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-swiss-name-dictionary-shared-tests.h Replace STATIC_ASSERT with static_assert 2022-05-13 13:46:27 +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-sync-primitives-arm64.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-sync-primitives-arm.cc [test] Remove some unused includes 2022-07-18 12:59:03 +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-transitions.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-transitions.h Reland "[runtime] Refactor TransitionsAccessor" 2022-02-14 12:05:06 +00:00
test-typedarrays.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-unscopables-hidden-prototype.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-unwinder-code-pages.cc [cctest] Use v8_flags for accessing flag values 2022-09-16 08:22:03 +00:00
test-usecounters.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-utils-arm64.cc [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-utils-arm64.h [test] Remove some unused includes 2022-07-18 12:59:03 +00:00
test-utils.cc [test] Remove some unused includes 2022-07-18 12:59:03 +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
testcfg.py [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
trace-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
trace-extension.h [test] Remove some unused includes 2022-07-18 12:59:03 +00:00