v8/test/cctest
Seth Brenith de96cb1552 Reland "Merge with cached Script after synchronous deserialization"
Changes since original:
- Updated to use the returned value from CompleteMergeInForeground as
  the compilation result, which is important for correctness.
- Added a test to verify the above.
- Moved the merge code into code-serializer.cc so that it can run before
  FinalizeDeserialization, which makes it more consistent with
  background deserialization.

Original change's description:
> 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}

Bug: v8:12808
Change-Id: I0628a381644e79888cb3ebdd97bda270814d0e9b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4014644
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84255}
2022-11-14 22:26:49 +00:00
..
compiler [turbofan] Improve boolean type hint for SLVerifier 2022-11-04 11:08:56 +00:00
heap [heap] Fix baseline code flushing with multi-referenced bytecode 2022-11-14 20:46:39 +00:00
torque [test] Migrate cctest/test-run-tail-calls to unittests/ 2022-09-05 16:33:54 +00:00
wasm Reland "[wasm] Do not add too much code at once" 2022-11-14 18:10:10 +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 [gcmole] Simplify gcmole directives and add tests 2022-11-14 13:07:15 +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 [inspector] Allow to break only on caught exceptions. 2022-11-09 07:44:28 +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 [runtime] Simplify const tracking 2022-11-11 10:09:01 +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 Reland "Merge with cached Script after synchronous deserialization" 2022-11-14 22:26:49 +00:00
test-shared-strings.cc Reland: [heap] Load MarkingBarrier from thread local on main thread 2022-11-14 12:18:18 +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