From 0ddf2b30bca01715cc9c24f699224230e58c5797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Wed, 14 Jun 2023 10:00:18 +0200 Subject: [PATCH 01/14] deps: update V8 to 11.5.150.10 --- deps/v8/.clang-format | 1 + deps/v8/.gn | 7 +- deps/v8/AUTHORS | 5 + deps/v8/BUILD.bazel | 783 +-- deps/v8/BUILD.gn | 329 +- deps/v8/COMMON_OWNERS | 1 + deps/v8/DEPS | 38 +- deps/v8/PRESUBMIT.py | 25 +- deps/v8/bazel/defs.bzl | 89 +- deps/v8/gni/Info.plist | 34 + deps/v8/gni/v8.gni | 66 +- deps/v8/include/cppgc/DEPS | 1 + .../v8/include/cppgc/internal/api-constants.h | 8 + .../include/cppgc/internal/member-storage.h | 24 +- deps/v8/include/cppgc/sentinel-pointer.h | 7 + deps/v8/include/cppgc/source-location.h | 80 +- deps/v8/include/cppgc/visitor.h | 6 +- deps/v8/include/js_protocol.pdl | 61 +- deps/v8/include/v8-callbacks.h | 6 - deps/v8/include/v8-context.h | 22 +- deps/v8/include/v8-embedder-heap.h | 12 + deps/v8/include/v8-fast-api-calls.h | 28 +- deps/v8/include/v8-function-callback.h | 25 +- deps/v8/include/v8-handle-base.h | 190 + deps/v8/include/v8-inspector.h | 2 +- deps/v8/include/v8-internal.h | 65 +- deps/v8/include/v8-isolate.h | 21 +- deps/v8/include/v8-local-handle.h | 217 +- deps/v8/include/v8-object.h | 97 +- deps/v8/include/v8-persistent-handle.h | 156 +- deps/v8/include/v8-platform.h | 115 +- deps/v8/include/v8-primitive.h | 6 - deps/v8/include/v8-profiler.h | 17 +- deps/v8/include/v8-script.h | 1 + deps/v8/include/v8-snapshot.h | 5 +- deps/v8/include/v8-source-location.h | 92 + deps/v8/include/v8-traced-handle.h | 91 +- deps/v8/include/v8-unwinder.h | 2 +- deps/v8/include/v8-util.h | 26 +- deps/v8/include/v8-value-serializer.h | 14 + deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8config.h | 22 +- deps/v8/infra/mb/mb_config.pyl | 10 + deps/v8/infra/testing/builders.pyl | 140 +- deps/v8/samples/process.cc | 10 +- deps/v8/samples/shell.cc | 68 +- deps/v8/src/DEPS | 7 +- deps/v8/src/api/api-arguments-inl.h | 246 +- deps/v8/src/api/api-arguments.cc | 18 +- deps/v8/src/api/api-arguments.h | 16 +- deps/v8/src/api/api-inl.h | 24 +- deps/v8/src/api/api-natives.cc | 22 +- deps/v8/src/api/api-natives.h | 6 + deps/v8/src/api/api.cc | 364 +- deps/v8/src/api/api.h | 32 +- deps/v8/src/asmjs/asm-js.cc | 24 +- deps/v8/src/asmjs/asm-parser.cc | 7 +- deps/v8/src/ast/ast-value-factory.h | 2 +- deps/v8/src/ast/ast.h | 1 + deps/v8/src/ast/scopes.cc | 107 +- deps/v8/src/ast/scopes.h | 13 - deps/v8/src/ast/variables.cc | 10 + deps/v8/src/ast/variables.h | 96 +- deps/v8/src/base/bounded-page-allocator.cc | 47 +- deps/v8/src/base/container-utils.h | 18 + deps/v8/src/base/contextual.h | 27 +- deps/v8/src/base/cpu.cc | 13 + deps/v8/src/base/cpu.h | 9 +- deps/v8/src/base/discriminated-union.h | 120 + deps/v8/src/base/enum-set.h | 27 +- deps/v8/src/base/flags.h | 28 +- deps/v8/src/base/iterator.h | 27 +- deps/v8/src/base/logging.h | 7 + deps/v8/src/base/macros.h | 15 +- deps/v8/src/base/platform/mutex.h | 15 +- deps/v8/src/base/platform/platform-linux.cc | 4 +- deps/v8/src/base/platform/platform-posix.cc | 11 +- deps/v8/src/base/platform/platform-win32.cc | 54 +- deps/v8/src/base/platform/platform-win32.h | 50 + deps/v8/src/base/pointer-with-payload.h | 9 + deps/v8/src/base/region-allocator.cc | 2 + deps/v8/src/base/small-vector.h | 18 +- deps/v8/src/base/template-utils.h | 51 + deps/v8/src/base/vector.h | 7 + deps/v8/src/baseline/baseline-assembler-inl.h | 2 + deps/v8/src/baseline/baseline-assembler.h | 1 + .../src/baseline/baseline-batch-compiler.cc | 10 +- deps/v8/src/baseline/baseline-compiler.cc | 103 +- deps/v8/src/baseline/baseline-compiler.h | 14 +- .../src/baseline/bytecode-offset-iterator.cc | 4 +- .../src/baseline/bytecode-offset-iterator.h | 3 +- .../loong64/baseline-assembler-loong64-inl.h | 16 + .../riscv/baseline-assembler-riscv-inl.h | 82 +- .../riscv/baseline-compiler-riscv-inl.h | 7 +- deps/v8/src/builtins/accessors.cc | 41 +- deps/v8/src/builtins/accessors.h | 36 +- deps/v8/src/builtins/arm/builtins-arm.cc | 404 +- deps/v8/src/builtins/arm64/builtins-arm64.cc | 637 +-- deps/v8/src/builtins/base.tq | 13 +- deps/v8/src/builtins/builtins-array-gen.cc | 69 +- deps/v8/src/builtins/builtins-array.cc | 34 +- deps/v8/src/builtins/builtins-call-gen.cc | 9 +- .../src/builtins/builtins-collections-gen.cc | 137 +- deps/v8/src/builtins/builtins-console.cc | 1 + deps/v8/src/builtins/builtins-definitions.h | 22 +- deps/v8/src/builtins/builtins-error.cc | 23 +- .../v8/src/builtins/builtins-generator-gen.cc | 4 +- deps/v8/src/builtins/builtins-internal-gen.cc | 27 +- deps/v8/src/builtins/builtins-intl.cc | 78 +- deps/v8/src/builtins/builtins-iterator-gen.cc | 3 +- deps/v8/src/builtins/builtins-regexp-gen.cc | 11 +- deps/v8/src/builtins/builtins-string-gen.cc | 32 +- deps/v8/src/builtins/builtins-struct.cc | 216 +- deps/v8/src/builtins/builtins-utils.h | 1 + deps/v8/src/builtins/builtins-wasm-gen.cc | 25 + deps/v8/src/builtins/builtins-wasm-gen.h | 2 + deps/v8/src/builtins/builtins-weak-refs.cc | 10 +- deps/v8/src/builtins/builtins.cc | 75 +- deps/v8/src/builtins/builtins.h | 13 +- deps/v8/src/builtins/conversion.tq | 4 +- deps/v8/src/builtins/finalization-registry.tq | 2 +- deps/v8/src/builtins/ia32/builtins-ia32.cc | 449 +- deps/v8/src/builtins/iterator-from.tq | 95 +- deps/v8/src/builtins/iterator-helpers.tq | 842 +++- deps/v8/src/builtins/iterator.tq | 2 +- .../src/builtins/loong64/builtins-loong64.cc | 472 +- .../v8/src/builtins/mips64/builtins-mips64.cc | 607 ++- deps/v8/src/builtins/ppc/builtins-ppc.cc | 394 +- deps/v8/src/builtins/profile-data-reader.cc | 57 +- deps/v8/src/builtins/profile-data-reader.h | 11 + deps/v8/src/builtins/riscv/builtins-riscv.cc | 457 +- deps/v8/src/builtins/s390/builtins-s390.cc | 422 +- .../src/builtins/setup-builtins-internal.cc | 32 +- .../builtins/typed-array-createtypedarray.tq | 80 +- deps/v8/src/builtins/wasm.tq | 102 +- deps/v8/src/builtins/weak-ref.tq | 2 +- deps/v8/src/builtins/x64/builtins-x64.cc | 458 +- deps/v8/src/codegen/arm/assembler-arm-inl.h | 6 +- deps/v8/src/codegen/arm/assembler-arm.cc | 51 +- deps/v8/src/codegen/arm/assembler-arm.h | 25 +- deps/v8/src/codegen/arm/constants-arm.h | 2 +- .../v8/src/codegen/arm/macro-assembler-arm.cc | 73 +- deps/v8/src/codegen/arm/macro-assembler-arm.h | 12 +- deps/v8/src/codegen/arm/register-arm.h | 13 + .../src/codegen/arm64/assembler-arm64-inl.h | 6 +- deps/v8/src/codegen/arm64/assembler-arm64.cc | 27 +- deps/v8/src/codegen/arm64/assembler-arm64.h | 22 +- .../src/codegen/arm64/instructions-arm64.cc | 4 +- .../codegen/arm64/macro-assembler-arm64.cc | 115 +- .../src/codegen/arm64/macro-assembler-arm64.h | 37 +- deps/v8/src/codegen/arm64/register-arm64.h | 13 + deps/v8/src/codegen/assembler.cc | 12 +- deps/v8/src/codegen/assembler.h | 96 +- deps/v8/src/codegen/bailout-reason.h | 1 + deps/v8/src/codegen/code-desc.h | 4 +- deps/v8/src/codegen/code-reference.cc | 22 +- deps/v8/src/codegen/code-reference.h | 4 +- deps/v8/src/codegen/code-stub-assembler.cc | 241 +- deps/v8/src/codegen/code-stub-assembler.h | 101 +- deps/v8/src/codegen/compilation-cache.cc | 12 +- deps/v8/src/codegen/compiler.cc | 271 +- deps/v8/src/codegen/compiler.h | 2 +- .../src/codegen/external-reference-table.cc | 28 +- .../v8/src/codegen/external-reference-table.h | 2 +- deps/v8/src/codegen/external-reference.cc | 28 +- deps/v8/src/codegen/external-reference.h | 21 +- deps/v8/src/codegen/handler-table.cc | 2 +- deps/v8/src/codegen/ia32/assembler-ia32-inl.h | 10 +- deps/v8/src/codegen/ia32/assembler-ia32.cc | 180 +- deps/v8/src/codegen/ia32/assembler-ia32.h | 106 +- .../ia32/interface-descriptors-ia32-inl.h | 6 +- .../src/codegen/ia32/macro-assembler-ia32.cc | 82 +- .../src/codegen/ia32/macro-assembler-ia32.h | 17 +- deps/v8/src/codegen/ia32/register-ia32.h | 7 + .../src/codegen/interface-descriptors-inl.h | 7 + deps/v8/src/codegen/interface-descriptors.cc | 2 +- deps/v8/src/codegen/interface-descriptors.h | 19 +- .../codegen/loong64/assembler-loong64-inl.h | 25 +- .../src/codegen/loong64/assembler-loong64.cc | 50 +- .../src/codegen/loong64/assembler-loong64.h | 42 +- .../src/codegen/loong64/constants-loong64.h | 2 +- .../loong64/macro-assembler-loong64.cc | 207 +- .../codegen/loong64/macro-assembler-loong64.h | 51 +- .../v8/src/codegen/loong64/register-loong64.h | 13 + deps/v8/src/codegen/machine-type.h | 2 +- deps/v8/src/codegen/macro-assembler-base.cc | 6 +- deps/v8/src/codegen/maglev-safepoint-table.cc | 4 +- .../src/codegen/mips64/assembler-mips64-inl.h | 6 +- .../v8/src/codegen/mips64/assembler-mips64.cc | 40 +- deps/v8/src/codegen/mips64/assembler-mips64.h | 24 +- deps/v8/src/codegen/mips64/constants-mips64.h | 2 +- .../codegen/mips64/macro-assembler-mips64.cc | 72 +- .../codegen/mips64/macro-assembler-mips64.h | 13 +- deps/v8/src/codegen/mips64/register-mips64.h | 13 + .../src/codegen/optimized-compilation-info.cc | 11 +- .../src/codegen/optimized-compilation-info.h | 22 +- .../src/codegen/pending-optimization-table.cc | 8 +- deps/v8/src/codegen/ppc/assembler-ppc-inl.h | 6 +- deps/v8/src/codegen/ppc/assembler-ppc.cc | 46 +- deps/v8/src/codegen/ppc/assembler-ppc.h | 21 +- deps/v8/src/codegen/ppc/constants-ppc.h | 4 +- deps/v8/src/codegen/ppc/cpu-ppc.cc | 8 +- .../v8/src/codegen/ppc/macro-assembler-ppc.cc | 107 +- deps/v8/src/codegen/ppc/macro-assembler-ppc.h | 17 +- deps/v8/src/codegen/ppc/register-ppc.h | 13 + deps/v8/src/codegen/register.h | 6 +- deps/v8/src/codegen/reloc-info-inl.h | 27 + deps/v8/src/codegen/reloc-info.cc | 174 +- deps/v8/src/codegen/reloc-info.h | 207 +- .../src/codegen/riscv/assembler-riscv-inl.h | 7 +- deps/v8/src/codegen/riscv/assembler-riscv.cc | 83 +- deps/v8/src/codegen/riscv/assembler-riscv.h | 35 +- .../src/codegen/riscv/base-assembler-riscv.h | 1 + .../src/codegen/riscv/base-constants-riscv.h | 2 +- deps/v8/src/codegen/riscv/constant-riscv-v.h | 9 + deps/v8/src/codegen/riscv/cpu-riscv.cc | 8 +- .../v8/src/codegen/riscv/extension-riscv-v.cc | 12 +- deps/v8/src/codegen/riscv/extension-riscv-v.h | 10 +- .../codegen/riscv/macro-assembler-riscv.cc | 186 +- .../src/codegen/riscv/macro-assembler-riscv.h | 66 +- deps/v8/src/codegen/riscv/register-riscv.h | 13 + deps/v8/src/codegen/s390/assembler-s390-inl.h | 50 +- deps/v8/src/codegen/s390/assembler-s390.cc | 35 +- deps/v8/src/codegen/s390/assembler-s390.h | 23 +- deps/v8/src/codegen/s390/constants-s390.h | 30 +- .../src/codegen/s390/macro-assembler-s390.cc | 139 +- .../src/codegen/s390/macro-assembler-s390.h | 14 +- deps/v8/src/codegen/s390/register-s390.h | 32 +- deps/v8/src/codegen/safepoint-table.cc | 4 +- .../macro-assembler-shared-ia32-x64.cc | 42 +- .../macro-assembler-shared-ia32-x64.h | 2 +- deps/v8/src/codegen/source-position-table.cc | 28 +- deps/v8/src/codegen/source-position-table.h | 8 +- deps/v8/src/codegen/source-position.cc | 30 +- deps/v8/src/codegen/tnode.h | 1 + deps/v8/src/codegen/x64/assembler-x64-inl.h | 25 +- deps/v8/src/codegen/x64/assembler-x64.cc | 338 +- deps/v8/src/codegen/x64/assembler-x64.h | 319 +- .../v8/src/codegen/x64/macro-assembler-x64.cc | 258 +- deps/v8/src/codegen/x64/macro-assembler-x64.h | 46 +- deps/v8/src/codegen/x64/register-x64.h | 7 + deps/v8/src/codegen/x64/sse-instr.h | 20 +- deps/v8/src/common/code-memory-access.cc | 19 - deps/v8/src/common/code-memory-access.h | 51 +- deps/v8/src/common/globals.h | 52 +- deps/v8/src/common/message-template.h | 3 + deps/v8/src/common/ptr-compr-inl.h | 43 +- deps/v8/src/common/ptr-compr.cc | 35 +- deps/v8/src/common/ptr-compr.h | 20 +- deps/v8/src/compiler/access-builder.cc | 309 +- deps/v8/src/compiler/access-builder.h | 2 +- deps/v8/src/compiler/access-info.cc | 60 +- .../compiler/add-type-assertions-reducer.cc | 94 +- .../compiler/add-type-assertions-reducer.h | 24 +- deps/v8/src/compiler/allocation-builder.h | 2 +- .../backend/arm/code-generator-arm.cc | 23 +- .../backend/arm/instruction-selector-arm.cc | 2 + .../backend/arm64/code-generator-arm64.cc | 32 +- .../backend/arm64/instruction-codes-arm64.h | 2 + .../arm64/instruction-scheduler-arm64.cc | 2 + .../arm64/instruction-selector-arm64.cc | 193 +- .../v8/src/compiler/backend/code-generator.cc | 71 +- deps/v8/src/compiler/backend/code-generator.h | 61 +- .../backend/ia32/code-generator-ia32.cc | 55 +- .../backend/ia32/instruction-selector-ia32.cc | 2 + .../backend/instruction-selector-impl.h | 9 + .../compiler/backend/instruction-selector.cc | 305 +- .../compiler/backend/instruction-selector.h | 21 +- deps/v8/src/compiler/backend/instruction.cc | 6 +- deps/v8/src/compiler/backend/instruction.h | 3 + .../backend/loong64/code-generator-loong64.cc | 190 +- .../loong64/instruction-selector-loong64.cc | 135 +- .../backend/mips64/code-generator-mips64.cc | 39 +- .../mips64/instruction-selector-mips64.cc | 34 +- .../backend/ppc/code-generator-ppc.cc | 27 +- .../backend/ppc/instruction-selector-ppc.cc | 2 + .../compiler/backend/register-allocator.cc | 63 +- .../src/compiler/backend/register-allocator.h | 37 +- .../backend/riscv/code-generator-riscv.cc | 68 +- .../riscv/instruction-selector-riscv32.cc | 2 + .../riscv/instruction-selector-riscv64.cc | 282 +- .../backend/s390/code-generator-s390.cc | 54 +- .../backend/s390/instruction-selector-s390.cc | 5 +- .../backend/x64/code-generator-x64.cc | 1349 +++++- .../backend/x64/instruction-codes-x64.h | 51 +- .../backend/x64/instruction-scheduler-x64.cc | 51 +- .../backend/x64/instruction-selector-x64.cc | 302 +- deps/v8/src/compiler/bytecode-analysis.cc | 136 +- deps/v8/src/compiler/bytecode-analysis.h | 19 +- .../v8/src/compiler/bytecode-graph-builder.cc | 53 +- deps/v8/src/compiler/bytecode-graph-builder.h | 17 +- deps/v8/src/compiler/code-assembler.h | 12 + .../src/compiler/common-operator-reducer.cc | 29 + deps/v8/src/compiler/common-operator.cc | 64 +- deps/v8/src/compiler/common-operator.h | 8 +- .../src/compiler/compilation-dependencies.cc | 192 +- .../src/compiler/compilation-dependencies.h | 54 +- .../src/compiler/constant-folding-reducer.cc | 33 +- .../src/compiler/decompression-optimizer.cc | 29 +- .../src/compiler/effect-control-linearizer.cc | 469 +- deps/v8/src/compiler/escape-analysis.cc | 14 +- deps/v8/src/compiler/fast-api-calls.cc | 6 +- deps/v8/src/compiler/fast-api-calls.h | 3 +- deps/v8/src/compiler/frame-states.cc | 14 +- deps/v8/src/compiler/frame-states.h | 13 +- deps/v8/src/compiler/globals.h | 20 +- deps/v8/src/compiler/graph-assembler.cc | 8 +- deps/v8/src/compiler/graph-assembler.h | 2 +- deps/v8/src/compiler/graph-visualizer.cc | 44 +- deps/v8/src/compiler/graph-visualizer.h | 31 + deps/v8/src/compiler/heap-refs.cc | 91 +- deps/v8/src/compiler/heap-refs.h | 99 +- deps/v8/src/compiler/js-call-reducer.cc | 227 +- deps/v8/src/compiler/js-call-reducer.h | 30 +- .../src/compiler/js-context-specialization.cc | 23 +- deps/v8/src/compiler/js-create-lowering.cc | 10 +- deps/v8/src/compiler/js-create-lowering.h | 4 +- deps/v8/src/compiler/js-graph.cc | 6 +- deps/v8/src/compiler/js-graph.h | 2 +- deps/v8/src/compiler/js-heap-broker.cc | 42 +- deps/v8/src/compiler/js-heap-broker.h | 126 +- deps/v8/src/compiler/js-inlining-heuristic.cc | 5 +- deps/v8/src/compiler/js-inlining.cc | 45 +- deps/v8/src/compiler/js-inlining.h | 8 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 6 +- .../js-native-context-specialization.cc | 181 +- .../js-native-context-specialization.h | 18 +- deps/v8/src/compiler/js-operator.cc | 58 +- deps/v8/src/compiler/js-operator.h | 92 +- deps/v8/src/compiler/js-type-hint-lowering.h | 2 +- deps/v8/src/compiler/js-typed-lowering.cc | 4 +- deps/v8/src/compiler/linkage.cc | 34 +- deps/v8/src/compiler/linkage.h | 9 +- deps/v8/src/compiler/load-elimination.cc | 93 +- deps/v8/src/compiler/load-elimination.h | 23 +- deps/v8/src/compiler/loop-analysis.cc | 8 +- .../src/compiler/loop-variable-optimizer.cc | 3 + .../src/compiler/machine-operator-reducer.cc | 17 +- deps/v8/src/compiler/machine-operator.cc | 256 +- deps/v8/src/compiler/machine-operator.h | 139 +- deps/v8/src/compiler/map-inference.cc | 39 +- deps/v8/src/compiler/map-inference.h | 6 +- deps/v8/src/compiler/memory-optimizer.cc | 133 +- deps/v8/src/compiler/memory-optimizer.h | 54 +- deps/v8/src/compiler/node-matchers.h | 17 +- deps/v8/src/compiler/node-properties.cc | 41 +- deps/v8/src/compiler/node-properties.h | 5 +- deps/v8/src/compiler/opcodes.h | 118 +- .../src/compiler/pair-load-store-reducer.cc | 92 + .../v8/src/compiler/pair-load-store-reducer.h | 46 + deps/v8/src/compiler/persistent-map.h | 5 +- deps/v8/src/compiler/pipeline-statistics.cc | 12 +- deps/v8/src/compiler/pipeline-statistics.h | 1 + deps/v8/src/compiler/pipeline.cc | 244 +- deps/v8/src/compiler/pipeline.h | 8 +- deps/v8/src/compiler/processed-feedback.h | 6 +- .../src/compiler/property-access-builder.cc | 19 +- .../v8/src/compiler/property-access-builder.h | 7 +- deps/v8/src/compiler/raw-machine-assembler.h | 10 +- deps/v8/src/compiler/revectorizer.cc | 142 +- deps/v8/src/compiler/schedule.cc | 6 + deps/v8/src/compiler/schedule.h | 8 + deps/v8/src/compiler/scheduler.cc | 9 + .../compiler/simplified-lowering-verifier.cc | 3 +- deps/v8/src/compiler/simplified-lowering.cc | 72 +- deps/v8/src/compiler/simplified-operator.cc | 138 +- deps/v8/src/compiler/simplified-operator.h | 62 +- deps/v8/src/compiler/turboshaft/assembler.h | 761 ++- .../turboshaft/assert-types-reducer.h | 19 +- .../turboshaft/branch-elimination-reducer.h | 141 +- .../compiler/turboshaft/build-graph-phase.cc | 16 +- .../compiler/turboshaft/build-graph-phase.h | 3 +- .../turboshaft/builtin-call-descriptors.h | 167 +- .../turboshaft/dead-code-elimination-phase.cc | 10 +- .../turboshaft/dead-code-elimination-phase.h | 2 +- .../dead-code-elimination-reducer.h | 26 +- .../decompression-optimization-phase.cc | 5 +- .../decompression-optimization-phase.h | 4 +- .../turboshaft/define-assembler-macros.inc | 63 +- deps/v8/src/compiler/turboshaft/deopt-data.h | 7 +- .../turboshaft/fast-api-call-reducer.h | 649 +++ deps/v8/src/compiler/turboshaft/fast-hash.h | 7 + .../src/compiler/turboshaft/graph-builder.cc | 623 ++- .../src/compiler/turboshaft/graph-builder.h | 8 +- deps/v8/src/compiler/turboshaft/graph.h | 9 +- deps/v8/src/compiler/turboshaft/index.h | 28 +- .../turboshaft/late-escape-analysis-reducer.h | 8 +- .../compiler/turboshaft/layered-hash-map.h | 2 + .../turboshaft/machine-lowering-phase.cc | 13 +- .../turboshaft/machine-lowering-phase.h | 2 +- .../turboshaft/machine-lowering-reducer.h | 1830 +++++-- .../turboshaft/machine-optimization-reducer.h | 108 +- .../turboshaft/memory-optimization-reducer.h | 38 +- deps/v8/src/compiler/turboshaft/operations.cc | 200 +- deps/v8/src/compiler/turboshaft/operations.h | 1192 ++++- .../compiler/turboshaft/optimization-phase.h | 200 +- .../src/compiler/turboshaft/optimize-phase.cc | 15 +- .../src/compiler/turboshaft/optimize-phase.h | 2 +- deps/v8/src/compiler/turboshaft/phase.cc | 29 +- deps/v8/src/compiler/turboshaft/phase.h | 20 +- .../pretenuring-propagation-reducer.cc | 150 + .../pretenuring-propagation-reducer.h | 240 + .../turboshaft/recreate-schedule-phase.cc | 8 +- .../turboshaft/recreate-schedule-phase.h | 3 +- .../compiler/turboshaft/recreate-schedule.cc | 109 +- .../compiler/turboshaft/recreate-schedule.h | 8 +- .../src/compiler/turboshaft/representations.h | 2 +- .../turboshaft/runtime-call-descriptors.h | 42 + .../turboshaft/select-lowering-reducer.h | 14 +- .../src/compiler/turboshaft/snapshot-table.h | 257 +- ...se.cc => store-store-elimination-phase.cc} | 14 +- ...hase.h => store-store-elimination-phase.h} | 12 +- .../store-store-elimination-reducer.h | 412 ++ .../structural-optimization-reducer.h | 229 + .../turboshaft/tag-untag-lowering-phase.cc | 16 - .../turboshaft/tag-untag-lowering-phase.h | 20 - .../turboshaft/tag-untag-lowering-reducer.h | 24 +- .../turboshaft/type-assertions-phase.cc | 16 +- .../turboshaft/type-assertions-phase.h | 2 +- .../turboshaft/type-inference-analysis.h | 61 +- .../turboshaft/type-inference-reducer.h | 89 +- .../turboshaft/typed-optimizations-phase.cc | 12 +- .../turboshaft/typed-optimizations-phase.h | 2 +- .../turboshaft/typed-optimizations-reducer.h | 9 +- deps/v8/src/compiler/turboshaft/typer.h | 41 +- deps/v8/src/compiler/turboshaft/types.h | 12 +- .../turboshaft/undef-assembler-macros.inc | 16 +- .../turboshaft/uniform-reducer-adapter.h | 10 +- .../turboshaft/value-numbering-reducer.h | 35 +- .../compiler/turboshaft/variable-reducer.h | 24 +- deps/v8/src/compiler/typed-optimization.cc | 2 +- deps/v8/src/compiler/typed-optimization.h | 2 +- deps/v8/src/compiler/typer.cc | 26 +- deps/v8/src/compiler/types.cc | 20 +- deps/v8/src/compiler/types.h | 24 +- deps/v8/src/compiler/use-info.h | 1 + deps/v8/src/compiler/verifier.cc | 12 +- .../compiler/wasm-address-reassociation.cc | 192 + .../src/compiler/wasm-address-reassociation.h | 86 + deps/v8/src/compiler/wasm-compiler.cc | 674 ++- deps/v8/src/compiler/wasm-compiler.h | 65 +- deps/v8/src/compiler/wasm-gc-lowering.cc | 41 +- .../src/compiler/wasm-gc-operator-reducer.cc | 76 +- .../src/compiler/wasm-gc-operator-reducer.h | 12 +- deps/v8/src/compiler/wasm-graph-assembler.cc | 17 + deps/v8/src/compiler/wasm-graph-assembler.h | 19 +- deps/v8/src/compiler/wasm-inlining-into-js.cc | 60 +- deps/v8/src/compiler/wasm-inlining-into-js.h | 5 +- deps/v8/src/compiler/wasm-inlining.cc | 17 +- deps/v8/src/compiler/wasm-load-elimination.cc | 130 +- deps/v8/src/compiler/wasm-load-elimination.h | 5 + deps/v8/src/compiler/wasm-typer.cc | 14 +- deps/v8/src/d8/async-hooks-wrapper.cc | 156 +- deps/v8/src/d8/async-hooks-wrapper.h | 8 +- deps/v8/src/d8/d8-posix.cc | 145 +- deps/v8/src/d8/d8-test.cc | 618 ++- deps/v8/src/d8/d8.cc | 713 +-- deps/v8/src/d8/d8.h | 128 +- deps/v8/src/debug/debug-coverage.cc | 10 +- deps/v8/src/debug/debug-evaluate.cc | 8 + deps/v8/src/debug/debug-interface.cc | 52 +- deps/v8/src/debug/debug-property-iterator.cc | 2 +- deps/v8/src/debug/debug-scope-iterator.cc | 7 +- deps/v8/src/debug/debug-scopes.cc | 11 +- deps/v8/src/debug/debug-wasm-objects.cc | 10 +- deps/v8/src/debug/debug.cc | 196 +- deps/v8/src/debug/debug.h | 22 +- deps/v8/src/debug/liveedit.cc | 11 +- .../src/debug/wasm/gdb-server/gdb-server.cc | 2 +- .../wasm/gdb-server/wasm-module-debug.cc | 2 +- deps/v8/src/deoptimizer/deoptimize-reason.h | 11 +- .../deoptimizer/deoptimizer-cfi-builtins.cc | 2 +- deps/v8/src/deoptimizer/deoptimizer.cc | 150 +- deps/v8/src/deoptimizer/deoptimizer.h | 10 + deps/v8/src/deoptimizer/translated-state.cc | 123 +- deps/v8/src/deoptimizer/translated-state.h | 10 +- deps/v8/src/deoptimizer/translation-array.cc | 20 +- deps/v8/src/deoptimizer/translation-array.h | 4 + deps/v8/src/deoptimizer/translation-opcode.h | 5 +- deps/v8/src/diagnostics/arm/disasm-arm.cc | 45 +- deps/v8/src/diagnostics/arm64/disasm-arm64.cc | 14 +- .../src/diagnostics/compilation-statistics.cc | 33 +- .../src/diagnostics/compilation-statistics.h | 13 +- deps/v8/src/diagnostics/disasm.h | 14 +- deps/v8/src/diagnostics/disassembler.cc | 85 +- deps/v8/src/diagnostics/disassembler.h | 5 +- deps/v8/src/diagnostics/eh-frame.cc | 48 +- deps/v8/src/diagnostics/eh-frame.h | 40 +- deps/v8/src/diagnostics/etw-jit-win.cc | 127 +- deps/v8/src/diagnostics/gdb-jit.cc | 10 +- deps/v8/src/diagnostics/ia32/disasm-ia32.cc | 195 +- .../src/diagnostics/loong64/disasm-loong64.cc | 26 +- .../src/diagnostics/mips64/disasm-mips64.cc | 54 +- deps/v8/src/diagnostics/objects-debug.cc | 81 +- deps/v8/src/diagnostics/objects-printer.cc | 191 +- deps/v8/src/diagnostics/perf-jit.cc | 18 +- deps/v8/src/diagnostics/ppc/disasm-ppc.cc | 28 +- deps/v8/src/diagnostics/riscv/disasm-riscv.cc | 67 +- deps/v8/src/diagnostics/s390/disasm-s390.cc | 34 +- deps/v8/src/diagnostics/unwinder.cc | 6 +- deps/v8/src/diagnostics/x64/disasm-x64.cc | 254 +- deps/v8/src/execution/arm/simulator-arm.cc | 97 +- .../arm64/pointer-authentication-arm64.h | 28 +- .../v8/src/execution/arm64/simulator-arm64.cc | 123 +- deps/v8/src/execution/execution.cc | 14 +- deps/v8/src/execution/frame-constants.h | 1 + deps/v8/src/execution/frames.cc | 201 +- deps/v8/src/execution/frames.h | 64 +- deps/v8/src/execution/interrupts-scope.h | 2 +- deps/v8/src/execution/isolate-data.h | 23 +- deps/v8/src/execution/isolate-utils-inl.h | 22 - deps/v8/src/execution/isolate.cc | 349 +- deps/v8/src/execution/isolate.h | 55 +- .../execution/loong64/simulator-loong64.cc | 66 +- deps/v8/src/execution/messages.cc | 101 +- deps/v8/src/execution/messages.h | 28 +- .../src/execution/mips64/simulator-mips64.cc | 66 +- deps/v8/src/execution/ppc/simulator-ppc.cc | 85 +- deps/v8/src/execution/protectors.h | 14 +- .../v8/src/execution/riscv/simulator-riscv.cc | 490 +- deps/v8/src/execution/s390/simulator-s390.cc | 98 +- deps/v8/src/execution/simulator.h | 4 +- deps/v8/src/execution/thread-local-top.h | 2 + deps/v8/src/execution/tiering-manager.cc | 126 +- deps/v8/src/execution/tiering-manager.h | 15 +- .../src/extensions/cputracemark-extension.cc | 10 +- .../src/extensions/cputracemark-extension.h | 2 +- .../externalize-string-extension.cc | 167 +- .../extensions/externalize-string-extension.h | 12 +- deps/v8/src/extensions/gc-extension.cc | 23 +- deps/v8/src/extensions/gc-extension.h | 2 +- .../ignition-statistics-extension.cc | 7 +- .../ignition-statistics-extension.h | 2 +- .../v8/src/extensions/statistics-extension.cc | 30 +- deps/v8/src/extensions/statistics-extension.h | 2 +- .../extensions/trigger-failure-extension.cc | 9 +- .../extensions/trigger-failure-extension.h | 6 +- .../vtunedomain-support-extension.cc | 22 +- .../vtunedomain-support-extension.h | 2 +- deps/v8/src/flags/flag-definitions.h | 215 +- deps/v8/src/handles/handles-inl.h | 17 +- deps/v8/src/handles/handles.cc | 70 - deps/v8/src/handles/handles.h | 78 +- deps/v8/src/handles/local-handles.cc | 2 +- deps/v8/src/handles/maybe-handles-inl.h | 6 + deps/v8/src/handles/maybe-handles.h | 8 + deps/v8/src/handles/persistent-handles.cc | 6 + deps/v8/src/handles/persistent-handles.h | 4 + deps/v8/src/handles/traced-handles.cc | 358 +- deps/v8/src/heap/allocation-observer.cc | 1 - deps/v8/src/heap/array-buffer-sweeper.cc | 4 - deps/v8/src/heap/array-buffer-sweeper.h | 5 +- deps/v8/src/heap/base-space.h | 34 +- deps/v8/src/heap/base/basic-slot-set.h | 73 +- deps/v8/src/heap/base/stack.cc | 4 +- deps/v8/src/heap/base/stack.h | 16 +- deps/v8/src/heap/basic-memory-chunk.cc | 23 +- deps/v8/src/heap/basic-memory-chunk.h | 146 +- deps/v8/src/heap/code-range.cc | 8 +- deps/v8/src/heap/code-stats.cc | 9 +- deps/v8/src/heap/collection-barrier.cc | 24 +- deps/v8/src/heap/collection-barrier.h | 8 +- deps/v8/src/heap/concurrent-allocator-inl.h | 2 +- deps/v8/src/heap/concurrent-allocator.cc | 22 +- deps/v8/src/heap/concurrent-marking.cc | 201 +- deps/v8/src/heap/concurrent-marking.h | 53 +- .../v8/src/heap/conservative-stack-visitor.cc | 93 +- deps/v8/src/heap/cppgc-js/cpp-heap.cc | 55 +- .../src/heap/cppgc-js/cpp-marking-state-inl.h | 15 - deps/v8/src/heap/cppgc-js/cpp-marking-state.h | 2 - deps/v8/src/heap/cppgc-js/cpp-snapshot.cc | 18 +- .../cppgc-js/unified-heap-marking-visitor.h | 6 +- deps/v8/src/heap/cppgc/caged-heap.cc | 32 +- deps/v8/src/heap/cppgc/compactor.cc | 19 +- deps/v8/src/heap/cppgc/heap-base.cc | 21 + deps/v8/src/heap/cppgc/heap-base.h | 26 +- deps/v8/src/heap/cppgc/heap-consistency.cc | 5 +- deps/v8/src/heap/cppgc/marker.cc | 3 +- deps/v8/src/heap/cppgc/source-location.cc | 16 - deps/v8/src/heap/ephemeron-remembered-set.cc | 33 + deps/v8/src/heap/ephemeron-remembered-set.h | 44 + deps/v8/src/heap/evacuation-verifier-inl.h | 24 +- deps/v8/src/heap/evacuation-verifier.cc | 125 +- deps/v8/src/heap/evacuation-verifier.h | 82 +- deps/v8/src/heap/factory-base.cc | 48 +- deps/v8/src/heap/factory-base.h | 25 +- deps/v8/src/heap/factory-inl.h | 2 + deps/v8/src/heap/factory.cc | 507 +- deps/v8/src/heap/factory.h | 114 +- deps/v8/src/heap/free-list.cc | 34 +- deps/v8/src/heap/free-list.h | 50 +- deps/v8/src/heap/gc-tracer.cc | 131 +- deps/v8/src/heap/gc-tracer.h | 28 +- deps/v8/src/heap/heap-allocator-inl.h | 9 +- deps/v8/src/heap/heap-inl.h | 102 +- deps/v8/src/heap/heap-verifier.cc | 97 +- deps/v8/src/heap/heap-write-barrier-inl.h | 16 +- deps/v8/src/heap/heap-write-barrier.cc | 5 +- deps/v8/src/heap/heap-write-barrier.h | 5 +- deps/v8/src/heap/heap.cc | 616 +-- deps/v8/src/heap/heap.h | 329 +- deps/v8/src/heap/incremental-marking-inl.h | 10 +- deps/v8/src/heap/incremental-marking-job.cc | 16 +- deps/v8/src/heap/incremental-marking-job.h | 3 +- deps/v8/src/heap/incremental-marking.cc | 82 +- deps/v8/src/heap/incremental-marking.h | 2 +- deps/v8/src/heap/invalidated-slots-inl.h | 114 - deps/v8/src/heap/invalidated-slots.cc | 94 - deps/v8/src/heap/invalidated-slots.h | 108 - deps/v8/src/heap/large-spaces.cc | 16 +- deps/v8/src/heap/large-spaces.h | 21 +- deps/v8/src/heap/local-factory.cc | 33 +- deps/v8/src/heap/local-factory.h | 3 +- deps/v8/src/heap/local-heap-inl.h | 5 +- deps/v8/src/heap/local-heap.cc | 11 +- deps/v8/src/heap/local-heap.h | 11 +- deps/v8/src/heap/mark-compact-inl.h | 279 +- deps/v8/src/heap/mark-compact.cc | 1431 +++--- deps/v8/src/heap/mark-compact.h | 275 +- deps/v8/src/heap/marking-barrier-inl.h | 11 - deps/v8/src/heap/marking-barrier.cc | 28 +- deps/v8/src/heap/marking-barrier.h | 3 +- deps/v8/src/heap/marking-inl.h | 354 ++ deps/v8/src/heap/marking-state-inl.h | 54 +- deps/v8/src/heap/marking-state.h | 15 +- deps/v8/src/heap/marking-visitor-inl.h | 104 +- deps/v8/src/heap/marking-visitor.h | 101 +- deps/v8/src/heap/marking.cc | 69 +- deps/v8/src/heap/marking.h | 482 +- deps/v8/src/heap/memory-allocator.cc | 25 +- deps/v8/src/heap/memory-chunk-layout.cc | 5 +- deps/v8/src/heap/memory-chunk-layout.h | 22 +- deps/v8/src/heap/memory-chunk.cc | 332 +- deps/v8/src/heap/memory-chunk.h | 134 +- deps/v8/src/heap/memory-measurement.cc | 2 +- deps/v8/src/heap/memory-reducer.cc | 2 +- deps/v8/src/heap/new-spaces-inl.h | 16 +- deps/v8/src/heap/new-spaces.cc | 148 +- deps/v8/src/heap/new-spaces.h | 97 +- deps/v8/src/heap/object-stats.cc | 12 +- deps/v8/src/heap/objects-visiting-inl.h | 184 +- deps/v8/src/heap/objects-visiting.h | 104 +- deps/v8/src/heap/paged-spaces.cc | 201 +- deps/v8/src/heap/paged-spaces.h | 90 +- deps/v8/src/heap/pretenuring-handler-inl.h | 6 +- deps/v8/src/heap/pretenuring-handler.cc | 27 +- deps/v8/src/heap/progress-bar.h | 3 +- deps/v8/src/heap/read-only-spaces.cc | 60 +- deps/v8/src/heap/read-only-spaces.h | 6 +- deps/v8/src/heap/reference-summarizer.cc | 7 +- deps/v8/src/heap/remembered-set-inl.h | 18 +- deps/v8/src/heap/remembered-set.h | 88 +- deps/v8/src/heap/scavenger-inl.h | 41 +- deps/v8/src/heap/scavenger.cc | 147 +- deps/v8/src/heap/scavenger.h | 18 +- deps/v8/src/heap/setup-heap-internal.cc | 61 +- deps/v8/src/heap/slot-set.h | 50 +- deps/v8/src/heap/spaces.cc | 27 +- deps/v8/src/heap/spaces.h | 20 +- deps/v8/src/heap/sweeper.cc | 944 ++-- deps/v8/src/heap/sweeper.h | 180 +- deps/v8/src/ic/accessor-assembler.cc | 81 +- deps/v8/src/ic/call-optimization.cc | 27 +- deps/v8/src/ic/call-optimization.h | 11 +- deps/v8/src/ic/handler-configuration.cc | 5 +- deps/v8/src/ic/ic.cc | 127 +- deps/v8/src/ic/keyed-store-generic.cc | 9 +- deps/v8/src/init/bootstrapper.cc | 285 +- deps/v8/src/init/heap-symbols.h | 13 +- deps/v8/src/inspector/BUILD.gn | 6 +- deps/v8/src/inspector/custom-preview.cc | 7 +- deps/v8/src/inspector/injected-script.cc | 157 +- deps/v8/src/inspector/injected-script.h | 17 +- .../inspector/inspector_protocol_config.json | 2 +- deps/v8/src/inspector/string-16.h | 1 + deps/v8/src/inspector/v8-console.cc | 2 +- .../src/inspector/v8-debugger-agent-impl.cc | 41 +- deps/v8/src/inspector/v8-debugger.cc | 7 + deps/v8/src/inspector/v8-debugger.h | 14 +- deps/v8/src/inspector/v8-deep-serializer.cc | 330 ++ deps/v8/src/inspector/v8-deep-serializer.h | 25 + .../inspector/v8-heap-profiler-agent-impl.cc | 219 +- .../inspector/v8-heap-profiler-agent-impl.h | 23 +- .../inspector/v8-inspector-session-impl.cc | 8 +- .../src/inspector/v8-inspector-session-impl.h | 3 + .../v8/src/inspector/v8-runtime-agent-impl.cc | 113 +- deps/v8/src/inspector/v8-runtime-agent-impl.h | 24 +- .../v8-serialization-duplicate-tracker.cc | 76 + .../v8-serialization-duplicate-tracker.h | 40 + .../src/inspector/v8-webdriver-serializer.cc | 332 -- .../src/inspector/v8-webdriver-serializer.h | 24 - deps/v8/src/inspector/value-mirror.cc | 233 +- deps/v8/src/inspector/value-mirror.h | 11 +- .../src/interpreter/bytecode-array-builder.cc | 11 + .../src/interpreter/bytecode-array-builder.h | 3 +- .../interpreter/bytecode-array-iterator.cc | 20 +- .../src/interpreter/bytecode-array-iterator.h | 11 +- .../bytecode-array-random-iterator.cc | 2 +- deps/v8/src/interpreter/bytecode-generator.cc | 399 +- deps/v8/src/interpreter/bytecode-generator.h | 19 + deps/v8/src/interpreter/bytecodes.h | 1 + .../src/interpreter/interpreter-assembler.cc | 105 +- .../src/interpreter/interpreter-assembler.h | 26 +- .../src/interpreter/interpreter-generator.cc | 29 +- deps/v8/src/interpreter/interpreter.cc | 4 +- deps/v8/src/json/json-parser.cc | 7 +- deps/v8/src/json/json-stringifier.cc | 5 +- deps/v8/src/libplatform/default-platform.cc | 14 +- deps/v8/src/libplatform/default-platform.h | 5 +- .../default-thread-isolated-allocator.cc | 93 + .../default-thread-isolated-allocator.h | 42 + .../tracing/trace-event-listener.cc | 27 - .../tracing/trace-event-listener.h | 16 +- deps/v8/src/logging/code-events.h | 2 + deps/v8/src/logging/counters-definitions.h | 76 +- deps/v8/src/logging/counters.cc | 281 +- deps/v8/src/logging/counters.h | 120 +- deps/v8/src/logging/log-inl.h | 2 +- deps/v8/src/logging/log.cc | 33 +- deps/v8/src/logging/runtime-call-stats.h | 6 +- .../maglev/arm64/maglev-assembler-arm64-inl.h | 98 +- .../maglev/arm64/maglev-assembler-arm64.cc | 34 +- deps/v8/src/maglev/arm64/maglev-ir-arm64.cc | 512 +- deps/v8/src/maglev/maglev-assembler-inl.h | 19 + deps/v8/src/maglev/maglev-assembler.cc | 60 + deps/v8/src/maglev/maglev-assembler.h | 39 +- deps/v8/src/maglev/maglev-basic-block.h | 76 +- deps/v8/src/maglev/maglev-code-gen-state.h | 3 + deps/v8/src/maglev/maglev-code-generator.cc | 169 +- deps/v8/src/maglev/maglev-compilation-info.cc | 45 +- deps/v8/src/maglev/maglev-compilation-info.h | 25 +- deps/v8/src/maglev/maglev-compilation-unit.cc | 15 +- deps/v8/src/maglev/maglev-compilation-unit.h | 22 +- deps/v8/src/maglev/maglev-compiler.cc | 128 +- .../maglev/maglev-concurrent-dispatcher.cc | 18 +- .../src/maglev/maglev-concurrent-dispatcher.h | 6 +- deps/v8/src/maglev/maglev-graph-builder.cc | 3971 +++++++++++----- deps/v8/src/maglev/maglev-graph-builder.h | 695 ++- deps/v8/src/maglev/maglev-graph-printer.cc | 85 +- deps/v8/src/maglev/maglev-graph-printer.h | 7 +- deps/v8/src/maglev/maglev-graph-processor.h | 39 +- deps/v8/src/maglev/maglev-graph-verifier.h | 4 +- .../maglev/maglev-interpreter-frame-state.cc | 384 +- .../maglev/maglev-interpreter-frame-state.h | 137 +- deps/v8/src/maglev/maglev-ir-inl.h | 73 +- deps/v8/src/maglev/maglev-ir.cc | 1014 +++- deps/v8/src/maglev/maglev-ir.h | 1405 ++++-- .../maglev-phi-representation-selector.cc | 795 +++- .../maglev-phi-representation-selector.h | 121 +- deps/v8/src/maglev/maglev-regalloc.cc | 146 +- deps/v8/src/maglev/maglev-regalloc.h | 8 +- deps/v8/src/maglev/maglev.cc | 6 +- deps/v8/src/maglev/maglev.h | 3 +- .../src/maglev/x64/maglev-assembler-x64-inl.h | 95 +- .../v8/src/maglev/x64/maglev-assembler-x64.cc | 35 +- deps/v8/src/maglev/x64/maglev-ir-x64.cc | 488 +- deps/v8/src/numbers/conversions.cc | 21 +- deps/v8/src/numbers/conversions.h | 1 + deps/v8/src/objects/abstract-code-inl.h | 144 + deps/v8/src/objects/abstract-code.cc | 53 + deps/v8/src/objects/abstract-code.h | 72 + deps/v8/src/objects/allocation-site-inl.h | 1 + deps/v8/src/objects/api-callbacks-inl.h | 20 +- deps/v8/src/objects/api-callbacks.h | 4 - deps/v8/src/objects/backing-store.cc | 12 +- deps/v8/src/objects/bigint.cc | 18 +- deps/v8/src/objects/bytecode-array-inl.h | 192 + deps/v8/src/objects/bytecode-array.cc | 211 + deps/v8/src/objects/bytecode-array.h | 125 + .../objects/{code.tq => bytecode-array.tq} | 1 - deps/v8/src/objects/call-site-info-inl.h | 1 + deps/v8/src/objects/call-site-info.cc | 64 +- deps/v8/src/objects/call-site-info.h | 1 + deps/v8/src/objects/call-site-info.tq | 1 + deps/v8/src/objects/code-inl.h | 861 +--- deps/v8/src/objects/code-kind.h | 2 +- deps/v8/src/objects/code.cc | 809 +--- deps/v8/src/objects/code.h | 790 +-- deps/v8/src/objects/compressed-slots-inl.h | 13 +- deps/v8/src/objects/compressed-slots.h | 2 +- deps/v8/src/objects/contexts.cc | 2 +- deps/v8/src/objects/contexts.h | 7 +- deps/v8/src/objects/contexts.tq | 1 + deps/v8/src/objects/debug-objects-inl.h | 4 +- deps/v8/src/objects/deoptimization-data-inl.h | 93 + deps/v8/src/objects/deoptimization-data.cc | 97 + deps/v8/src/objects/deoptimization-data.h | 141 + deps/v8/src/objects/dependent-code-inl.h | 43 + deps/v8/src/objects/dependent-code.cc | 193 + deps/v8/src/objects/dependent-code.h | 133 + deps/v8/src/objects/dictionary-inl.h | 40 +- deps/v8/src/objects/dictionary.h | 28 +- deps/v8/src/objects/elements.cc | 60 +- deps/v8/src/objects/feedback-cell-inl.h | 12 +- deps/v8/src/objects/feedback-cell.h | 3 +- deps/v8/src/objects/feedback-vector.cc | 26 +- deps/v8/src/objects/feedback-vector.h | 3 - deps/v8/src/objects/feedback-vector.tq | 7 +- deps/v8/src/objects/fixed-array-inl.h | 57 +- deps/v8/src/objects/fixed-array.h | 41 +- deps/v8/src/objects/hash-table.h | 1 + deps/v8/src/objects/heap-object-inl.h | 7 - deps/v8/src/objects/heap-object.h | 11 +- deps/v8/src/objects/hole-inl.h | 49 + deps/v8/src/objects/hole.h | 58 + deps/v8/src/objects/hole.tq | 9 + deps/v8/src/objects/instance-type-inl.h | 40 +- deps/v8/src/objects/instance-type.h | 19 + deps/v8/src/objects/instruction-stream-inl.h | 159 + deps/v8/src/objects/instruction-stream.cc | 29 + deps/v8/src/objects/instruction-stream.h | 155 + deps/v8/src/objects/intl-objects.cc | 9 +- deps/v8/src/objects/js-array-buffer-inl.h | 2 - deps/v8/src/objects/js-array-buffer.cc | 1 - deps/v8/src/objects/js-array-buffer.h | 3 - deps/v8/src/objects/js-function-inl.h | 14 +- deps/v8/src/objects/js-function.cc | 15 +- deps/v8/src/objects/js-function.h | 4 +- deps/v8/src/objects/js-iterator-helpers-inl.h | 2 + deps/v8/src/objects/js-iterator-helpers.h | 12 + deps/v8/src/objects/js-iterator-helpers.tq | 7 + deps/v8/src/objects/js-locale.cc | 45 +- deps/v8/src/objects/js-locale.h | 14 +- deps/v8/src/objects/js-number-format.cc | 2 +- deps/v8/src/objects/js-objects-inl.h | 21 +- deps/v8/src/objects/js-objects.cc | 218 +- deps/v8/src/objects/js-objects.h | 35 +- deps/v8/src/objects/js-objects.tq | 2 +- deps/v8/src/objects/js-struct.cc | 20 + deps/v8/src/objects/js-struct.h | 7 + deps/v8/src/objects/keys.cc | 2 +- deps/v8/src/objects/lookup-inl.h | 59 +- deps/v8/src/objects/lookup.cc | 160 +- deps/v8/src/objects/lookup.h | 35 +- deps/v8/src/objects/map-inl.h | 87 +- deps/v8/src/objects/map-updater.cc | 6 +- deps/v8/src/objects/map.cc | 57 +- deps/v8/src/objects/map.h | 30 +- deps/v8/src/objects/object-list-macros.h | 5 +- deps/v8/src/objects/object-macros.h | 10 +- .../objects/objects-body-descriptors-inl.h | 47 +- deps/v8/src/objects/objects-inl.h | 16 +- deps/v8/src/objects/objects.cc | 187 +- deps/v8/src/objects/objects.h | 3 + deps/v8/src/objects/oddball-inl.h | 4 +- deps/v8/src/objects/oddball.h | 33 +- deps/v8/src/objects/ordered-hash-table.cc | 2 +- deps/v8/src/objects/ordered-hash-table.h | 12 +- deps/v8/src/objects/property-cell-inl.h | 6 +- deps/v8/src/objects/script-inl.h | 46 +- deps/v8/src/objects/script.h | 62 +- deps/v8/src/objects/script.tq | 2 +- .../v8/src/objects/shared-function-info-inl.h | 13 +- deps/v8/src/objects/shared-function-info.cc | 19 +- deps/v8/src/objects/shared-function-info.h | 15 +- deps/v8/src/objects/slots-inl.h | 8 +- deps/v8/src/objects/slots.h | 2 +- deps/v8/src/objects/string-inl.h | 22 +- deps/v8/src/objects/string.cc | 138 +- deps/v8/src/objects/string.h | 11 +- deps/v8/src/objects/turboshaft-types.tq | 7 + deps/v8/src/objects/value-serializer.cc | 53 +- deps/v8/src/objects/value-serializer.h | 3 + deps/v8/src/objects/visitors-inl.h | 36 + deps/v8/src/objects/visitors.cc | 12 +- deps/v8/src/objects/visitors.h | 128 +- deps/v8/src/parsing/parse-info.cc | 10 +- deps/v8/src/parsing/parser-base.h | 7 +- deps/v8/src/parsing/parser.cc | 23 +- deps/v8/src/parsing/scanner-inl.h | 2 +- deps/v8/src/parsing/scanner.cc | 18 +- deps/v8/src/parsing/scanner.h | 9 +- deps/v8/src/profiler/allocation-tracker.cc | 13 +- deps/v8/src/profiler/allocation-tracker.h | 2 +- deps/v8/src/profiler/cpu-profiler.cc | 18 +- deps/v8/src/profiler/cpu-profiler.h | 7 + deps/v8/src/profiler/heap-profiler.cc | 24 +- deps/v8/src/profiler/heap-profiler.h | 38 +- .../src/profiler/heap-snapshot-generator.cc | 199 +- .../v8/src/profiler/heap-snapshot-generator.h | 31 +- deps/v8/src/profiler/profiler-listener.cc | 2 +- .../v8/src/profiler/sampling-heap-profiler.cc | 10 +- deps/v8/src/profiler/strings-storage.cc | 5 +- deps/v8/src/profiler/tick-sample.h | 35 +- .../regexp/arm/regexp-macro-assembler-arm.cc | 18 +- .../arm64/regexp-macro-assembler-arm64.cc | 3 +- .../arm64/regexp-macro-assembler-arm64.h | 4 +- .../ia32/regexp-macro-assembler-ia32.cc | 17 +- .../loong64/regexp-macro-assembler-loong64.cc | 18 +- .../mips64/regexp-macro-assembler-mips64.cc | 20 +- .../regexp/ppc/regexp-macro-assembler-ppc.cc | 20 +- deps/v8/src/regexp/regexp-ast.h | 4 +- .../src/regexp/regexp-bytecode-generator.cc | 2 +- .../v8/src/regexp/regexp-bytecode-generator.h | 4 +- .../v8/src/regexp/regexp-bytecode-peephole.cc | 56 +- deps/v8/src/regexp/regexp-bytecode-peephole.h | 5 +- deps/v8/src/regexp/regexp-bytecodes.cc | 7 +- deps/v8/src/regexp/regexp-bytecodes.h | 5 +- deps/v8/src/regexp/regexp-interpreter.cc | 28 +- deps/v8/src/regexp/regexp-macro-assembler.cc | 22 +- deps/v8/src/regexp/regexp-macro-assembler.h | 14 +- deps/v8/src/regexp/regexp-parser.cc | 31 +- deps/v8/src/regexp/regexp-stack.cc | 2 +- deps/v8/src/regexp/regexp-stack.h | 8 +- .../riscv/regexp-macro-assembler-riscv.cc | 27 +- .../s390/regexp-macro-assembler-s390.cc | 18 +- .../regexp/x64/regexp-macro-assembler-x64.cc | 16 +- deps/v8/src/roots/roots-inl.h | 1 + deps/v8/src/roots/roots.h | 13 +- deps/v8/src/roots/static-roots.h | 1380 +++--- deps/v8/src/runtime/runtime-array.cc | 3 +- deps/v8/src/runtime/runtime-atomics.cc | 48 +- deps/v8/src/runtime/runtime-compiler.cc | 140 +- deps/v8/src/runtime/runtime-debug.cc | 66 +- deps/v8/src/runtime/runtime-object.cc | 25 +- deps/v8/src/runtime/runtime-regexp.cc | 15 +- deps/v8/src/runtime/runtime-scopes.cc | 4 +- deps/v8/src/runtime/runtime-test-wasm.cc | 20 +- deps/v8/src/runtime/runtime-test.cc | 76 +- deps/v8/src/runtime/runtime-wasm.cc | 161 +- deps/v8/src/runtime/runtime.h | 128 +- .../src/sandbox/external-entity-table-inl.h | 256 + deps/v8/src/sandbox/external-entity-table.h | 203 + .../src/sandbox/external-pointer-table-inl.h | 311 +- deps/v8/src/sandbox/external-pointer-table.cc | 303 +- deps/v8/src/sandbox/external-pointer-table.h | 626 +-- deps/v8/src/sandbox/testing.cc | 47 +- deps/v8/src/snapshot/code-serializer.cc | 167 +- deps/v8/src/snapshot/code-serializer.h | 23 +- deps/v8/src/snapshot/context-deserializer.cc | 2 +- deps/v8/src/snapshot/context-serializer.cc | 15 +- deps/v8/src/snapshot/context-serializer.h | 2 +- deps/v8/src/snapshot/deserializer.cc | 251 +- deps/v8/src/snapshot/deserializer.h | 53 +- .../src/snapshot/embedded/embedded-data-inl.h | 141 +- .../v8/src/snapshot/embedded/embedded-data.cc | 130 +- deps/v8/src/snapshot/embedded/embedded-data.h | 198 +- .../snapshot/embedded/embedded-file-writer.cc | 24 +- .../snapshot/embedded/embedded-file-writer.h | 2 +- .../platform-embedded-file-writer-aix.cc | 2 +- .../platform-embedded-file-writer-generic.cc | 2 +- .../platform-embedded-file-writer-mac.cc | 2 +- .../platform-embedded-file-writer-win.cc | 8 +- deps/v8/src/snapshot/mksnapshot.cc | 29 +- .../v8/src/snapshot/read-only-deserializer.cc | 56 +- deps/v8/src/snapshot/read-only-serializer.cc | 238 +- deps/v8/src/snapshot/read-only-serializer.h | 11 +- deps/v8/src/snapshot/references.h | 2 +- deps/v8/src/snapshot/roots-serializer.cc | 2 +- .../src/snapshot/serializer-deserializer.cc | 29 +- .../v8/src/snapshot/serializer-deserializer.h | 40 +- deps/v8/src/snapshot/serializer.cc | 375 +- deps/v8/src/snapshot/serializer.h | 41 +- .../v8/src/snapshot/shared-heap-serializer.cc | 8 +- deps/v8/src/snapshot/shared-heap-serializer.h | 2 +- deps/v8/src/snapshot/snapshot-compression.cc | 5 +- deps/v8/src/snapshot/snapshot-compression.h | 2 +- deps/v8/src/snapshot/snapshot-data.cc | 10 +- deps/v8/src/snapshot/snapshot-data.h | 18 +- deps/v8/src/snapshot/snapshot-source-sink.cc | 14 +- deps/v8/src/snapshot/snapshot-source-sink.h | 23 +- deps/v8/src/snapshot/snapshot-utils.cc | 2 +- deps/v8/src/snapshot/snapshot-utils.h | 2 +- deps/v8/src/snapshot/snapshot.cc | 96 +- deps/v8/src/snapshot/startup-deserializer.cc | 3 +- deps/v8/src/snapshot/startup-serializer.cc | 23 +- deps/v8/src/snapshot/startup-serializer.h | 2 +- deps/v8/src/snapshot/static-roots-gen.cc | 1 + deps/v8/src/strings/string-builder.cc | 20 +- deps/v8/src/strings/unicode-decoder.cc | 11 +- deps/v8/src/strings/unicode-decoder.h | 10 +- deps/v8/src/strings/unicode.cc | 2 +- deps/v8/src/strings/unicode.h | 2 +- deps/v8/src/torque/csa-generator.cc | 19 +- deps/v8/src/torque/implementation-visitor.cc | 29 +- deps/v8/src/torque/types.cc | 13 +- deps/v8/src/torque/types.h | 2 +- deps/v8/src/tracing/trace-event.h | 4 +- .../src/trap-handler/handler-inside-posix.cc | 8 +- .../src/trap-handler/trap-handler-simulator.h | 4 +- deps/v8/src/trap-handler/trap-handler.h | 5 +- deps/v8/src/utils/address-map.h | 5 +- deps/v8/src/utils/allocation.cc | 4 +- deps/v8/src/utils/memcopy.cc | 6 +- deps/v8/src/utils/scoped-list.h | 2 +- deps/v8/src/utils/sparse-bit-vector.h | 7 +- deps/v8/src/wasm/assembler-buffer-cache.cc | 66 - deps/v8/src/wasm/assembler-buffer-cache.h | 46 - .../wasm/baseline/arm/liftoff-assembler-arm.h | 46 +- .../baseline/arm64/liftoff-assembler-arm64.h | 34 +- .../baseline/ia32/liftoff-assembler-ia32.h | 24 +- .../v8/src/wasm/baseline/liftoff-assembler.cc | 38 +- deps/v8/src/wasm/baseline/liftoff-assembler.h | 41 +- deps/v8/src/wasm/baseline/liftoff-compiler.cc | 536 ++- deps/v8/src/wasm/baseline/liftoff-compiler.h | 2 - .../loong64/liftoff-assembler-loong64.h | 10 +- .../mips64/liftoff-assembler-mips64.h | 10 +- .../wasm/baseline/ppc/liftoff-assembler-ppc.h | 14 +- .../baseline/riscv/liftoff-assembler-riscv.h | 10 +- .../riscv/liftoff-assembler-riscv64.h | 7 +- .../baseline/s390/liftoff-assembler-s390.h | 32 +- .../wasm/baseline/x64/liftoff-assembler-x64.h | 18 +- deps/v8/src/wasm/c-api.cc | 13 +- deps/v8/src/wasm/code-space-access.cc | 15 +- deps/v8/src/wasm/code-space-access.h | 9 +- deps/v8/src/wasm/compilation-environment.h | 12 + .../src/wasm/constant-expression-interface.cc | 15 +- .../src/wasm/constant-expression-interface.h | 1 + deps/v8/src/wasm/constant-expression.cc | 6 +- deps/v8/src/wasm/decoder.h | 79 +- deps/v8/src/wasm/function-body-decoder-impl.h | 2426 +++++----- deps/v8/src/wasm/function-body-decoder.cc | 34 +- deps/v8/src/wasm/function-body-decoder.h | 63 +- deps/v8/src/wasm/function-compiler.cc | 50 +- deps/v8/src/wasm/function-compiler.h | 9 +- deps/v8/src/wasm/graph-builder-interface.cc | 334 +- deps/v8/src/wasm/jump-table-assembler.cc | 40 +- deps/v8/src/wasm/jump-table-assembler.h | 8 +- deps/v8/src/wasm/local-decl-encoder.cc | 11 +- deps/v8/src/wasm/local-decl-encoder.h | 4 +- deps/v8/src/wasm/module-compiler.cc | 227 +- deps/v8/src/wasm/module-decoder-impl.h | 202 +- deps/v8/src/wasm/module-decoder.cc | 15 +- deps/v8/src/wasm/module-decoder.h | 2 +- deps/v8/src/wasm/module-instantiate.cc | 214 +- deps/v8/src/wasm/module-instantiate.h | 7 +- deps/v8/src/wasm/names-provider.cc | 11 +- deps/v8/src/wasm/pgo.cc | 35 +- deps/v8/src/wasm/pgo.h | 2 +- deps/v8/src/wasm/stacks.cc | 10 +- deps/v8/src/wasm/stacks.h | 4 +- deps/v8/src/wasm/streaming-decoder.cc | 2 +- deps/v8/src/wasm/streaming-decoder.h | 3 +- deps/v8/src/wasm/string-builder.h | 2 +- deps/v8/src/wasm/value-type.h | 12 +- deps/v8/src/wasm/wasm-code-manager.cc | 246 +- deps/v8/src/wasm/wasm-code-manager.h | 75 +- deps/v8/src/wasm/wasm-constants.h | 4 + deps/v8/src/wasm/wasm-debug.cc | 10 +- deps/v8/src/wasm/wasm-disassembler-impl.h | 9 +- deps/v8/src/wasm/wasm-disassembler.cc | 103 +- deps/v8/src/wasm/wasm-engine.cc | 41 +- deps/v8/src/wasm/wasm-engine.h | 2 +- deps/v8/src/wasm/wasm-external-refs.cc | 24 +- deps/v8/src/wasm/wasm-external-refs.h | 2 + deps/v8/src/wasm/wasm-feature-flags.h | 31 +- deps/v8/src/wasm/wasm-init-expr.cc | 60 - deps/v8/src/wasm/wasm-init-expr.h | 3 - deps/v8/src/wasm/wasm-js.cc | 543 ++- deps/v8/src/wasm/wasm-limits.h | 6 +- deps/v8/src/wasm/wasm-module-builder.cc | 60 +- deps/v8/src/wasm/wasm-module-builder.h | 57 +- deps/v8/src/wasm/wasm-module.cc | 18 +- deps/v8/src/wasm/wasm-module.h | 22 +- deps/v8/src/wasm/wasm-objects-inl.h | 45 +- deps/v8/src/wasm/wasm-objects.cc | 264 +- deps/v8/src/wasm/wasm-objects.h | 73 +- deps/v8/src/wasm/wasm-objects.tq | 15 +- deps/v8/src/wasm/wasm-opcodes-inl.h | 16 +- deps/v8/src/wasm/wasm-opcodes.h | 74 +- deps/v8/src/wasm/wasm-serialization.cc | 76 +- deps/v8/src/wasm/wasm-serialization.h | 9 +- deps/v8/src/wasm/wasm-value.h | 10 +- deps/v8/src/wasm/well-known-imports.cc | 13 + deps/v8/src/wasm/well-known-imports.h | 8 + deps/v8/src/zone/zone-compact-set.h | 362 ++ deps/v8/src/zone/zone-containers.h | 29 +- deps/v8/src/zone/zone-handle-set.h | 248 - deps/v8/src/zone/zone-list-inl.h | 2 +- deps/v8/src/zone/zone-list.h | 4 +- deps/v8/src/zone/zone-utils.h | 2 +- deps/v8/test/benchmarks/benchmarks.status | 23 +- .../benchmarks/cpp/cppgc/allocation_perf.cc | 10 +- deps/v8/test/cctest/BUILD.gn | 3 - deps/v8/test/cctest/cctest.cc | 51 +- deps/v8/test/cctest/cctest.h | 31 +- deps/v8/test/cctest/cctest.status | 69 +- deps/v8/test/cctest/compiler/codegen-tester.h | 2 +- .../test/cctest/compiler/function-tester.cc | 3 - .../v8/test/cctest/compiler/function-tester.h | 1 - .../cctest/compiler/js-heap-broker-base.h | 106 + .../test/cctest/compiler/serializer-tester.h | 1 - .../test-atomic-load-store-codegen.cc | 2 +- .../test-calls-with-arraylike-or-spread.cc | 13 +- .../cctest/compiler/test-code-generator.cc | 7 +- .../test-concurrent-shared-function-info.cc | 3 +- .../cctest/compiler/test-js-constant-cache.cc | 20 +- .../test-js-context-specialization.cc | 109 +- .../cctest/compiler/test-js-typed-lowering.cc | 21 +- .../cctest/compiler/test-multiple-return.cc | 8 +- .../compiler/test-representation-change.cc | 13 +- .../cctest/compiler/test-run-load-store.cc | 26 +- .../test/cctest/compiler/test-verify-type.cc | 2 + deps/v8/test/cctest/heap/heap-utils.cc | 54 +- deps/v8/test/cctest/heap/heap-utils.h | 30 +- deps/v8/test/cctest/heap/test-alloc.cc | 3 +- .../cctest/heap/test-array-buffer-tracker.cc | 23 +- deps/v8/test/cctest/heap/test-compaction.cc | 143 +- .../cctest/heap/test-concurrent-allocation.cc | 30 +- .../cctest/heap/test-concurrent-marking.cc | 2 +- .../heap/test-external-string-tracker.cc | 21 +- deps/v8/test/cctest/heap/test-heap.cc | 514 +- .../cctest/heap/test-invalidated-slots.cc | 417 -- deps/v8/test/cctest/heap/test-mark-compact.cc | 27 +- deps/v8/test/cctest/heap/test-spaces.cc | 3 +- deps/v8/test/cctest/heap/test-unmapper.cc | 2 +- .../test/cctest/heap/test-weak-references.cc | 50 +- .../v8/test/cctest/heap/test-write-barrier.cc | 4 +- deps/v8/test/cctest/print-extension.cc | 9 +- deps/v8/test/cctest/print-extension.h | 2 +- deps/v8/test/cctest/profiler-extension.cc | 21 +- deps/v8/test/cctest/profiler-extension.h | 6 +- deps/v8/test/cctest/test-accessors.cc | 3 +- deps/v8/test/cctest/test-api-array-buffer.cc | 20 +- deps/v8/test/cctest/test-api-interceptors.cc | 3 +- deps/v8/test/cctest/test-api-stack-traces.cc | 82 +- deps/v8/test/cctest/test-api-typed-array.cc | 13 +- deps/v8/test/cctest/test-api.cc | 729 ++- deps/v8/test/cctest/test-api.h | 34 +- deps/v8/test/cctest/test-assembler-arm64.cc | 28 +- deps/v8/test/cctest/test-assembler-ia32.cc | 52 +- deps/v8/test/cctest/test-assembler-mips64.cc | 6 +- deps/v8/test/cctest/test-assembler-riscv32.cc | 308 +- deps/v8/test/cctest/test-assembler-riscv64.cc | 500 +- deps/v8/test/cctest/test-assembler-s390.cc | 2 +- .../test/cctest/test-code-stub-assembler.cc | 7 +- deps/v8/test/cctest/test-cpu-profiler.cc | 69 +- deps/v8/test/cctest/test-debug-helper.cc | 7 +- deps/v8/test/cctest/test-debug.cc | 90 +- .../test/cctest/test-disasm-regex-helper.cc | 8 +- .../test/cctest/test-field-type-tracking.cc | 3 +- .../test/cctest/test-func-name-inference.cc | 7 +- deps/v8/test/cctest/test-heap-profiler.cc | 49 +- deps/v8/test/cctest/test-js-to-wasm.cc | 17 +- deps/v8/test/cctest/test-js-weak-refs.cc | 44 +- deps/v8/test/cctest/test-lockers.cc | 10 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 19 +- deps/v8/test/cctest/test-mementos.cc | 16 +- deps/v8/test/cctest/test-regexp.cc | 4 +- deps/v8/test/cctest/test-sampler-api.cc | 3 +- deps/v8/test/cctest/test-serialize.cc | 127 +- deps/v8/test/cctest/test-shared-strings.cc | 178 +- .../test/cctest/test-stack-unwinding-win64.cc | 16 +- deps/v8/test/cctest/test-strings.cc | 113 +- .../test/cctest/test-sync-primitives-arm64.cc | 4 +- .../test/cctest/test-unwinder-code-pages.cc | 33 +- deps/v8/test/cctest/test-utils.cc | 12 +- deps/v8/test/cctest/torque/test-torque.cc | 58 + deps/v8/test/cctest/trace-extension.cc | 41 +- deps/v8/test/cctest/trace-extension.h | 10 +- .../v8/test/cctest/wasm/test-backing-store.cc | 5 +- deps/v8/test/cctest/wasm/test-gc.cc | 588 +-- deps/v8/test/cctest/wasm/test-grow-memory.cc | 4 +- .../cctest/wasm/test-jump-table-assembler.cc | 8 +- .../cctest/wasm/test-liftoff-for-fuzzing.cc | 8 +- deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 40 +- .../test/cctest/wasm/test-run-wasm-asmjs.cc | 84 +- .../cctest/wasm/test-run-wasm-bulk-memory.cc | 40 +- .../cctest/wasm/test-run-wasm-exceptions.cc | 327 +- .../cctest/wasm/test-run-wasm-interpreter.cc | 558 --- deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 8 +- .../cctest/wasm/test-run-wasm-memory64.cc | 11 +- .../test/cctest/wasm/test-run-wasm-module.cc | 78 +- .../cctest/wasm/test-run-wasm-relaxed-simd.cc | 36 +- .../cctest/wasm/test-run-wasm-simd-liftoff.cc | 32 +- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 345 +- .../cctest/wasm/test-run-wasm-wrappers.cc | 26 +- deps/v8/test/cctest/wasm/test-run-wasm.cc | 204 +- .../cctest/wasm/test-streaming-compilation.cc | 4 +- deps/v8/test/cctest/wasm/test-wasm-codegen.cc | 4 +- deps/v8/test/cctest/wasm/test-wasm-metrics.cc | 2 +- .../cctest/wasm/test-wasm-serialization.cc | 12 +- .../cctest/wasm/test-wasm-shared-engine.cc | 2 +- deps/v8/test/cctest/wasm/test-wasm-stack.cc | 5 +- deps/v8/test/cctest/wasm/wasm-run-utils.cc | 73 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 92 +- deps/v8/test/cctest/wasm/wasm-simd-utils.cc | 473 +- deps/v8/test/cctest/wasm/wasm-simd-utils.h | 14 + deps/v8/test/common/assembler-tester.h | 4 +- deps/v8/test/common/call-tester.h | 11 +- deps/v8/test/common/types-fuzz.h | 55 +- deps/v8/test/common/wasm/wasm-interpreter.cc | 4234 ----------------- deps/v8/test/common/wasm/wasm-interpreter.h | 127 - deps/v8/test/common/wasm/wasm-macro-gen.h | 671 +-- .../v8/test/common/wasm/wasm-module-runner.cc | 113 +- deps/v8/test/common/wasm/wasm-module-runner.h | 59 +- .../debug-evaluate-no-side-effect.js | 4 +- deps/v8/test/debugger/debugger.status | 9 +- deps/v8/test/debugger/regress/regress-6085.js | 9 +- deps/v8/test/debugger/test-api.js | 3 +- deps/v8/test/fuzzer/BUILD.gn | 1 - deps/v8/test/fuzzer/inspector-fuzzer.cc | 287 +- deps/v8/test/fuzzer/inspector/regress-1433503 | 479 ++ deps/v8/test/fuzzer/multi-return.cc | 6 +- deps/v8/test/fuzzer/regexp-builtins.cc | 485 -- .../v8/test/fuzzer/regexp_builtins/mjsunit.js | 188 - .../test/fuzzer/regexp_builtins/mjsunit.js.h | 496 -- deps/v8/test/fuzzer/wasm-compile.cc | 830 +++- deps/v8/test/fuzzer/wasm-fuzzer-common.cc | 26 +- deps/v8/test/fuzzer/wasm-streaming.cc | 19 +- .../fuzzer/wasm_streaming/regress-1427898 | Bin 0 -> 12 bytes .../fuzzer/wasm_streaming/regress-1429613 | Bin 0 -> 21 bytes .../break-on-exception-and-step-expected.txt | 55 + .../object-preview-internal-properties.js | 2 - .../debugger/other-pause-reasons-expected.txt | 12 +- .../wasm-gc-multi-module-expected.txt | 58 + .../debugger/wasm-gc-multi-module.js | 158 + deps/v8/test/inspector/frontend-channel.h | 25 +- .../heap-profiler/console-retaining-path.js | 2 + .../heap-snapshot-js-weak-refs.js | 2 + .../sampling-heap-profiler-flags-expected.txt | 2 +- .../sampling-heap-profiler-flags.js | 7 +- deps/v8/test/inspector/inspector-test.cc | 384 +- deps/v8/test/inspector/inspector.status | 10 +- deps/v8/test/inspector/isolate-data.cc | 90 +- deps/v8/test/inspector/isolate-data.h | 35 +- .../regress-crbug-1431197-expected.txt | 59 + .../regress/regress-crbug-1431197.js | 14 + .../regress-crbug-1433503-expected.txt | 1 + .../regress/regress-crbug-1433503.js | 10 + ...erialization-local-references-expected.txt | 1673 +++++++ .../deep-serialization-local-references.js | 107 + .../deep-serialization-value-expected.txt | 917 ++++ .../runtime/deep-serialization-value.js | 124 + ...nerate-web-driver-internal-id-expected.txt | 1163 +++++ .../generate-web-driver-internal-id.js | 107 + .../generate-web-driver-value-expected.txt | 425 +- .../runtime/generate-web-driver-value.js | 25 +- .../runtime/get-properties-expected.txt | 6 + .../runtime/length-or-size-description.js | 2 - .../runtime/remote-object-expected.txt | 10 + .../serialization-options-expected.txt | 422 ++ .../runtime/serialization-options.js | 59 + ...gger-stepping-and-breakpoints-expected.txt | 12 +- deps/v8/test/inspector/tasks.h | 16 +- deps/v8/test/intl/intl.status | 4 +- ...le-calendars.js => locale-getCalendars.js} | 7 +- ...-collations.js => locale-getCollations.js} | 9 +- .../intl/locale/locale-info-check-property.js | 23 +- .../locale/locale-info-check-return-types.js | 39 +- deps/v8/test/intl/locale/locale-info-ext.js | 13 +- .../intl/locale/locale-info-gettextinfo.js | 22 + .../intl/locale/locale-info-no-undefined.js | 11 +- .../locale/locale-info-timezones-sorted.js | 3 +- .../intl/locale/locale-numberingSystems.js | 5 +- deps/v8/test/intl/regress-1427932.js | 5 + deps/v8/test/js-perf-test/JSTests5.json | 34 +- .../js-perf-test/ObjectLiteralSpread/run.js | 18 + deps/v8/test/js-perf-test/TurboFan/run.js | 2 +- .../TurboFan/wasm-inlining-loop-array.js | 203 + deps/v8/test/memory/Memory.json | 8 + deps/v8/test/message/message.status | 4 +- .../v8/test/message/wasm-recognize-imports.js | 115 +- .../test/message/wasm-recognize-imports.out | 14 +- .../weakref-finalizationregistry-error.js | 16 +- .../test/mjsunit/array-literal-transitions.js | 11 +- deps/v8/test/mjsunit/asm/atomics-add.js | 2 - deps/v8/test/mjsunit/asm/atomics-and.js | 2 - .../mjsunit/asm/atomics-compareexchange.js | 2 - deps/v8/test/mjsunit/asm/atomics-exchange.js | 2 - deps/v8/test/mjsunit/asm/atomics-load.js | 2 - deps/v8/test/mjsunit/asm/atomics-or.js | 2 - deps/v8/test/mjsunit/asm/atomics-store.js | 2 - deps/v8/test/mjsunit/asm/atomics-sub.js | 2 - deps/v8/test/mjsunit/asm/atomics-xor.js | 2 - deps/v8/test/mjsunit/asm/regress-1432537.js | 15 + .../async-hooks/regress-crbug-1337629.js | 2 + .../async-hooks/regress-crbug-1427746.js | 20 + .../async-hooks/regress-crbug-1433521.js | 18 + .../mjsunit/baseline/batch-compilation.js | 2 +- .../call-with-arraylike-or-spread-7.js | 1 + .../fast-api-calls-64-bit-integer-values.js | 218 + .../mjsunit/compiler/fast-api-exceptions.js | 27 + .../mjsunit/compiler/opt-next-call-turbo.js | 3 + .../mjsunit/compiler/regress-crbug-1426299.js | 17 + .../mjsunit/d8/d8-worker-sharedarraybuffer.js | 2 - deps/v8/test/mjsunit/error-stack.js | 2 +- deps/v8/test/mjsunit/es6/proxies-json.js | 6 +- deps/v8/test/mjsunit/frozen-array-reduce.js | 6 +- .../harmony/atomics-on-arraybuffer-detach.js | 2 +- .../mjsunit/harmony/atomics-value-check.js | 3 - .../atomics-waitasync-1thread-2timeout.js | 2 - ...ync-1thread-buffer-out-of-scope-timeout.js | 2 +- ...-waitasync-1thread-promise-out-of-scope.js | 2 +- .../atomics-waitasync-1thread-timeout.js | 2 - ...tasync-1thread-timeouts-and-no-timeouts.js | 2 - .../atomics-waitasync-1thread-wake-up-all.js | 2 +- .../atomics-waitasync-1thread-wake-up-fifo.js | 2 +- ...tomics-waitasync-1thread-wake-up-simple.js | 2 +- ...r-shutdown-before-wait-finished-2-waits.js | 2 +- ...shutdown-before-wait-finished-2-workers.js | 2 +- ...hutdown-before-wait-finished-no-timeout.js | 2 +- ...r-shutdown-before-wait-finished-timeout.js | 2 +- .../test/mjsunit/harmony/atomics-waitasync.js | 2 +- deps/v8/test/mjsunit/harmony/atomics.js | 3 - deps/v8/test/mjsunit/harmony/futex.js | 2 +- deps/v8/test/mjsunit/harmony/iterator-from.js | 9 +- .../test/mjsunit/harmony/iterator-helpers.js | 1264 ++++- .../mjsunit/harmony/regexp-unicode-sets.js | 29 +- .../harmony/regress/regress-crbug-1372500.js | 2 +- .../harmony/regress/regress-crbug-1444842.js | 14 + .../test/mjsunit/harmony/sharedarraybuffer.js | 2 +- .../string-iswellformed-external-uncached.js | 36 +- .../mjsunit/harmony/symbol-as-weakmap-key.js | 2 +- .../weakrefs/symbol-as-weakref-target-gc.js | 2 +- .../weakrefs/symbol-as-weakref-target.js | 2 - .../symbol-in-finalizationregistry.js | 2 +- .../string-concat-external-thin-string.js | 6 +- .../test/mjsunit/interrupt-budget-override.js | 2 +- deps/v8/test/mjsunit/json2.js | 4 +- deps/v8/test/mjsunit/large-external-string.js | 2 +- .../maglev/branch-if-xxx-to-boolean-true.js | 174 + .../mjsunit/maglev/checkmaps-nearjumps.js | 28 + deps/v8/test/mjsunit/maglev/literals.js | 2 + .../test/mjsunit/maglev/loop-phi-shrinking.js | 68 + .../test/mjsunit/maglev/omit-default-ctors.js | 6 +- .../test/mjsunit/maglev/osr-from-ml-to-tf.js | 1 + deps/v8/test/mjsunit/maglev/osr-to-tf.js | 1 + .../maglev/phi-untagging-holeyfloat64.js | 37 + .../maglev/polymorphic-load-migration.js | 55 + .../test/mjsunit/maglev/polymorphic-load.js | 23 + .../v8/test/mjsunit/maglev/regress-1427852.js | 20 + .../v8/test/mjsunit/maglev/regress-1443672.js | 15 + .../v8/test/mjsunit/maglev/regress-1447359.js | 15 + .../test/mjsunit/maglev/regress-4349817-1.js | 2 +- .../mjsunit/maglev/regress-crbug-1445286.js | 28 + .../mjsunit/maglev/regress/regress-1427809.js | 18 + .../mjsunit/maglev/regress/regress-1428764.js | 18 + .../maglev/regress/regress-crbug-1428464.js | 17 + .../maglev/regress/regress-crbug-1428524.js | 26 + .../maglev/regress/regress-crbug-1429753.js | 12 + .../maglev/regress/regress-crbug-1429810.js | 16 + .../maglev/regress/regress-crbug-1433505.js | 16 + .../test/mjsunit/maglev/string-constructor.js | 18 + deps/v8/test/mjsunit/mjsunit.js | 20 + deps/v8/test/mjsunit/mjsunit.status | 108 +- deps/v8/test/mjsunit/never-optimize.js | 2 +- .../mjsunit/non-extensible-array-reduce.js | 6 +- deps/v8/test/mjsunit/regress-13517.js | 18 + deps/v8/test/mjsunit/regress-1428825.js | 20 + .../test/mjsunit/regress/asm/regress-13967.js | 45 + .../mjsunit/regress/asm/regress-1410962.js | 33 + .../test/mjsunit/regress/regress-1115354.js | 2 +- .../test/mjsunit/regress/regress-1421560.js | 20 + .../test/mjsunit/regress/regress-1425616.js | 14 + .../test/mjsunit/regress/regress-1428034.js | 21 + .../test/mjsunit/regress/regress-1429141.js | 12 + .../test/mjsunit/regress/regress-1429749.js | 18 + .../test/mjsunit/regress/regress-1430326.js | 16 + .../test/mjsunit/regress/regress-1431029.js | 18 + .../test/mjsunit/regress/regress-1431713.js | 14 + .../test/mjsunit/regress/regress-1432470.js | 39 + .../test/mjsunit/regress/regress-1441346.js | 18 + .../test/mjsunit/regress/regress-1442603.js | 53 + .../test/mjsunit/regress/regress-1444019.js | 17 + .../test/mjsunit/regress/regress-1445419.js | 18 + .../test/mjsunit/regress/regress-1446624.js | 15 + .../test/mjsunit/regress/regress-1447326.js | 34 + deps/v8/test/mjsunit/regress/regress-1757.js | 6 +- .../mjsunit/regress/regress-4578-deopt.js | 71 + deps/v8/test/mjsunit/regress/regress-4578.js | 63 +- .../v8/test/mjsunit/regress/regress-842078.js | 7 +- .../regress/regress-chromium-1194026.js | 2 - .../mjsunit/regress/regress-crbug-1350270.js | 19 - .../mjsunit/regress/regress-crbug-1412001.js | 25 + .../mjsunit/regress/regress-crbug-1426357.js | 19 + .../mjsunit/regress/regress-crbug-1428465.js | 9 + .../mjsunit/regress/regress-crbug-1431046.js | 18 + .../mjsunit/regress/regress-crbug-1437346.js | 5 + .../mjsunit/regress/regress-crbug-1439691.js | 7 + .../mjsunit/regress/regress-crbug-1440685.js | 7 + .../mjsunit/regress/regress-crbug-1441241.js | 61 + .../mjsunit/regress/regress-crbug-1443133.js | 23 + .../mjsunit/regress/regress-crbug-1444134.js | 20 + .../mjsunit/regress/regress-crbug-1445228.js | 7 + .../mjsunit/regress/regress-crbug-1445235.js | 14 + .../mjsunit/regress/regress-crbug-1447430.js | 34 + .../mjsunit/regress/regress-crbug-1448545.js | 153 + .../mjsunit/regress/regress-crbug-229923.js | 41 - .../mjsunit/regress/regress-crbug-467047.js | 17 - .../mjsunit/regress/regress-crbug-501809.js | 1 - .../mjsunit/regress/regress-crbug-736451.js | 4 +- .../mjsunit/regress/regress-crbug-967151.js | 12 - .../regress-sliced-external-cons-regexp.js | 4 +- .../test/mjsunit/regress/regress-v8-13906.js | 8 + .../regress/wasm/i32-lowering-inlining.js | 2 +- .../mjsunit/regress/wasm/regress-12874.js | 2 +- .../mjsunit/regress/wasm/regress-1364036.js | 2 +- .../mjsunit/regress/wasm/regress-13700.js | 26 +- .../mjsunit/regress/wasm/regress-1374535.js | 2 +- .../mjsunit/regress/wasm/regress-13939.js | 36 + .../mjsunit/regress/wasm/regress-13946.js | 29 + .../mjsunit/regress/wasm/regress-13956.js | 31 + .../mjsunit/regress/wasm/regress-1430858.js | 46 + .../mjsunit/regress/wasm/regress-1432453.js | 27 + .../mjsunit/regress/wasm/regress-1443218.js | 18 + .../mjsunit/regress/wasm/regress-1446221.js | 20 + .../mjsunit/regress/wasm/regress-694433.js | 8 +- .../mjsunit/regress/wasm/regress-776677.js | 30 - deps/v8/test/mjsunit/sealed-array-reduce.js | 6 +- .../mjsunit/shared-memory/brand-checks.js | 58 + ...-prototype.js => optimize-non-instance.js} | 24 +- .../shared-memory/regress-crbug-1425710.js | 4 +- .../shared-memory/regress-crbug-1429570.js | 15 + .../shared-memory/shared-array-atomics.js | 13 + .../shared-memory/shared-array-concat.js | 12 + ...hared-external-string-dictionary-lookup.js | 5 +- .../shared-external-string-megamorphic-ic.js | 5 +- .../shared-object-has-instance.js | 119 + .../shared-memory/shared-struct-atomics.js | 7 +- .../shared-memory/shared-struct-surface.js | 17 + deps/v8/test/mjsunit/stack-traces-overflow.js | 5 +- deps/v8/test/mjsunit/stack-traces.js | 10 +- .../mjsunit/store-load-elision-aliasing.js | 28 + deps/v8/test/mjsunit/string-case.js | 4 +- .../mjsunit/string-charcodeat-external.js | 6 +- .../v8/test/mjsunit/string-external-cached.js | 58 +- deps/v8/test/mjsunit/string-externalize.js | 27 +- .../test/mjsunit/string-forwarding-table.js | 4 + .../test/mjsunit/string-replace-with-empty.js | 10 +- deps/v8/test/mjsunit/string-slices.js | 7 +- deps/v8/test/mjsunit/tools/foozzie.js | 7 +- .../typedarray-growablesharedarraybuffer.js | 11 + .../typedarray-resizablearraybuffer.js | 11 + .../mjsunit/wasm/array-bulk-operations.js | 301 ++ deps/v8/test/mjsunit/wasm/atomics-memory64.js | 305 ++ deps/v8/test/mjsunit/wasm/errors.js | 2 +- deps/v8/test/mjsunit/wasm/exceptions-api.js | 68 + .../wasm/exceptions-type-reflection.js | 5 + deps/v8/test/mjsunit/wasm/futex.js | 2 +- .../v8/test/mjsunit/wasm/gc-casts-from-any.js | 598 ++- deps/v8/test/mjsunit/wasm/gc-casts-invalid.js | 175 + .../v8/test/mjsunit/wasm/gc-casts-subtypes.js | 489 +- deps/v8/test/mjsunit/wasm/gc-nominal.js | 2 +- deps/v8/test/mjsunit/wasm/gc-null-traps.js | 1 + deps/v8/test/mjsunit/wasm/gc-optimizations.js | 2 +- deps/v8/test/mjsunit/wasm/gc-ref-eq.js | 29 + deps/v8/test/mjsunit/wasm/inlining.js | 3 +- deps/v8/test/mjsunit/wasm/js-api.js | 10 +- .../mjsunit/wasm/js-wrapper-typechecks.js | 29 + deps/v8/test/mjsunit/wasm/large-struct.js | 67 + .../wasm/lazy-feedback-vector-allocation.js | 2 +- .../test/mjsunit/wasm/max-module-size-flag.js | 4 +- deps/v8/test/mjsunit/wasm/memory64.js | 56 +- deps/v8/test/mjsunit/wasm/module-memory.js | 6 +- .../v8/test/mjsunit/wasm/recognize-imports.js | 152 +- .../test/mjsunit/wasm/speculative-inlining.js | 6 +- deps/v8/test/mjsunit/wasm/stack-switching.js | 49 + deps/v8/test/mjsunit/wasm/streaming-api.js | 8 +- .../mjsunit/wasm/streaming-error-position.js | 82 +- deps/v8/test/mjsunit/wasm/type-casts-tests.js | 34 + .../wasm/wasm-gc-inlining-load-elimination.js | 88 + .../wasm/wasm-gc-inlining-stacktrace-api.js | 161 + deps/v8/test/mjsunit/wasm/wasm-gc-inlining.js | 141 +- .../mjsunit/wasm/wasm-gc-source-location.js | 74 + .../test/mjsunit/wasm/wasm-module-builder.js | 35 +- deps/v8/test/mkgrokdump/README | 6 +- deps/v8/test/mozilla/mozilla.status | 14 +- deps/v8/test/test262/test262.status | 78 +- deps/v8/test/test262/testcfg.py | 26 +- deps/v8/test/torque/test-torque.tq | 14 + deps/v8/test/unittests/BUILD.gn | 10 +- .../test/unittests/api/api-wasm-unittest.cc | 48 +- .../unittests/api/deserialize-unittest.cc | 39 +- .../test/unittests/api/exception-unittest.cc | 30 +- .../unittests/api/interceptor-unittest.cc | 6 +- .../api/resource-constraints-unittest.cc | 31 +- .../test/unittests/api/v8-script-unittest.cc | 212 + .../assembler/assembler-x64-unittest.cc | 558 ++- .../assembler/disasm-arm-unittest.cc | 22 +- .../assembler/disasm-arm64-unittest.cc | 6 +- .../assembler/disasm-ia32-unittest.cc | 10 +- .../assembler/disasm-loong64-unittest.cc | 16 +- .../assembler/disasm-mips64-unittest.cc | 24 +- .../assembler/disasm-ppc-unittest.cc | 14 +- .../assembler/disasm-riscv-unittest.cc | 16 +- .../assembler/disasm-s390-unittest.cc | 14 +- .../assembler/disasm-x64-unittest.cc | 44 +- .../assembler/macro-assembler-arm-unittest.cc | 8 +- .../macro-assembler-arm64-unittest.cc | 8 +- .../assembler/macro-assembler-x64-unittest.cc | 672 ++- .../base/platform/platform-unittest.cc | 21 +- deps/v8/test/unittests/base/vlq-unittest.cc | 8 +- .../unittests/codegen/code-layout-unittest.cc | 31 +- .../unittests/codegen/code-pages-unittest.cc | 23 +- .../unittests/codegen/factory-unittest.cc | 6 +- .../codegen/pointer-auth-arm64-unittest.cc | 79 - .../instruction-selector-arm64-unittest.cc | 2 +- .../test/unittests/compiler/codegen-tester.h | 2 +- .../common-operator-reducer-unittest.cc | 3 +- .../unittests/compiler/compiler-unittest.cc | 3 +- .../constant-folding-reducer-unittest.cc | 15 +- .../unittests/compiler/function-tester.cc | 13 +- .../test/unittests/compiler/function-tester.h | 10 +- .../test/unittests/compiler/graph-unittest.cc | 18 +- .../test/unittests/compiler/graph-unittest.h | 11 +- .../compiler/js-call-reducer-unittest.cc | 18 +- .../compiler/js-create-lowering-unittest.cc | 20 +- ...-native-context-specialization-unittest.cc | 4 +- .../compiler/load-elimination-unittest.cc | 52 +- .../test/unittests/compiler/revec-unittest.cc | 212 +- .../run-bytecode-graph-builder-unittest.cc | 5 - .../unittests/compiler/run-deopt-unittest.cc | 7 +- .../compiler/run-jscalls-unittest.cc | 6 +- .../compiler/run-tail-calls-unittest.cc | 1 - .../turboshaft/snapshot-table-unittest.cc | 119 + .../turboshaft/turboshaft-typer-unittest.cc | 6 +- .../turboshaft/turboshaft-types-unittest.cc | 4 +- .../test/unittests/compiler/typer-unittest.cc | 33 +- .../test/unittests/compiler/types-unittest.cc | 137 +- .../wasm-address-reassociation-unittest.cc | 264 + .../x64/instruction-selector-x64-unittest.cc | 8 +- .../deoptimizer/deoptimization-unittest.cc | 21 +- .../diagnostics/eh-frame-iterator-unittest.cc | 10 +- .../execution/pointer-auth-arm64-unittest.cc | 232 + .../execution/thread-termination-unittest.cc | 102 +- .../test/unittests/heap/bitmap-test-utils.h | 34 +- .../v8/test/unittests/heap/bitmap-unittest.cc | 228 +- .../embedder-roots-handler-unittest.cc | 71 + .../unified-heap-snapshot-unittest.cc | 149 + .../heap/cppgc-js/unified-heap-unittest.cc | 5 +- .../unittests/heap/cppgc/logging-unittest.cc | 4 +- .../heap/cppgc/persistent-family-unittest.cc | 8 +- .../unittests/heap/cppgc/platform-unittest.cc | 4 +- .../heap/cppgc/source-location-unittest.cc | 4 +- .../test/unittests/heap/gc-tracer-unittest.cc | 6 - .../heap/global-safepoint-unittest.cc | 33 - deps/v8/test/unittests/heap/heap-unittest.cc | 102 +- deps/v8/test/unittests/heap/heap-utils.cc | 6 +- deps/v8/test/unittests/heap/heap-utils.h | 11 +- ...c => inner-pointer-resolution-unittest.cc} | 345 +- .../heap/iterators-unittest.cc} | 81 +- .../test/unittests/heap/marking-unittest.cc | 51 +- .../unittests/heap/memory-reducer-unittest.cc | 24 +- .../unittests/heap/page-promotion-unittest.cc | 13 +- .../unittests/heap/progressbar-unittest.cc | 8 - .../unittests/heap/shared-heap-unittest.cc | 377 ++ .../bytecode-array-builder-unittest.cc | 7 +- .../bytecode-generator-unittest.cc | 128 + .../AsyncGenerators.golden | 1 - .../ClassAndSuperClass.golden | 14 +- .../ElideRedundantHoleChecks.golden | 1030 ++++ .../bytecode_expectations/ForAwaitOf.golden | 1 - .../bytecode_expectations/Modules.golden | 3 +- .../PrivateAccessorAccess.golden | 8 +- .../PrivateMethodAccess.golden | 4 +- .../StaticPrivateMethodAccess.golden | 30 +- .../SuperCallAndSpread.golden | 6 +- .../constant-array-builder-unittest.cc | 11 - .../generate-bytecode-expectations.cc | 28 +- .../interpreter/interpreter-unittest.cc | 1 - ...mics-synchronization-primitive-unittest.cc | 20 - .../unittests/libplatform/tracing-unittest.cc | 21 +- .../v8/test/unittests/logging/log-unittest.cc | 10 +- .../objects/concurrent-string-unittest.cc | 100 - .../unittests/objects/managed-unittest.cc | 8 +- .../objects/value-serializer-unittest.cc | 90 +- .../unittests/objects/weaksets-unittest.cc | 9 + .../test/unittests/parser/parsing-unittest.cc | 8 +- .../parser/scanner-streams-unittest.cc | 10 +- .../test/unittests/regexp/regexp-unittest.cc | 8 +- .../unittests/strings/unicode-unittest.cc | 12 +- deps/v8/test/unittests/test-utils.h | 43 +- .../test/unittests/torque/torque-unittest.cc | 35 + deps/v8/test/unittests/unittests.status | 30 +- .../unittests/utils/identity-map-unittest.cc | 80 - .../wasm/control-transfer-unittest.cc | 526 -- .../test/unittests/wasm/decoder-unittest.cc | 48 +- .../wasm/function-body-decoder-unittest.cc | 805 ++-- .../unittests/wasm/leb-helper-unittest.cc | 4 +- .../wasm/loop-assignment-analysis-unittest.cc | 40 +- .../wasm/memory-protection-unittest.cc | 10 +- .../wasm/module-decoder-memory64-unittest.cc | 13 +- .../unittests/wasm/module-decoder-unittest.cc | 576 +-- .../wasm/streaming-decoder-unittest.cc | 5 +- .../wasm/trap-handler-x64-arm64-unittest.cc | 4 +- .../wasm-disassembler-unittest-gc.wasm.inc | 11 +- .../wasm-disassembler-unittest-gc.wat.inc | 7 +- ...m-disassembler-unittest-stringref.wasm.inc | 29 + ...sm-disassembler-unittest-stringref.wat.inc | 10 + .../wasm/wasm-disassembler-unittest.cc | 27 +- .../unittests/wasm/wasm-macro-gen-unittest.cc | 2 +- .../wasm/wasm-module-builder-unittest.cc | 2 +- .../zone/zone-compact-set-unittest.cc | 250 + deps/v8/test/wasm-api-tests/callbacks.cc | 12 +- deps/v8/test/wasm-api-tests/finalize.cc | 4 +- deps/v8/test/wasm-api-tests/globals.cc | 24 +- deps/v8/test/wasm-api-tests/hostref.cc | 12 +- deps/v8/test/wasm-api-tests/memory.cc | 10 +- deps/v8/test/wasm-api-tests/multi-return.cc | 6 +- deps/v8/test/wasm-api-tests/reflect.cc | 2 +- deps/v8/test/wasm-api-tests/regressions.cc | 2 +- deps/v8/test/wasm-api-tests/serialize.cc | 6 +- deps/v8/test/wasm-api-tests/startup-errors.cc | 2 +- deps/v8/test/wasm-api-tests/table.cc | 6 +- deps/v8/test/wasm-api-tests/threads.cc | 2 +- deps/v8/test/wasm-api-tests/traps.cc | 8 +- deps/v8/test/wasm-api-tests/wasm-api-test.h | 8 +- deps/v8/test/wasm-js/tests.tar.gz.sha1 | 2 +- deps/v8/test/wasm-js/wasm-js.status | 5 +- .../v8/test/wasm-spec-tests/tests.tar.gz.sha1 | 2 +- .../wasm-spec-tests/wasm-spec-tests.status | 74 +- deps/v8/test/webkit/webkit.status | 6 +- deps/v8/third_party/google_benchmark/BUILD.gn | 2 - deps/v8/third_party/zlib/BUILD.gn | 4 + deps/v8/third_party/zlib/CMakeLists.txt | 8 +- deps/v8/third_party/zlib/cpu_features.c | 9 + deps/v8/third_party/zlib/cpu_features.h | 1 + deps/v8/third_party/zlib/crc32.c | 14 +- deps/v8/third_party/zlib/crc32_simd.c | 198 +- deps/v8/third_party/zlib/crc32_simd.h | 6 + deps/v8/third_party/zlib/crc_folding.c | 6 +- deps/v8/third_party/zlib/google/BUILD.gn | 11 + .../zlib/google/test_data.filelist | 32 + .../zlib/google/test_data.globlist | 8 + .../third_party/zlib/google/zip_unittest.cc | 8 +- .../zlib/patches/0011-avx512.patch | 357 ++ deps/v8/tools/.vpython3 | 5 + .../tools/builtins-pgo/download_profiles.py | 12 +- .../builtins-pgo/download_profiles_test.py | 38 +- deps/v8/tools/builtins-pgo/generate.py | 25 +- deps/v8/tools/builtins-pgo/profile_only.py | 8 +- deps/v8/tools/callstats-from-telemetry.sh | 9 +- deps/v8/tools/callstats.html | 14 +- deps/v8/tools/callstats_groups.py | 6 +- .../tools/clusterfuzz/foozzie/v8_commands.py | 10 +- .../tools/clusterfuzz/foozzie/v8_foozzie.py | 42 +- .../clusterfuzz/foozzie/v8_foozzie_test.py | 41 +- .../clusterfuzz/foozzie/v8_fuzz_flags.json | 4 +- deps/v8/tools/clusterfuzz/foozzie/v8_mock.js | 3 + .../clusterfuzz/js_fuzzer/foozzie_launcher.py | 1 - .../trials/clusterfuzz_trials_config.json | 9 +- .../debug_helper/get-object-properties.cc | 76 +- deps/v8/tools/dev/gen-static-roots.py | 4 +- deps/v8/tools/dev/gm.py | 14 +- deps/v8/tools/dev/update-compile-commands.py | 4 +- deps/v8/tools/gcmole/Makefile | 2 +- deps/v8/tools/gcmole/bootstrap.sh | 4 +- deps/v8/tools/gcmole/gcmole-tools.tar.gz.sha1 | 2 +- deps/v8/tools/gcmole/gcmole.cc | 385 +- deps/v8/tools/gcmole/gcmole.py | 2 +- deps/v8/tools/gdbinit | 66 +- deps/v8/tools/gen-postmortem-metadata.py | 4 - deps/v8/tools/lldb_commands.py | 83 +- deps/v8/tools/profiling/linux-perf-chrome.py | 7 +- deps/v8/tools/profiling/linux-perf-d8.py | 5 +- deps/v8/tools/release/test_scripts.py | 8 +- deps/v8/tools/run_perf.py | 112 +- deps/v8/tools/testrunner/base_runner.py | 188 +- deps/v8/tools/testrunner/build_config.py | 193 +- deps/v8/tools/testrunner/local/command.py | 50 + deps/v8/tools/testrunner/local/context.py | 13 +- deps/v8/tools/testrunner/local/statusfile.py | 4 +- .../tools/testrunner/local/testsuite_test.py | 1 + deps/v8/tools/testrunner/local/variants.py | 37 +- deps/v8/tools/testrunner/outproc/message.py | 17 +- deps/v8/tools/testrunner/standard_runner.py | 12 +- .../tools/testrunner/standard_runner_test.py | 44 +- deps/v8/tools/testrunner/test_config.py | 2 + .../testroot1/out/build/v8_build_config.json | 46 - .../testroot2/out/build/v8_build_config.json | 46 - .../testroot3/out/build/v8_build_config.json | 46 - .../out.gn/build/v8_build_config.json | 46 - .../testroot6/out/build/v8_build_config.json | 46 - .../testrunner/testdata/v8_build_config.json | 18 + deps/v8/tools/testrunner/testproc/fuzzer.py | 21 +- deps/v8/tools/testrunner/testproc/resultdb.py | 11 +- .../analyze_crash/data_race_clusterfuzz.txt | 2 +- .../custom_analyzer/data_race_3.expected | 2 +- .../testdata/custom_analyzer/data_race_3.txt | 2 +- deps/v8/tools/testrunner/utils/test_utils.py | 28 +- deps/v8/tools/try_perf.py | 1 + deps/v8/tools/turbolizer/README.md | 6 +- .../css/turbo-visualizer-ranges.css | 27 +- .../tools/turbolizer/src/common/constants.ts | 11 + .../turbolizer/src/phases/schedule-phase.ts | 11 +- .../turbolizer/src/phases/sequence-phase.ts | 6 +- .../tools/turbolizer/src/views/range-view.ts | 462 +- .../turbolizer/src/views/schedule-view.ts | 4 +- .../turbolizer/src/views/sequence-view.ts | 20 +- .../tools/turbolizer/src/views/text-view.ts | 10 + deps/v8/tools/ubsan/ignorelist.txt | 5 +- deps/v8/tools/unittests/run_perf_test.py | 54 +- deps/v8/tools/v8.xcodeproj/README.txt | 11 - deps/v8/tools/v8_presubmit.py | 5 +- deps/v8/tools/v8heapconst.py | 766 +-- deps/v8/tools/wasm/module-inspector.cc | 19 +- deps/v8/tools/wasm/update-wasm-spec-tests.sh | 2 +- deps/v8/tools/whitespace.txt | 2 - .../maintaining/maintaining-dependencies.md | 6 +- 1690 files changed, 81381 insertions(+), 48202 deletions(-) create mode 100644 deps/v8/gni/Info.plist create mode 100644 deps/v8/include/v8-handle-base.h create mode 100644 deps/v8/include/v8-source-location.h create mode 100644 deps/v8/src/base/discriminated-union.h create mode 100644 deps/v8/src/base/platform/platform-win32.h create mode 100644 deps/v8/src/codegen/reloc-info-inl.h create mode 100644 deps/v8/src/compiler/pair-load-store-reducer.cc create mode 100644 deps/v8/src/compiler/pair-load-store-reducer.h create mode 100644 deps/v8/src/compiler/turboshaft/fast-api-call-reducer.h create mode 100644 deps/v8/src/compiler/turboshaft/pretenuring-propagation-reducer.cc create mode 100644 deps/v8/src/compiler/turboshaft/pretenuring-propagation-reducer.h rename deps/v8/src/compiler/turboshaft/{late-optimization-phase.cc => store-store-elimination-phase.cc} (55%) rename deps/v8/src/compiler/turboshaft/{late-optimization-phase.h => store-store-elimination-phase.h} (50%) create mode 100644 deps/v8/src/compiler/turboshaft/store-store-elimination-reducer.h create mode 100644 deps/v8/src/compiler/turboshaft/structural-optimization-reducer.h delete mode 100644 deps/v8/src/compiler/turboshaft/tag-untag-lowering-phase.cc delete mode 100644 deps/v8/src/compiler/turboshaft/tag-untag-lowering-phase.h create mode 100644 deps/v8/src/compiler/wasm-address-reassociation.cc create mode 100644 deps/v8/src/compiler/wasm-address-reassociation.h delete mode 100644 deps/v8/src/heap/cppgc/source-location.cc create mode 100644 deps/v8/src/heap/ephemeron-remembered-set.cc create mode 100644 deps/v8/src/heap/ephemeron-remembered-set.h delete mode 100644 deps/v8/src/heap/invalidated-slots-inl.h delete mode 100644 deps/v8/src/heap/invalidated-slots.cc delete mode 100644 deps/v8/src/heap/invalidated-slots.h create mode 100644 deps/v8/src/heap/marking-inl.h create mode 100644 deps/v8/src/inspector/v8-deep-serializer.cc create mode 100644 deps/v8/src/inspector/v8-deep-serializer.h create mode 100644 deps/v8/src/inspector/v8-serialization-duplicate-tracker.cc create mode 100644 deps/v8/src/inspector/v8-serialization-duplicate-tracker.h delete mode 100644 deps/v8/src/inspector/v8-webdriver-serializer.cc delete mode 100644 deps/v8/src/inspector/v8-webdriver-serializer.h create mode 100644 deps/v8/src/libplatform/default-thread-isolated-allocator.cc create mode 100644 deps/v8/src/libplatform/default-thread-isolated-allocator.h delete mode 100644 deps/v8/src/libplatform/tracing/trace-event-listener.cc create mode 100644 deps/v8/src/objects/abstract-code-inl.h create mode 100644 deps/v8/src/objects/abstract-code.cc create mode 100644 deps/v8/src/objects/abstract-code.h create mode 100644 deps/v8/src/objects/bytecode-array-inl.h create mode 100644 deps/v8/src/objects/bytecode-array.cc create mode 100644 deps/v8/src/objects/bytecode-array.h rename deps/v8/src/objects/{code.tq => bytecode-array.tq} (93%) create mode 100644 deps/v8/src/objects/deoptimization-data-inl.h create mode 100644 deps/v8/src/objects/deoptimization-data.cc create mode 100644 deps/v8/src/objects/deoptimization-data.h create mode 100644 deps/v8/src/objects/dependent-code-inl.h create mode 100644 deps/v8/src/objects/dependent-code.cc create mode 100644 deps/v8/src/objects/dependent-code.h create mode 100644 deps/v8/src/objects/hole-inl.h create mode 100644 deps/v8/src/objects/hole.h create mode 100644 deps/v8/src/objects/hole.tq create mode 100644 deps/v8/src/objects/instruction-stream-inl.h create mode 100644 deps/v8/src/objects/instruction-stream.cc create mode 100644 deps/v8/src/objects/instruction-stream.h create mode 100644 deps/v8/src/sandbox/external-entity-table-inl.h create mode 100644 deps/v8/src/sandbox/external-entity-table.h delete mode 100644 deps/v8/src/wasm/assembler-buffer-cache.cc delete mode 100644 deps/v8/src/wasm/assembler-buffer-cache.h delete mode 100644 deps/v8/src/wasm/wasm-init-expr.cc create mode 100644 deps/v8/src/zone/zone-compact-set.h delete mode 100644 deps/v8/src/zone/zone-handle-set.h create mode 100644 deps/v8/test/cctest/compiler/js-heap-broker-base.h delete mode 100644 deps/v8/test/cctest/heap/test-invalidated-slots.cc delete mode 100644 deps/v8/test/cctest/wasm/test-run-wasm-interpreter.cc delete mode 100644 deps/v8/test/common/wasm/wasm-interpreter.cc delete mode 100644 deps/v8/test/common/wasm/wasm-interpreter.h create mode 100644 deps/v8/test/fuzzer/inspector/regress-1433503 delete mode 100644 deps/v8/test/fuzzer/regexp-builtins.cc delete mode 100644 deps/v8/test/fuzzer/regexp_builtins/mjsunit.js delete mode 100644 deps/v8/test/fuzzer/regexp_builtins/mjsunit.js.h create mode 100644 deps/v8/test/fuzzer/wasm_streaming/regress-1427898 create mode 100644 deps/v8/test/fuzzer/wasm_streaming/regress-1429613 create mode 100644 deps/v8/test/inspector/debugger/wasm-gc-multi-module-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-gc-multi-module.js create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1431197-expected.txt create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1431197.js create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1433503-expected.txt create mode 100644 deps/v8/test/inspector/regress/regress-crbug-1433503.js create mode 100644 deps/v8/test/inspector/runtime/deep-serialization-local-references-expected.txt create mode 100644 deps/v8/test/inspector/runtime/deep-serialization-local-references.js create mode 100644 deps/v8/test/inspector/runtime/deep-serialization-value-expected.txt create mode 100644 deps/v8/test/inspector/runtime/deep-serialization-value.js create mode 100644 deps/v8/test/inspector/runtime/generate-web-driver-internal-id-expected.txt create mode 100644 deps/v8/test/inspector/runtime/generate-web-driver-internal-id.js create mode 100644 deps/v8/test/inspector/runtime/serialization-options-expected.txt create mode 100644 deps/v8/test/inspector/runtime/serialization-options.js rename deps/v8/test/intl/locale/{locale-calendars.js => locale-getCalendars.js} (72%) rename deps/v8/test/intl/locale/{locale-collations.js => locale-getCollations.js} (66%) create mode 100644 deps/v8/test/intl/locale/locale-info-gettextinfo.js create mode 100644 deps/v8/test/intl/regress-1427932.js create mode 100644 deps/v8/test/js-perf-test/TurboFan/wasm-inlining-loop-array.js create mode 100644 deps/v8/test/mjsunit/asm/regress-1432537.js create mode 100644 deps/v8/test/mjsunit/async-hooks/regress-crbug-1427746.js create mode 100644 deps/v8/test/mjsunit/async-hooks/regress-crbug-1433521.js create mode 100644 deps/v8/test/mjsunit/compiler/fast-api-calls-64-bit-integer-values.js create mode 100644 deps/v8/test/mjsunit/compiler/fast-api-exceptions.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-crbug-1426299.js create mode 100644 deps/v8/test/mjsunit/harmony/regress/regress-crbug-1444842.js create mode 100644 deps/v8/test/mjsunit/maglev/branch-if-xxx-to-boolean-true.js create mode 100644 deps/v8/test/mjsunit/maglev/checkmaps-nearjumps.js create mode 100644 deps/v8/test/mjsunit/maglev/loop-phi-shrinking.js create mode 100644 deps/v8/test/mjsunit/maglev/phi-untagging-holeyfloat64.js create mode 100644 deps/v8/test/mjsunit/maglev/polymorphic-load-migration.js create mode 100644 deps/v8/test/mjsunit/maglev/polymorphic-load.js create mode 100644 deps/v8/test/mjsunit/maglev/regress-1427852.js create mode 100644 deps/v8/test/mjsunit/maglev/regress-1443672.js create mode 100644 deps/v8/test/mjsunit/maglev/regress-1447359.js create mode 100644 deps/v8/test/mjsunit/maglev/regress-crbug-1445286.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-1427809.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-1428764.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-crbug-1428464.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-crbug-1428524.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-crbug-1429753.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-crbug-1429810.js create mode 100644 deps/v8/test/mjsunit/maglev/regress/regress-crbug-1433505.js create mode 100644 deps/v8/test/mjsunit/maglev/string-constructor.js create mode 100644 deps/v8/test/mjsunit/regress-13517.js create mode 100644 deps/v8/test/mjsunit/regress-1428825.js create mode 100644 deps/v8/test/mjsunit/regress/asm/regress-13967.js create mode 100644 deps/v8/test/mjsunit/regress/asm/regress-1410962.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1421560.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1425616.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1428034.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1429141.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1429749.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1430326.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1431029.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1431713.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1432470.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1441346.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1442603.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1444019.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1445419.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1446624.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1447326.js create mode 100644 deps/v8/test/mjsunit/regress/regress-4578-deopt.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1350270.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1412001.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1426357.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1428465.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1431046.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1437346.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1439691.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1440685.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1441241.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1443133.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1444134.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1445228.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1445235.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1447430.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-1448545.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-229923.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-467047.js delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-967151.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-13906.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-13939.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-13946.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-13956.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1430858.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1432453.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1443218.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-1446221.js delete mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-776677.js create mode 100644 deps/v8/test/mjsunit/shared-memory/brand-checks.js rename deps/v8/test/mjsunit/shared-memory/{non-instance-prototype.js => optimize-non-instance.js} (61%) create mode 100644 deps/v8/test/mjsunit/shared-memory/regress-crbug-1429570.js create mode 100644 deps/v8/test/mjsunit/shared-memory/shared-array-concat.js create mode 100644 deps/v8/test/mjsunit/shared-memory/shared-object-has-instance.js create mode 100644 deps/v8/test/mjsunit/store-load-elision-aliasing.js create mode 100644 deps/v8/test/mjsunit/wasm/atomics-memory64.js create mode 100644 deps/v8/test/mjsunit/wasm/gc-ref-eq.js create mode 100644 deps/v8/test/mjsunit/wasm/js-wrapper-typechecks.js create mode 100644 deps/v8/test/mjsunit/wasm/large-struct.js create mode 100644 deps/v8/test/mjsunit/wasm/type-casts-tests.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-gc-inlining-load-elimination.js create mode 100644 deps/v8/test/mjsunit/wasm/wasm-gc-inlining-stacktrace-api.js delete mode 100644 deps/v8/test/unittests/codegen/pointer-auth-arm64-unittest.cc create mode 100644 deps/v8/test/unittests/compiler/wasm-address-reassociation-unittest.cc create mode 100644 deps/v8/test/unittests/execution/pointer-auth-arm64-unittest.cc rename deps/v8/test/unittests/heap/{marking-inner-pointer-resolution-unittest.cc => inner-pointer-resolution-unittest.cc} (67%) rename deps/v8/test/{cctest/heap/test-iterators.cc => unittests/heap/iterators-unittest.cc} (52%) create mode 100644 deps/v8/test/unittests/interpreter/bytecode_expectations/ElideRedundantHoleChecks.golden delete mode 100644 deps/v8/test/unittests/wasm/control-transfer-unittest.cc create mode 100644 deps/v8/test/unittests/wasm/wasm-disassembler-unittest-stringref.wasm.inc create mode 100644 deps/v8/test/unittests/wasm/wasm-disassembler-unittest-stringref.wat.inc create mode 100644 deps/v8/test/unittests/zone/zone-compact-set-unittest.cc create mode 100644 deps/v8/third_party/zlib/google/test_data.filelist create mode 100644 deps/v8/third_party/zlib/google/test_data.globlist create mode 100644 deps/v8/third_party/zlib/patches/0011-avx512.patch delete mode 100644 deps/v8/tools/testrunner/testdata/testroot1/out/build/v8_build_config.json delete mode 100644 deps/v8/tools/testrunner/testdata/testroot2/out/build/v8_build_config.json delete mode 100644 deps/v8/tools/testrunner/testdata/testroot3/out/build/v8_build_config.json delete mode 100644 deps/v8/tools/testrunner/testdata/testroot5/out.gn/build/v8_build_config.json delete mode 100644 deps/v8/tools/testrunner/testdata/testroot6/out/build/v8_build_config.json create mode 100644 deps/v8/tools/testrunner/testdata/v8_build_config.json delete mode 100644 deps/v8/tools/v8.xcodeproj/README.txt diff --git a/deps/v8/.clang-format b/deps/v8/.clang-format index 55479a2f760845..bd7d80dfb7b964 100644 --- a/deps/v8/.clang-format +++ b/deps/v8/.clang-format @@ -3,3 +3,4 @@ BasedOnStyle: Google DerivePointerAlignment: false MaxEmptyLinesToKeep: 1 +IfMacros: ['IF', 'IF_NOT', 'ELSE', 'ELSE_IF'] diff --git a/deps/v8/.gn b/deps/v8/.gn index 8edbdf34c51807..1ca4a2e4684b45 100644 --- a/deps/v8/.gn +++ b/deps/v8/.gn @@ -19,8 +19,8 @@ no_check_targets = [ "//:cppgc_base", "//:v8_internal_headers", "//src/inspector:inspector", - "//test/cctest:cctest_sources", # 15 errors - "//test/unittests:inspector_unittests_sources", # 2 errors + "//test/cctest:cctest_sources", # 15 errors + "//test/unittests:inspector_unittests_sources", # 2 errors "//third_party/icu:*", ] @@ -28,6 +28,9 @@ default_args = { # Overwrite default args declared in the Fuchsia sdk # Please maintain this in sync with Chromium version in src/.gn fuchsia_target_api_level = 9 + + # Disable rust dependencies. + enable_rust = false } # These are the list of GN files that run exec_script. This whitelist exists diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index d84c722b8dcb7b..2b393ad3876052 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -149,6 +149,7 @@ Jan de Mooij Janusz Majnert Javad Amiri Jay Freeman +Jérôme Vouillon Jesper van den Ende Ji Qiu Jiawen Geng @@ -167,6 +168,7 @@ Kang-Hao (Kenny) Lu Karl Skomski Keith Smiley Kevin Gibbons +Keyhan Vakil Kris Selden Kyounga Ra Loo Rong Jie @@ -243,12 +245,14 @@ Seo Sanghyeon Shawn Anastasio Shawn Presser Stefan Penner +Stefan Stojanovic Stephan Hartmann Stephen Belanger Sylvestre Ledru Takeshi Yoneda Taketoshi Aono Tao Liqiang +Tao Wang Teddy Katz Thomas Young Tiancheng "Timothy" Gu @@ -265,6 +269,7 @@ Vlad Burlik Vladimir Krivosheev Vladimir Shutoff Wael Almattar +Wang Chen WANG Xuerui Wei Wu Wenlu Wang diff --git a/deps/v8/BUILD.bazel b/deps/v8/BUILD.bazel index 81a9286d2670de..dcc64bc2fdafc6 100644 --- a/deps/v8/BUILD.bazel +++ b/deps/v8/BUILD.bazel @@ -42,6 +42,7 @@ load(":bazel/v8-non-pointer-compression.bzl", "v8_binary_non_pointer_compression # v8_enable_atomic_object_field_writes # v8_enable_conservative_stack_scanning # v8_enable_concurrent_marking +# v8_enable_direct_local # v8_enable_ignition_dispatch_counting # v8_enable_builtins_optimization # v8_enable_builtins_profiling @@ -449,6 +450,7 @@ filegroup( name = "v8_config_headers_files", srcs = [ "include/v8-platform.h", + "include/v8-source-location.h", "include/v8config.h", ], ) @@ -481,8 +483,8 @@ filegroup( "include/cppgc/internal/api-constants.h", "include/cppgc/internal/atomic-entry-flag.h", "include/cppgc/internal/base-page-handle.h", - "include/cppgc/internal/caged-heap-local-data.h", "include/cppgc/internal/caged-heap.h", + "include/cppgc/internal/caged-heap-local-data.h", "include/cppgc/internal/compiler-specific.h", "include/cppgc/internal/finalizer-trait.h", "include/cppgc/internal/gc-info.h", @@ -530,6 +532,7 @@ filegroup( "include/v8-forward.h", "include/v8-function.h", "include/v8-function-callback.h", + "include/v8-handle-base.h", "include/v8-initialization.h", "include/v8-internal.h", "include/v8-isolate.h", @@ -594,18 +597,14 @@ filegroup( filegroup( name = "v8_libbase_files", srcs = [ - ":v8_flags", - ":v8_config_headers_files", - ":v8_headers_files", - "src/base/vlq.h", "src/base/address-region.h", "src/base/atomic-utils.h", "src/base/atomicops.h", "src/base/base-export.h", "src/base/bit-field.h", - "src/base/bits-iterator.h", "src/base/bits.cc", "src/base/bits.h", + "src/base/bits-iterator.h", "src/base/bounded-page-allocator.cc", "src/base/bounded-page-allocator.h", "src/base/bounds.h", @@ -617,6 +616,7 @@ filegroup( "src/base/cpu.h", "src/base/debug/stack_trace.cc", "src/base/debug/stack_trace.h", + "src/base/discriminated-union.h", "src/base/division-by-constant.cc", "src/base/division-by-constant.h", "src/base/emulated-virtual-address-subspace.cc", @@ -628,8 +628,8 @@ filegroup( "src/base/flags.h", "src/base/free_deleter.h", "src/base/functional.h", - "src/base/hashmap-entry.h", "src/base/hashmap.h", + "src/base/hashmap-entry.h", "src/base/ieee754.cc", "src/base/ieee754.h", "src/base/immediate-crash.h", @@ -639,10 +639,10 @@ filegroup( "src/base/logging.h", "src/base/macros.h", "src/base/memory.h", - "src/base/numbers/bignum-dtoa.cc", - "src/base/numbers/bignum-dtoa.h", "src/base/numbers/bignum.cc", "src/base/numbers/bignum.h", + "src/base/numbers/bignum-dtoa.cc", + "src/base/numbers/bignum-dtoa.h", "src/base/numbers/cached-powers.cc", "src/base/numbers/cached-powers.h", "src/base/numbers/diy-fp.cc", @@ -670,14 +670,15 @@ filegroup( "src/base/platform/memory-protection-key.h", "src/base/platform/mutex.cc", "src/base/platform/mutex.h", - "src/base/platform/platform.h", "src/base/platform/platform.cc", + "src/base/platform/platform.h", "src/base/platform/semaphore.cc", "src/base/platform/semaphore.h", "src/base/platform/time.cc", "src/base/platform/time.h", - "src/base/pointer-with-payload.h", "src/base/platform/wrappers.h", + "src/base/platform/yield-processor.h", + "src/base/pointer-with-payload.h", "src/base/region-allocator.cc", "src/base/region-allocator.h", "src/base/ring-buffer.h", @@ -691,19 +692,22 @@ filegroup( "src/base/sys-info.cc", "src/base/sys-info.h", "src/base/template-utils.h", - "src/base/timezone-cache.h", "src/base/threaded-list.h", + "src/base/timezone-cache.h", "src/base/utils/random-number-generator.cc", "src/base/utils/random-number-generator.h", + "src/base/v8-fallthrough.h", "src/base/vector.h", - "src/base/virtual-address-space-page-allocator.cc", - "src/base/virtual-address-space-page-allocator.h", "src/base/virtual-address-space.cc", "src/base/virtual-address-space.h", - "src/base/v8-fallthrough.h", + "src/base/virtual-address-space-page-allocator.cc", + "src/base/virtual-address-space-page-allocator.h", + "src/base/vlq.h", "src/base/vlq-base64.cc", "src/base/vlq-base64.h", - "src/base/platform/yield-processor.h", + ":v8_config_headers_files", + ":v8_flags", + ":v8_headers_files", ] + select({ "@v8//bazel/config:is_posix": [ "src/base/platform/platform-posix.cc", @@ -721,15 +725,16 @@ filegroup( "@v8//bazel/config:is_android": [ "src/base/debug/stack_trace_android.cc", "src/base/platform/platform-linux.cc", + "src/base/platform/platform-linux.h", ], "@v8//bazel/config:is_macos": [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-darwin.cc", ], "@v8//bazel/config:is_windows": [ - "src/base/win32-headers.h", "src/base/debug/stack_trace_win.cc", "src/base/platform/platform-win32.cc", + "src/base/win32-headers.h", ], }), visibility = ["//visibility:public"], @@ -747,6 +752,8 @@ filegroup( "src/libplatform/default-job.h", "src/libplatform/default-platform.cc", "src/libplatform/default-platform.h", + "src/libplatform/default-thread-isolated-allocator.cc", + "src/libplatform/default-thread-isolated-allocator.h", "src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.h", "src/libplatform/delayed-task-queue.cc", @@ -783,6 +790,7 @@ filegroup( name = "noicu/torque_files", srcs = [ "src/builtins/aggregate-error.tq", + "src/builtins/array.tq", "src/builtins/array-at.tq", "src/builtins/array-concat.tq", "src/builtins/array-copywithin.tq", @@ -799,8 +807,8 @@ filegroup( "src/builtins/array-lastindexof.tq", "src/builtins/array-map.tq", "src/builtins/array-of.tq", - "src/builtins/array-reduce-right.tq", "src/builtins/array-reduce.tq", + "src/builtins/array-reduce-right.tq", "src/builtins/array-reverse.tq", "src/builtins/array-shift.tq", "src/builtins/array-slice.tq", @@ -811,7 +819,6 @@ filegroup( "src/builtins/array-to-spliced.tq", "src/builtins/array-unshift.tq", "src/builtins/array-with.tq", - "src/builtins/array.tq", "src/builtins/arraybuffer.tq", "src/builtins/base.tq", "src/builtins/boolean.tq", @@ -819,39 +826,40 @@ filegroup( "src/builtins/builtins-string.tq", "src/builtins/cast.tq", "src/builtins/collections.tq", + "src/builtins/console.tq", "src/builtins/constructor.tq", "src/builtins/conversion.tq", "src/builtins/convert.tq", - "src/builtins/console.tq", "src/builtins/data-view.tq", "src/builtins/finalization-registry.tq", - "src/builtins/frames.tq", "src/builtins/frame-arguments.tq", + "src/builtins/frames.tq", "src/builtins/function.tq", "src/builtins/growable-fixed-array.tq", - "src/builtins/ic-callable.tq", "src/builtins/ic.tq", - "src/builtins/internal-coverage.tq", + "src/builtins/ic-callable.tq", "src/builtins/internal.tq", + "src/builtins/internal-coverage.tq", "src/builtins/iterator.tq", "src/builtins/iterator-from.tq", "src/builtins/iterator-helpers.tq", "src/builtins/math.tq", "src/builtins/number.tq", - "src/builtins/object-fromentries.tq", "src/builtins/object.tq", + "src/builtins/object-fromentries.tq", "src/builtins/promise-abstract-operations.tq", "src/builtins/promise-all.tq", "src/builtins/promise-all-element-closure.tq", "src/builtins/promise-any.tq", "src/builtins/promise-constructor.tq", "src/builtins/promise-finally.tq", + "src/builtins/promise-jobs.tq", "src/builtins/promise-misc.tq", "src/builtins/promise-race.tq", "src/builtins/promise-reaction-job.tq", "src/builtins/promise-resolve.tq", "src/builtins/promise-then.tq", - "src/builtins/promise-jobs.tq", + "src/builtins/proxy.tq", "src/builtins/proxy-constructor.tq", "src/builtins/proxy-delete-property.tq", "src/builtins/proxy-get-property.tq", @@ -863,17 +871,16 @@ filegroup( "src/builtins/proxy-revoke.tq", "src/builtins/proxy-set-property.tq", "src/builtins/proxy-set-prototype-of.tq", - "src/builtins/proxy.tq", "src/builtins/reflect.tq", + "src/builtins/regexp.tq", "src/builtins/regexp-exec.tq", - "src/builtins/regexp-match-all.tq", "src/builtins/regexp-match.tq", + "src/builtins/regexp-match-all.tq", "src/builtins/regexp-replace.tq", "src/builtins/regexp-search.tq", "src/builtins/regexp-source.tq", "src/builtins/regexp-split.tq", "src/builtins/regexp-test.tq", - "src/builtins/regexp.tq", "src/builtins/string-at.tq", "src/builtins/string-endswith.tq", "src/builtins/string-html.tq", @@ -893,10 +900,11 @@ filegroup( "src/builtins/string-trim.tq", "src/builtins/symbol.tq", "src/builtins/torque-internal.tq", + "src/builtins/typed-array.tq", "src/builtins/typed-array-at.tq", "src/builtins/typed-array-createtypedarray.tq", - "src/builtins/typed-array-every.tq", "src/builtins/typed-array-entries.tq", + "src/builtins/typed-array-every.tq", "src/builtins/typed-array-filter.tq", "src/builtins/typed-array-find.tq", "src/builtins/typed-array-findindex.tq", @@ -917,16 +925,15 @@ filegroup( "src/builtins/typed-array-to-sorted.tq", "src/builtins/typed-array-values.tq", "src/builtins/typed-array-with.tq", - "src/builtins/typed-array.tq", "src/builtins/weak-ref.tq", "src/ic/handler-configuration.tq", "src/objects/allocation-site.tq", "src/objects/api-callbacks.tq", "src/objects/arguments.tq", "src/objects/bigint.tq", + "src/objects/bytecode-array.tq", "src/objects/call-site-info.tq", "src/objects/cell.tq", - "src/objects/code.tq", "src/objects/contexts.tq", "src/objects/data-handler.tq", "src/objects/debug-objects.tq", @@ -939,11 +946,11 @@ filegroup( "src/objects/free-space.tq", "src/objects/heap-number.tq", "src/objects/heap-object.tq", - "src/objects/js-array-buffer.tq", "src/objects/js-array.tq", + "src/objects/js-array-buffer.tq", "src/objects/js-atomics-synchronization.tq", - "src/objects/js-collection-iterator.tq", "src/objects/js-collection.tq", + "src/objects/js-collection-iterator.tq", "src/objects/js-function.tq", "src/objects/js-generator.tq", "src/objects/js-iterator-helpers.tq", @@ -951,8 +958,8 @@ filegroup( "src/objects/js-promise.tq", "src/objects/js-proxy.tq", "src/objects/js-raw-json.tq", - "src/objects/js-regexp-string-iterator.tq", "src/objects/js-regexp.tq", + "src/objects/js-regexp-string-iterator.tq", "src/objects/js-shadow-realm.tq", "src/objects/js-shared-array.tq", "src/objects/js-struct.tq", @@ -965,6 +972,7 @@ filegroup( "src/objects/module.tq", "src/objects/name.tq", "src/objects/oddball.tq", + "src/objects/hole.tq", "src/objects/ordered-hash-table.tq", "src/objects/primitive-heap-object.tq", "src/objects/promise.tq", @@ -1023,8 +1031,8 @@ filegroup( filegroup( name = "torque_base_files", srcs = [ - "src/numbers/integer-literal-inl.h", "src/numbers/integer-literal.h", + "src/numbers/integer-literal-inl.h", "src/torque/ast.h", "src/torque/cc-generator.cc", "src/torque/cc-generator.h", @@ -1089,34 +1097,31 @@ selects.config_setting_group( filegroup( name = "v8_base_without_compiler_files", srcs = [ - ":cppgc_base_files", - ":v8_heap_base_files", - ":v8_bigint", - ":generated_bytecode_builtins_list", "include/cppgc/common.h", - "include/v8-inspector-protocol.h", "include/v8-inspector.h", + "include/v8-inspector-protocol.h", "include/v8-metrics.h", "include/v8-unwinder-state.h", "include/v8-wasm-trap-handler-posix.h", - "src/api/api-arguments-inl.h", + "src/api/api.cc", + "src/api/api.h", "src/api/api-arguments.cc", "src/api/api-arguments.h", + "src/api/api-arguments-inl.h", "src/api/api-inl.h", "src/api/api-macros.h", "src/api/api-macros-undef.h", "src/api/api-natives.cc", "src/api/api-natives.h", - "src/api/api.cc", - "src/api/api.h", + "src/asmjs/asm-js.h", + "src/ast/ast.cc", + "src/ast/ast.h", "src/ast/ast-function-literal-id-reindexer.cc", "src/ast/ast-function-literal-id-reindexer.h", "src/ast/ast-source-ranges.h", "src/ast/ast-traversal-visitor.h", "src/ast/ast-value-factory.cc", "src/ast/ast-value-factory.h", - "src/ast/ast.cc", - "src/ast/ast.h", "src/ast/modules.cc", "src/ast/modules.h", "src/ast/prettyprinter.cc", @@ -1127,18 +1132,27 @@ filegroup( "src/ast/source-range-ast-visitor.h", "src/ast/variables.cc", "src/ast/variables.h", - "src/baseline/baseline-assembler-inl.h", - "src/baseline/baseline-assembler.h", - "src/baseline/baseline-compiler.cc", - "src/baseline/baseline-compiler.h", + "src/base/sanitizer/asan.h", + "src/base/sanitizer/lsan-page-allocator.cc", + "src/base/sanitizer/lsan-page-allocator.h", + "src/base/sanitizer/lsan-virtual-address-space.cc", + "src/base/sanitizer/lsan-virtual-address-space.h", + "src/base/sanitizer/msan.h", + "src/base/sanitizer/tsan.h", "src/baseline/baseline.cc", "src/baseline/baseline.h", - "src/baseline/baseline-batch-compiler.h", + "src/baseline/baseline-assembler.h", + "src/baseline/baseline-assembler-inl.h", "src/baseline/baseline-batch-compiler.cc", - "src/baseline/bytecode-offset-iterator.h", + "src/baseline/baseline-batch-compiler.h", + "src/baseline/baseline-compiler.cc", + "src/baseline/baseline-compiler.h", "src/baseline/bytecode-offset-iterator.cc", + "src/baseline/bytecode-offset-iterator.h", "src/builtins/accessors.cc", "src/builtins/accessors.h", + "src/builtins/builtins.cc", + "src/builtins/builtins.h", "src/builtins/builtins-api.cc", "src/builtins/builtins-array.cc", "src/builtins/builtins-arraybuffer.cc", @@ -1164,28 +1178,26 @@ filegroup( "src/builtins/builtins-reflect.cc", "src/builtins/builtins-regexp.cc", "src/builtins/builtins-shadow-realm.cc", - "src/builtins/builtins-sharedarraybuffer.cc", "src/builtins/builtins-shared-array.cc", + "src/builtins/builtins-sharedarraybuffer.cc", "src/builtins/builtins-string.cc", "src/builtins/builtins-struct.cc", "src/builtins/builtins-symbol.cc", "src/builtins/builtins-temporal.cc", "src/builtins/builtins-trace.cc", "src/builtins/builtins-typed-array.cc", - "src/builtins/builtins-utils-inl.h", "src/builtins/builtins-utils.h", + "src/builtins/builtins-utils-inl.h", "src/builtins/builtins-weak-refs.cc", - "src/builtins/builtins.cc", - "src/builtins/builtins.h", "src/builtins/constants-table-builder.cc", "src/builtins/constants-table-builder.h", "src/builtins/profile-data-reader.h", - "src/codegen/aligned-slot-allocator.h", "src/codegen/aligned-slot-allocator.cc", - "src/codegen/assembler-arch.h", - "src/codegen/assembler-inl.h", + "src/codegen/aligned-slot-allocator.h", "src/codegen/assembler.cc", "src/codegen/assembler.h", + "src/codegen/assembler-arch.h", + "src/codegen/assembler-inl.h", "src/codegen/atomic-memory-order.h", "src/codegen/background-merge-task.h", "src/codegen/bailout-reason.cc", @@ -1207,68 +1219,69 @@ filegroup( "src/codegen/constant-pool.h", "src/codegen/constants-arch.h", "src/codegen/cpu-features.h", + "src/codegen/external-reference.cc", + "src/codegen/external-reference.h", "src/codegen/external-reference-encoder.cc", "src/codegen/external-reference-encoder.h", "src/codegen/external-reference-table.cc", "src/codegen/external-reference-table.h", - "src/codegen/external-reference.cc", - "src/codegen/external-reference.h", "src/codegen/flush-instruction-cache.cc", "src/codegen/flush-instruction-cache.h", "src/codegen/handler-table.cc", "src/codegen/handler-table.h", "src/codegen/interface-descriptors.cc", - "src/codegen/interface-descriptors-inl.h", "src/codegen/interface-descriptors.h", + "src/codegen/interface-descriptors-inl.h", "src/codegen/label.h", "src/codegen/machine-type.cc", "src/codegen/machine-type.h", - "src/codegen/macro-assembler-inl.h", "src/codegen/macro-assembler.h", + "src/codegen/macro-assembler-base.cc", + "src/codegen/macro-assembler-base.h", + "src/codegen/macro-assembler-inl.h", "src/codegen/maglev-safepoint-table.cc", "src/codegen/maglev-safepoint-table.h", "src/codegen/optimized-compilation-info.cc", "src/codegen/optimized-compilation-info.h", "src/codegen/pending-optimization-table.cc", "src/codegen/pending-optimization-table.h", + "src/codegen/register.h", "src/codegen/register-arch.h", "src/codegen/register-base.h", "src/codegen/register-configuration.cc", "src/codegen/register-configuration.h", - "src/codegen/register.h", - "src/codegen/reglist-base.h", "src/codegen/reglist.h", + "src/codegen/reglist-base.h", "src/codegen/reloc-info.cc", "src/codegen/reloc-info.h", - "src/codegen/safepoint-table-base.h", + "src/codegen/reloc-info-inl.h", "src/codegen/safepoint-table.cc", "src/codegen/safepoint-table.h", + "src/codegen/safepoint-table-base.h", "src/codegen/script-details.h", "src/codegen/signature.h", - "src/codegen/source-position-table.cc", - "src/codegen/source-position-table.h", "src/codegen/source-position.cc", "src/codegen/source-position.h", + "src/codegen/source-position-table.cc", + "src/codegen/source-position-table.h", "src/codegen/tick-counter.cc", "src/codegen/tick-counter.h", "src/codegen/tnode.cc", "src/codegen/tnode.h", - "src/codegen/macro-assembler-base.cc", - "src/codegen/macro-assembler-base.h", "src/codegen/unoptimized-compilation-info.cc", "src/codegen/unoptimized-compilation-info.h", "src/common/assert-scope.cc", "src/common/assert-scope.h", "src/common/checks.h", - "src/common/code-memory-access-inl.h", "src/common/code-memory-access.cc", "src/common/code-memory-access.h", + "src/common/code-memory-access-inl.h", "src/common/high-allocation-throughput-scope.h", "src/common/message-template.h", "src/common/operation.h", - "src/common/ptr-compr-inl.h", "src/common/ptr-compr.cc", "src/common/ptr-compr.h", + "src/common/ptr-compr-inl.h", "src/compiler-dispatcher/lazy-compile-dispatcher.cc", "src/compiler-dispatcher/lazy-compile-dispatcher.h", "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", @@ -1276,9 +1289,11 @@ filegroup( "src/compiler/turbofan.h", "src/date/date.cc", "src/date/date.h", - "src/date/dateparser-inl.h", "src/date/dateparser.cc", "src/date/dateparser.h", + "src/date/dateparser-inl.h", + "src/debug/debug.cc", + "src/debug/debug.h", "src/debug/debug-coverage.cc", "src/debug/debug-coverage.h", "src/debug/debug-evaluate.cc", @@ -1295,13 +1310,11 @@ filegroup( "src/debug/debug-scopes.h", "src/debug/debug-stack-trace-iterator.cc", "src/debug/debug-stack-trace-iterator.h", - "src/debug/debug.cc", - "src/debug/debug.h", "src/debug/interface-types.h", - "src/debug/liveedit-diff.cc", - "src/debug/liveedit-diff.h", "src/debug/liveedit.cc", "src/debug/liveedit.h", + "src/debug/liveedit-diff.cc", + "src/debug/liveedit-diff.h", "src/deoptimizer/deoptimize-reason.cc", "src/deoptimizer/deoptimize-reason.h", "src/deoptimizer/deoptimized-frame-info.cc", @@ -1334,48 +1347,47 @@ filegroup( "src/diagnostics/perf-jit.h", "src/diagnostics/unwinder.cc", "src/diagnostics/unwinder.h", - "src/execution/arguments-inl.h", "src/execution/arguments.cc", "src/execution/arguments.h", + "src/execution/arguments-inl.h", "src/execution/clobber-registers.cc", "src/execution/clobber-registers.h", + "src/execution/embedder-state.cc", + "src/execution/embedder-state.h", "src/execution/encoded-c-signature.cc", "src/execution/encoded-c-signature.h", - "src/execution/embedder-state.h", - "src/execution/embedder-state.cc", "src/execution/execution.cc", "src/execution/execution.h", "src/execution/frame-constants.h", - "src/execution/frames-inl.h", "src/execution/frames.cc", "src/execution/frames.h", + "src/execution/frames-inl.h", "src/execution/futex-emulation.cc", "src/execution/futex-emulation.h", "src/execution/interrupts-scope.cc", "src/execution/interrupts-scope.h", + "src/execution/isolate.cc", + "src/execution/isolate.h", "src/execution/isolate-data.h", "src/execution/isolate-inl.h", "src/execution/isolate-utils.h", "src/execution/isolate-utils-inl.h", - "src/snapshot/embedded/platform-embedded-file-writer-base.h", - "src/snapshot/embedded/embedded-file-writer.h", - "src/execution/isolate.cc", - "src/execution/isolate.h", - "src/execution/local-isolate-inl.h", "src/execution/local-isolate.cc", "src/execution/local-isolate.h", + "src/execution/local-isolate-inl.h", "src/execution/messages.cc", "src/execution/messages.h", "src/execution/microtask-queue.cc", "src/execution/microtask-queue.h", "src/execution/pointer-authentication.h", - "src/execution/protectors-inl.h", + "src/execution/pointer-authentication-dummy.h", "src/execution/protectors.cc", "src/execution/protectors.h", + "src/execution/protectors-inl.h", "src/execution/shared-mutex-guard-if-off-thread.h", + "src/execution/simulator.h", "src/execution/simulator-base.cc", "src/execution/simulator-base.h", - "src/execution/simulator.h", "src/execution/stack-guard.cc", "src/execution/stack-guard.h", "src/execution/thread-id.cc", @@ -1386,8 +1398,8 @@ filegroup( "src/execution/tiering-manager.h", "src/execution/v8threads.cc", "src/execution/v8threads.h", - "src/execution/vm-state-inl.h", "src/execution/vm-state.h", + "src/execution/vm-state-inl.h", "src/extensions/cputracemark-extension.cc", "src/extensions/cputracemark-extension.h", "src/extensions/externalize-string-extension.cc", @@ -1403,25 +1415,23 @@ filegroup( "src/flags/flag-definitions.h", "src/flags/flags.cc", "src/flags/flags.h", - "src/handles/global-handles-inl.h", "src/handles/global-handles.cc", "src/handles/global-handles.h", - "src/handles/traced-handles.cc", - "src/handles/traced-handles.h", - "src/handles/handles-inl.h", + "src/handles/global-handles-inl.h", "src/handles/handles.cc", "src/handles/handles.h", - "src/handles/local-handles-inl.h", + "src/handles/handles-inl.h", "src/handles/local-handles.cc", "src/handles/local-handles.h", - "src/handles/maybe-handles-inl.h", + "src/handles/local-handles-inl.h", "src/handles/maybe-handles.h", + "src/handles/maybe-handles-inl.h", "src/handles/persistent-handles.cc", "src/handles/persistent-handles.h", "src/handles/shared-object-conveyor-handles.cc", "src/handles/shared-object-conveyor-handles.h", - "src/heap/base/active-system-pages.cc", - "src/heap/base/active-system-pages.h", + "src/handles/traced-handles.cc", + "src/handles/traced-handles.h", "src/heap/allocation-observer.cc", "src/heap/allocation-observer.h", "src/heap/allocation-result.h", @@ -1430,21 +1440,23 @@ filegroup( "src/heap/array-buffer-sweeper.h", "src/heap/base-space.cc", "src/heap/base-space.h", + "src/heap/base/active-system-pages.cc", + "src/heap/base/active-system-pages.h", "src/heap/basic-memory-chunk.cc", "src/heap/basic-memory-chunk.h", "src/heap/code-object-registry.cc", "src/heap/code-object-registry.h", - "src/heap/code-range.h", "src/heap/code-range.cc", + "src/heap/code-range.h", "src/heap/code-stats.cc", "src/heap/code-stats.h", "src/heap/collection-barrier.cc", "src/heap/collection-barrier.h", "src/heap/combined-heap.cc", "src/heap/combined-heap.h", - "src/heap/concurrent-allocator-inl.h", "src/heap/concurrent-allocator.cc", "src/heap/concurrent-allocator.h", + "src/heap/concurrent-allocator-inl.h", "src/heap/concurrent-marking.cc", "src/heap/concurrent-marking.h", "src/heap/cppgc-js/cpp-heap.cc", @@ -1464,29 +1476,35 @@ filegroup( "src/heap/cppgc-js/unified-heap-marking-visitor.h", "src/heap/cppgc-js/wrappable-info.h", "src/heap/cppgc-js/wrappable-info-inl.h", + "src/heap/ephemeron-remembered-set.h", + "src/heap/ephemeron-remembered-set.cc", + "src/heap/evacuation-allocator.h", + "src/heap/evacuation-allocator-inl.h", "src/heap/evacuation-verifier.cc", "src/heap/evacuation-verifier.h", "src/heap/evacuation-verifier-inl.h", + "src/heap/factory.cc", + "src/heap/factory.h", "src/heap/factory-base.cc", "src/heap/factory-base.h", "src/heap/factory-base-inl.h", "src/heap/factory-inl.h", - "src/heap/factory.cc", - "src/heap/factory.h", "src/heap/finalization-registry-cleanup-task.cc", "src/heap/finalization-registry-cleanup-task.h", - "src/heap/free-list-inl.h", "src/heap/free-list.cc", "src/heap/free-list.h", + "src/heap/free-list-inl.h", "src/heap/gc-callbacks.h", "src/heap/gc-idle-time-handler.cc", "src/heap/gc-idle-time-handler.h", "src/heap/gc-tracer.cc", - "src/heap/gc-tracer-inl.h", "src/heap/gc-tracer.h", - "src/heap/heap-allocator-inl.h", + "src/heap/gc-tracer-inl.h", + "src/heap/heap.cc", + "src/heap/heap.h", "src/heap/heap-allocator.cc", "src/heap/heap-allocator.h", + "src/heap/heap-allocator-inl.h", "src/heap/heap-controller.cc", "src/heap/heap-controller.h", "src/heap/heap-inl.h", @@ -1494,115 +1512,111 @@ filegroup( "src/heap/heap-layout-tracer.h", "src/heap/heap-verifier.cc", "src/heap/heap-verifier.h", - "src/heap/heap-write-barrier-inl.h", "src/heap/heap-write-barrier.cc", "src/heap/heap-write-barrier.h", - "src/heap/heap.cc", - "src/heap/heap.h", + "src/heap/heap-write-barrier-inl.h", + "src/heap/incremental-marking.cc", + "src/heap/incremental-marking.h", "src/heap/incremental-marking-inl.h", "src/heap/incremental-marking-job.cc", "src/heap/incremental-marking-job.h", - "src/heap/incremental-marking.cc", - "src/heap/incremental-marking.h", "src/heap/index-generator.cc", "src/heap/index-generator.h", - "src/heap/invalidated-slots-inl.h", - "src/heap/invalidated-slots.cc", - "src/heap/invalidated-slots.h", "src/heap/large-spaces.cc", "src/heap/large-spaces.h", "src/heap/linear-allocation-area.h", "src/heap/list.h", - "src/heap/evacuation-allocator-inl.h", - "src/heap/evacuation-allocator.h", "src/heap/local-factory.cc", "src/heap/local-factory.h", "src/heap/local-factory-inl.h", - "src/heap/local-heap-inl.h", "src/heap/local-heap.cc", "src/heap/local-heap.h", - "src/heap/mark-compact-inl.h", + "src/heap/local-heap-inl.h", "src/heap/mark-compact.cc", "src/heap/mark-compact.h", + "src/heap/mark-compact-inl.h", + "src/heap/marking.cc", + "src/heap/marking.h", + "src/heap/marking-inl.h", "src/heap/marking-barrier.cc", "src/heap/marking-barrier.h", "src/heap/marking-barrier-inl.h", "src/heap/marking-state.h", "src/heap/marking-state-inl.h", - "src/heap/marking-visitor-inl.h", "src/heap/marking-visitor.h", - "src/heap/marking-worklist-inl.h", + "src/heap/marking-visitor-inl.h", "src/heap/marking-worklist.cc", "src/heap/marking-worklist.h", - "src/heap/marking.cc", - "src/heap/marking.h", + "src/heap/marking-worklist-inl.h", "src/heap/memory-allocator.cc", "src/heap/memory-allocator.h", + "src/heap/memory-chunk.cc", + "src/heap/memory-chunk.h", "src/heap/memory-chunk-inl.h", "src/heap/memory-chunk-layout.cc", "src/heap/memory-chunk-layout.h", - "src/heap/memory-chunk.cc", - "src/heap/memory-chunk.h", - "src/heap/memory-measurement-inl.h", "src/heap/memory-measurement.cc", "src/heap/memory-measurement.h", + "src/heap/memory-measurement-inl.h", "src/heap/memory-reducer.cc", "src/heap/memory-reducer.h", - "src/heap/new-spaces-inl.h", + "src/heap/minor-gc-job.cc", + "src/heap/minor-gc-job.h", "src/heap/new-spaces.cc", "src/heap/new-spaces.h", + "src/heap/new-spaces-inl.h", "src/heap/object-lock.h", "src/heap/object-stats.cc", "src/heap/object-stats.h", - "src/heap/objects-visiting-inl.h", "src/heap/objects-visiting.cc", "src/heap/objects-visiting.h", - "src/heap/paged-spaces-inl.h", + "src/heap/objects-visiting-inl.h", "src/heap/paged-spaces.cc", "src/heap/paged-spaces.h", + "src/heap/paged-spaces-inl.h", "src/heap/parallel-work-item.h", "src/heap/parked-scope.h", - "src/heap/pretenuring-handler-inl.h", "src/heap/pretenuring-handler.cc", "src/heap/pretenuring-handler.h", + "src/heap/pretenuring-handler-inl.h", "src/heap/progress-bar.h", - "src/heap/read-only-heap-inl.h", "src/heap/read-only-heap.cc", "src/heap/read-only-heap.h", + "src/heap/read-only-heap-inl.h", "src/heap/read-only-spaces.cc", "src/heap/read-only-spaces.h", - "src/heap/remembered-set-inl.h", "src/heap/remembered-set.h", + "src/heap/remembered-set-inl.h", "src/heap/safepoint.cc", "src/heap/safepoint.h", - "src/heap/minor-gc-job.cc", - "src/heap/minor-gc-job.h", - "src/heap/scavenger-inl.h", "src/heap/scavenger.cc", "src/heap/scavenger.h", + "src/heap/scavenger-inl.h", "src/heap/slot-set.cc", "src/heap/slot-set.h", - "src/heap/spaces-inl.h", "src/heap/spaces.cc", "src/heap/spaces.h", + "src/heap/spaces-inl.h", "src/heap/stress-scavenge-observer.cc", "src/heap/stress-scavenge-observer.h", "src/heap/sweeper.cc", "src/heap/sweeper.h", + "src/heap/third-party/heap-api.h", + "src/heap/third-party/heap-api-stub.cc", "src/heap/traced-handles-marking-visitor.cc", "src/heap/traced-handles-marking-visitor.h", "src/heap/weak-object-worklists.cc", "src/heap/weak-object-worklists.h", "src/ic/call-optimization.cc", "src/ic/call-optimization.h", - "src/ic/handler-configuration-inl.h", "src/ic/handler-configuration.cc", "src/ic/handler-configuration.h", + "src/ic/handler-configuration-inl.h", + "src/ic/ic.cc", + "src/ic/ic.h", "src/ic/ic-inl.h", "src/ic/ic-stats.cc", "src/ic/ic-stats.h", - "src/ic/ic.cc", - "src/ic/ic.h", "src/ic/stub-cache.cc", "src/ic/stub-cache.h", "src/init/bootstrapper.cc", @@ -1639,11 +1653,11 @@ filegroup( "src/interpreter/bytecode-node.h", "src/interpreter/bytecode-operands.cc", "src/interpreter/bytecode-operands.h", + "src/interpreter/bytecode-register.cc", + "src/interpreter/bytecode-register.h", "src/interpreter/bytecode-register-allocator.h", "src/interpreter/bytecode-register-optimizer.cc", "src/interpreter/bytecode-register-optimizer.h", - "src/interpreter/bytecode-register.cc", - "src/interpreter/bytecode-register.h", "src/interpreter/bytecode-source-info.cc", "src/interpreter/bytecode-source-info.h", "src/interpreter/bytecode-traits.h", @@ -1655,152 +1669,167 @@ filegroup( "src/interpreter/control-flow-builders.h", "src/interpreter/handler-table-builder.cc", "src/interpreter/handler-table-builder.h", + "src/interpreter/interpreter.cc", + "src/interpreter/interpreter.h", "src/interpreter/interpreter-generator.h", "src/interpreter/interpreter-intrinsics.cc", "src/interpreter/interpreter-intrinsics.h", - "src/interpreter/interpreter.cc", - "src/interpreter/interpreter.h", "src/json/json-parser.cc", "src/json/json-parser.h", "src/json/json-stringifier.cc", "src/json/json-stringifier.h", "src/logging/code-events.h", - "src/logging/counters-definitions.h", "src/logging/counters.cc", "src/logging/counters.h", + "src/logging/counters-definitions.h", "src/logging/counters-scopes.h", "src/logging/local-logger.cc", "src/logging/local-logger.h", - "src/logging/log-inl.h", - "src/logging/log-file.cc", - "src/logging/log-file.h", "src/logging/log.cc", "src/logging/log.h", + "src/logging/log-file.cc", + "src/logging/log-file.h", + "src/logging/log-inl.h", "src/logging/metrics.cc", "src/logging/metrics.h", - "src/logging/tracing-flags.cc", - "src/logging/tracing-flags.h", "src/logging/runtime-call-stats.h", "src/logging/runtime-call-stats-scope.h", - "src/numbers/conversions-inl.h", + "src/logging/tracing-flags.cc", + "src/logging/tracing-flags.h", "src/numbers/conversions.cc", "src/numbers/conversions.h", + "src/numbers/conversions-inl.h", "src/numbers/hash-seed-inl.h", - "src/numbers/integer-literal-inl.h", "src/numbers/integer-literal.h", + "src/numbers/integer-literal-inl.h", "src/numbers/math-random.cc", "src/numbers/math-random.h", + "src/objects/abstract-code.cc", + "src/objects/abstract-code.h", + "src/objects/abstract-code-inl.h", "src/objects/all-objects-inl.h", + "src/objects/allocation-site.h", "src/objects/allocation-site-inl.h", - "src/objects/allocation-site-scopes-inl.h", "src/objects/allocation-site-scopes.h", - "src/objects/allocation-site.h", - "src/objects/api-callbacks-inl.h", + "src/objects/allocation-site-scopes-inl.h", "src/objects/api-callbacks.h", - "src/objects/arguments-inl.h", + "src/objects/api-callbacks-inl.h", "src/objects/arguments.h", + "src/objects/arguments-inl.h", "src/objects/backing-store.cc", "src/objects/backing-store.h", - "src/objects/bigint-inl.h", "src/objects/bigint.cc", "src/objects/bigint.h", - "src/objects/call-site-info-inl.h", + "src/objects/bigint-inl.h", + "src/objects/bytecode-array.cc", + "src/objects/bytecode-array.h", + "src/objects/bytecode-array-inl.h", "src/objects/call-site-info.cc", "src/objects/call-site-info.h", - "src/objects/cell-inl.h", + "src/objects/call-site-info-inl.h", "src/objects/cell.h", + "src/objects/cell-inl.h", + "src/objects/code.cc", + "src/objects/code.h", "src/objects/code-inl.h", "src/objects/code-kind.cc", "src/objects/code-kind.h", - "src/objects/code.cc", - "src/objects/code.h", - "src/objects/compilation-cache-table-inl.h", "src/objects/compilation-cache-table.cc", "src/objects/compilation-cache-table.h", - "src/objects/compressed-slots-inl.h", + "src/objects/compilation-cache-table-inl.h", "src/objects/compressed-slots.h", - "src/objects/contexts-inl.h", + "src/objects/compressed-slots-inl.h", "src/objects/contexts.cc", "src/objects/contexts.h", - "src/objects/data-handler-inl.h", + "src/objects/contexts-inl.h", "src/objects/data-handler.h", - "src/objects/debug-objects-inl.h", + "src/objects/data-handler-inl.h", "src/objects/debug-objects.cc", "src/objects/debug-objects.h", - "src/objects/descriptor-array-inl.h", + "src/objects/debug-objects-inl.h", + "src/objects/deoptimization-data.cc", + "src/objects/deoptimization-data.h", + "src/objects/deoptimization-data-inl.h", + "src/objects/dependent-code.cc", + "src/objects/dependent-code.h", + "src/objects/dependent-code-inl.h", "src/objects/descriptor-array.h", - "src/objects/dictionary-inl.h", + "src/objects/descriptor-array-inl.h", "src/objects/dictionary.h", + "src/objects/dictionary-inl.h", + "src/objects/elements.cc", + "src/objects/elements.h", "src/objects/elements-inl.h", "src/objects/elements-kind.cc", "src/objects/elements-kind.h", - "src/objects/elements.cc", - "src/objects/elements.h", - "src/objects/embedder-data-array-inl.h", "src/objects/embedder-data-array.cc", "src/objects/embedder-data-array.h", - "src/objects/embedder-data-slot-inl.h", + "src/objects/embedder-data-array-inl.h", "src/objects/embedder-data-slot.h", - "src/objects/feedback-cell-inl.h", + "src/objects/embedder-data-slot-inl.h", "src/objects/feedback-cell.h", - "src/objects/feedback-vector-inl.h", + "src/objects/feedback-cell-inl.h", "src/objects/feedback-vector.cc", "src/objects/feedback-vector.h", - "src/objects/field-index-inl.h", + "src/objects/feedback-vector-inl.h", "src/objects/field-index.h", + "src/objects/field-index-inl.h", "src/objects/field-type.cc", "src/objects/field-type.h", - "src/objects/fixed-array-inl.h", "src/objects/fixed-array.h", - "src/objects/foreign-inl.h", + "src/objects/fixed-array-inl.h", "src/objects/foreign.h", - "src/objects/free-space-inl.h", + "src/objects/foreign-inl.h", "src/objects/free-space.h", + "src/objects/free-space-inl.h", "src/objects/function-kind.h", "src/objects/function-syntax-kind.h", - "src/objects/hash-table-inl.h", "src/objects/hash-table.h", - "src/objects/heap-number-inl.h", + "src/objects/hash-table-inl.h", "src/objects/heap-number.h", - "src/objects/heap-object-inl.h", + "src/objects/heap-number-inl.h", "src/objects/heap-object.h", - "src/objects/instance-type-inl.h", + "src/objects/heap-object-inl.h", "src/objects/instance-type.h", + "src/objects/instance-type-inl.h", "src/objects/internal-index.h", - "src/objects/js-array-buffer-inl.h", + "src/objects/instruction-stream.cc", + "src/objects/instruction-stream.h", + "src/objects/instruction-stream-inl.h", + "src/objects/js-array.h", "src/objects/js-array-buffer.cc", "src/objects/js-array-buffer.h", + "src/objects/js-array-buffer-inl.h", "src/objects/js-array-inl.h", - "src/objects/js-array.h", - "src/objects/js-atomics-synchronization-inl.h", - "src/objects/js-atomics-synchronization.h", "src/objects/js-atomics-synchronization.cc", + "src/objects/js-atomics-synchronization.h", + "src/objects/js-atomics-synchronization-inl.h", + "src/objects/js-collection.h", "src/objects/js-collection-inl.h", "src/objects/js-collection-iterator.h", "src/objects/js-collection-iterator-inl.h", - "src/objects/js-collection.h", - "src/objects/js-function-inl.h", "src/objects/js-function.cc", "src/objects/js-function.h", - "src/objects/js-generator-inl.h", + "src/objects/js-function-inl.h", "src/objects/js-generator.h", - "src/objects/js-iterator-helpers-inl.h", + "src/objects/js-generator-inl.h", "src/objects/js-iterator-helpers.h", - "src/objects/js-objects-inl.h", + "src/objects/js-iterator-helpers-inl.h", "src/objects/js-objects.cc", "src/objects/js-objects.h", - "src/objects/js-promise-inl.h", + "src/objects/js-objects-inl.h", "src/objects/js-promise.h", - "src/objects/js-proxy-inl.h", + "src/objects/js-promise-inl.h", "src/objects/js-proxy.h", - "src/objects/js-raw-json-inl.h", - "src/objects/js-raw-json.h", + "src/objects/js-proxy-inl.h", "src/objects/js-raw-json.cc", - "src/objects/js-regexp-inl.h", - "src/objects/js-regexp-string-iterator-inl.h", - "src/objects/js-regexp-string-iterator.h", + "src/objects/js-raw-json.h", + "src/objects/js-raw-json-inl.h", "src/objects/js-regexp.cc", "src/objects/js-regexp.h", + "src/objects/js-regexp-inl.h", + "src/objects/js-regexp-string-iterator.h", + "src/objects/js-regexp-string-iterator-inl.h", "src/objects/js-shadow-realm.h", "src/objects/js-shadow-realm-inl.h", "src/objects/js-shared-array.h", @@ -1808,151 +1837,153 @@ filegroup( "src/objects/js-struct.cc", "src/objects/js-struct.h", "src/objects/js-struct-inl.h", + "src/objects/js-temporal-objects.cc", "src/objects/js-temporal-objects.h", "src/objects/js-temporal-objects-inl.h", - "src/objects/js-temporal-objects.cc", "src/objects/js-weak-refs.h", "src/objects/js-weak-refs-inl.h", "src/objects/keys.cc", "src/objects/keys.h", - "src/objects/literal-objects-inl.h", "src/objects/literal-objects.cc", "src/objects/literal-objects.h", - "src/objects/lookup-cache-inl.h", + "src/objects/literal-objects-inl.h", + "src/objects/lookup.cc", + "src/objects/lookup.h", "src/objects/lookup-cache.cc", "src/objects/lookup-cache.h", + "src/objects/lookup-cache-inl.h", "src/objects/lookup-inl.h", - "src/objects/lookup.cc", - "src/objects/lookup.h", - "src/objects/managed-inl.h", "src/objects/managed.cc", "src/objects/managed.h", + "src/objects/managed-inl.h", + "src/objects/map.cc", + "src/objects/map.h", "src/objects/map-inl.h", "src/objects/map-updater.cc", "src/objects/map-updater.h", - "src/objects/map.cc", - "src/objects/map.h", - "src/objects/maybe-object-inl.h", "src/objects/maybe-object.h", - "src/objects/megadom-handler-inl.h", + "src/objects/maybe-object-inl.h", "src/objects/megadom-handler.h", - "src/objects/microtask-inl.h", + "src/objects/megadom-handler-inl.h", "src/objects/microtask.h", - "src/objects/module-inl.h", + "src/objects/microtask-inl.h", "src/objects/module.cc", "src/objects/module.h", - "src/objects/name-inl.h", + "src/objects/module-inl.h", "src/objects/name.h", + "src/objects/name-inl.h", "src/objects/object-list-macros.h", - "src/objects/object-macros-undef.h", "src/objects/object-macros.h", + "src/objects/object-macros-undef.h", "src/objects/object-type.cc", "src/objects/object-type.h", - "src/objects/objects-body-descriptors-inl.h", - "src/objects/objects-body-descriptors.h", - "src/objects/objects-inl.h", "src/objects/objects.cc", "src/objects/objects.h", + "src/objects/objects-body-descriptors.h", + "src/objects/objects-body-descriptors-inl.h", "src/objects/objects-definitions.h", - "src/objects/oddball-inl.h", + "src/objects/objects-inl.h", "src/objects/oddball.h", - "src/objects/option-utils.h", + "src/objects/oddball-inl.h", + "src/objects/hole.h", + "src/objects/hole-inl.h", "src/objects/option-utils.cc", - "src/objects/ordered-hash-table-inl.h", + "src/objects/option-utils.h", "src/objects/ordered-hash-table.cc", "src/objects/ordered-hash-table.h", - "src/objects/primitive-heap-object-inl.h", + "src/objects/ordered-hash-table-inl.h", "src/objects/primitive-heap-object.h", - "src/objects/promise-inl.h", + "src/objects/primitive-heap-object-inl.h", "src/objects/promise.h", - "src/objects/property-array-inl.h", + "src/objects/promise-inl.h", + "src/objects/property.cc", + "src/objects/property.h", "src/objects/property-array.h", - "src/objects/property-cell-inl.h", + "src/objects/property-array-inl.h", "src/objects/property-cell.h", - "src/objects/property-descriptor-object-inl.h", - "src/objects/property-descriptor-object.h", + "src/objects/property-cell-inl.h", "src/objects/property-descriptor.cc", "src/objects/property-descriptor.h", + "src/objects/property-descriptor-object.h", + "src/objects/property-descriptor-object-inl.h", "src/objects/property-details.h", - "src/objects/property.cc", - "src/objects/property.h", - "src/objects/prototype-info-inl.h", - "src/objects/prototype-info.h", "src/objects/prototype.h", + "src/objects/prototype-info.h", + "src/objects/prototype-info-inl.h", "src/objects/prototype-inl.h", - "src/objects/regexp-match-info-inl.h", "src/objects/regexp-match-info.h", - "src/objects/scope-info-inl.h", + "src/objects/regexp-match-info-inl.h", "src/objects/scope-info.cc", "src/objects/scope-info.h", - "src/objects/script-inl.h", + "src/objects/scope-info-inl.h", "src/objects/script.h", - "src/objects/shared-function-info-inl.h", + "src/objects/script-inl.h", "src/objects/shared-function-info.cc", "src/objects/shared-function-info.h", + "src/objects/shared-function-info-inl.h", "src/objects/simd.cc", "src/objects/simd.h", + "src/objects/slots.h", "src/objects/slots-atomic-inl.h", "src/objects/slots-inl.h", - "src/objects/slots.h", - "src/objects/smi-inl.h", "src/objects/smi.h", + "src/objects/smi-inl.h", "src/objects/source-text-module.cc", "src/objects/source-text-module.h", "src/objects/source-text-module-inl.h", - "src/objects/string-comparator.cc", - "src/objects/string-comparator.h", - "src/objects/string-inl.h", - "src/objects/string-set-inl.h", - "src/objects/string-set.h", - "src/objects/string-forwarding-table-inl.h", + "src/objects/string.cc", + "src/objects/string.h", + "src/objects/string-comparator.cc", + "src/objects/string-comparator.h", "src/objects/string-forwarding-table.cc", "src/objects/string-forwarding-table.h", - "src/objects/string-table-inl.h", + "src/objects/string-forwarding-table-inl.h", + "src/objects/string-inl.h", + "src/objects/string-set.h", + "src/objects/string-set-inl.h", "src/objects/string-table.cc", - "src/objects/symbol-table.cc", "src/objects/string-table.h", - "src/objects/string.cc", - "src/objects/string.h", - "src/objects/struct-inl.h", + "src/objects/string-table-inl.h", "src/objects/struct.h", + "src/objects/struct-inl.h", "src/objects/swiss-hash-table-helpers.h", - "src/objects/swiss-name-dictionary-inl.h", "src/objects/swiss-name-dictionary.cc", "src/objects/swiss-name-dictionary.h", - "src/objects/synthetic-module-inl.h", + "src/objects/swiss-name-dictionary-inl.h", + "src/objects/symbol-table.cc", "src/objects/synthetic-module.cc", "src/objects/synthetic-module.h", - "src/objects/tagged-field-inl.h", + "src/objects/synthetic-module-inl.h", "src/objects/tagged-field.h", - "src/objects/tagged-impl-inl.h", + "src/objects/tagged-field-inl.h", "src/objects/tagged-impl.cc", "src/objects/tagged-impl.h", + "src/objects/tagged-impl-inl.h", "src/objects/tagged-index.h", - "src/objects/tagged-value-inl.h", "src/objects/tagged-value.h", - "src/objects/template-objects-inl.h", + "src/objects/tagged-value-inl.h", "src/objects/template-objects.cc", "src/objects/template-objects.h", - "src/objects/templates-inl.h", + "src/objects/template-objects-inl.h", "src/objects/templates.cc", "src/objects/templates.h", - "src/objects/torque-defined-classes-inl.h", + "src/objects/templates-inl.h", "src/objects/torque-defined-classes.h", - "src/objects/transitions-inl.h", + "src/objects/torque-defined-classes-inl.h", "src/objects/transitions.cc", "src/objects/transitions.h", - "src/objects/turbofan-types-inl.h", + "src/objects/transitions-inl.h", "src/objects/turbofan-types.h", - "src/objects/turboshaft-types-inl.h", + "src/objects/turbofan-types-inl.h", "src/objects/turboshaft-types.h", + "src/objects/turboshaft-types-inl.h", "src/objects/type-hints.cc", "src/objects/type-hints.h", "src/objects/value-serializer.cc", "src/objects/value-serializer.h", "src/objects/visitors.cc", - "src/objects/visitors-inl.h", "src/objects/visitors.h", + "src/objects/visitors-inl.h", "src/parsing/expression-scope.h", "src/parsing/func-name-inferrer.cc", "src/parsing/func-name-inferrer.h", @@ -1963,44 +1994,44 @@ filegroup( "src/parsing/literal-buffer.h", "src/parsing/parse-info.cc", "src/parsing/parse-info.h", - "src/parsing/parser-base.h", "src/parsing/parser.cc", "src/parsing/parser.h", + "src/parsing/parser-base.h", "src/parsing/parsing.cc", "src/parsing/parsing.h", "src/parsing/pending-compilation-error-handler.cc", "src/parsing/pending-compilation-error-handler.h", - "src/parsing/preparse-data-impl.h", "src/parsing/preparse-data.cc", "src/parsing/preparse-data.h", - "src/parsing/preparser-logger.h", + "src/parsing/preparse-data-impl.h", "src/parsing/preparser.cc", "src/parsing/preparser.h", + "src/parsing/preparser-logger.h", "src/parsing/rewriter.cc", "src/parsing/rewriter.h", - "src/parsing/scanner-character-streams.cc", - "src/parsing/scanner-character-streams.h", "src/parsing/scanner.cc", "src/parsing/scanner.h", + "src/parsing/scanner-character-streams.cc", + "src/parsing/scanner-character-streams.h", "src/parsing/scanner-inl.h", "src/parsing/token.cc", "src/parsing/token.h", "src/profiler/allocation-tracker.cc", "src/profiler/allocation-tracker.h", - "src/profiler/circular-queue-inl.h", "src/profiler/circular-queue.h", - "src/profiler/cpu-profiler-inl.h", + "src/profiler/circular-queue-inl.h", "src/profiler/cpu-profiler.cc", "src/profiler/cpu-profiler.h", + "src/profiler/cpu-profiler-inl.h", "src/profiler/heap-profiler.cc", "src/profiler/heap-profiler.h", - "src/profiler/heap-snapshot-generator-inl.h", "src/profiler/heap-snapshot-generator.cc", "src/profiler/heap-snapshot-generator.h", + "src/profiler/heap-snapshot-generator-inl.h", "src/profiler/output-stream-writer.h", - "src/profiler/profile-generator-inl.h", "src/profiler/profile-generator.cc", "src/profiler/profile-generator.h", + "src/profiler/profile-generator-inl.h", "src/profiler/profiler-listener.cc", "src/profiler/profiler-listener.h", "src/profiler/profiler-stats.cc", @@ -2015,28 +2046,30 @@ filegroup( "src/profiler/tick-sample.h", "src/profiler/tracing-cpu-profiler.cc", "src/profiler/tracing-cpu-profiler.h", - "src/profiler/weak-code-registry.h", "src/profiler/weak-code-registry.cc", + "src/profiler/weak-code-registry.h", + "src/regexp/experimental/experimental.cc", + "src/regexp/experimental/experimental.h", "src/regexp/experimental/experimental-bytecode.cc", "src/regexp/experimental/experimental-bytecode.h", "src/regexp/experimental/experimental-compiler.cc", "src/regexp/experimental/experimental-compiler.h", "src/regexp/experimental/experimental-interpreter.cc", "src/regexp/experimental/experimental-interpreter.h", - "src/regexp/experimental/experimental.cc", - "src/regexp/experimental/experimental.h", + "src/regexp/regexp.cc", + "src/regexp/regexp.h", "src/regexp/regexp-ast.cc", "src/regexp/regexp-ast.h", - "src/regexp/regexp-bytecode-generator-inl.h", "src/regexp/regexp-bytecode-generator.cc", "src/regexp/regexp-bytecode-generator.h", + "src/regexp/regexp-bytecode-generator-inl.h", "src/regexp/regexp-bytecode-peephole.cc", "src/regexp/regexp-bytecode-peephole.h", "src/regexp/regexp-bytecodes.cc", "src/regexp/regexp-bytecodes.h", - "src/regexp/regexp-compiler-tonode.cc", "src/regexp/regexp-compiler.cc", "src/regexp/regexp-compiler.h", + "src/regexp/regexp-compiler-tonode.cc", "src/regexp/regexp-dotprinter.cc", "src/regexp/regexp-dotprinter.h", "src/regexp/regexp-error.cc", @@ -2044,11 +2077,11 @@ filegroup( "src/regexp/regexp-flags.h", "src/regexp/regexp-interpreter.cc", "src/regexp/regexp-interpreter.h", + "src/regexp/regexp-macro-assembler.cc", + "src/regexp/regexp-macro-assembler.h", "src/regexp/regexp-macro-assembler-arch.h", "src/regexp/regexp-macro-assembler-tracer.cc", "src/regexp/regexp-macro-assembler-tracer.h", - "src/regexp/regexp-macro-assembler.cc", - "src/regexp/regexp-macro-assembler.h", "src/regexp/regexp-nodes.h", "src/regexp/regexp-parser.cc", "src/regexp/regexp-parser.h", @@ -2056,13 +2089,13 @@ filegroup( "src/regexp/regexp-stack.h", "src/regexp/regexp-utils.cc", "src/regexp/regexp-utils.h", - "src/regexp/regexp.cc", - "src/regexp/regexp.h", "src/regexp/special-case.h", - "src/roots/roots-inl.h", "src/roots/roots.cc", "src/roots/roots.h", + "src/roots/roots-inl.h", "src/roots/static-roots.h", + "src/runtime/runtime.cc", + "src/runtime/runtime.h", "src/runtime/runtime-array.cc", "src/runtime/runtime-atomics.cc", "src/runtime/runtime-bigint.cc", @@ -2094,28 +2127,21 @@ filegroup( "src/runtime/runtime-typedarray.cc", "src/runtime/runtime-utils.h", "src/runtime/runtime-weak-refs.cc", - "src/runtime/runtime.cc", - "src/runtime/runtime.h", - "src/sandbox/external-pointer-inl.h", + "src/sandbox/bounded-size.h", + "src/sandbox/bounded-size-inl.h", "src/sandbox/external-pointer.h", + "src/sandbox/external-pointer-inl.h", "src/sandbox/external-pointer-table.cc", - "src/sandbox/external-pointer-table-inl.h", "src/sandbox/external-pointer-table.h", - "src/sandbox/testing.cc", - "src/sandbox/testing.h", + "src/sandbox/external-pointer-table-inl.h", + "src/sandbox/external-entity-table.h", + "src/sandbox/external-entity-table-inl.h", "src/sandbox/sandbox.cc", "src/sandbox/sandbox.h", - "src/sandbox/sandboxed-pointer-inl.h", "src/sandbox/sandboxed-pointer.h", - "src/sandbox/bounded-size-inl.h", - "src/sandbox/bounded-size.h", - "src/base/sanitizer/asan.h", - "src/base/sanitizer/lsan-page-allocator.cc", - "src/base/sanitizer/lsan-page-allocator.h", - "src/base/sanitizer/lsan-virtual-address-space.cc", - "src/base/sanitizer/lsan-virtual-address-space.h", - "src/base/sanitizer/msan.h", - "src/base/sanitizer/tsan.h", + "src/sandbox/sandboxed-pointer-inl.h", + "src/sandbox/testing.cc", + "src/sandbox/testing.h", "src/snapshot/code-serializer.cc", "src/snapshot/code-serializer.h", "src/snapshot/context-deserializer.cc", @@ -2125,9 +2151,11 @@ filegroup( "src/snapshot/deserializer.cc", "src/snapshot/deserializer.h", "src/snapshot/embedded/embedded-data.cc", - "src/snapshot/embedded/embedded-data-inl.h", "src/snapshot/embedded/embedded-data.h", + "src/snapshot/embedded/embedded-data-inl.h", + "src/snapshot/embedded/embedded-file-writer.h", "src/snapshot/embedded/embedded-file-writer-interface.h", + "src/snapshot/embedded/platform-embedded-file-writer-base.h", "src/snapshot/object-deserializer.cc", "src/snapshot/object-deserializer.h", "src/snapshot/read-only-deserializer.cc", @@ -2137,43 +2165,43 @@ filegroup( "src/snapshot/references.h", "src/snapshot/roots-serializer.cc", "src/snapshot/roots-serializer.h", + "src/snapshot/serializer.cc", + "src/snapshot/serializer.h", "src/snapshot/serializer-deserializer.cc", "src/snapshot/serializer-deserializer.h", - "src/snapshot/serializer.cc", "src/snapshot/serializer-inl.h", - "src/snapshot/serializer.h", - "src/snapshot/shared-heap-deserializer.h", "src/snapshot/shared-heap-deserializer.cc", - "src/snapshot/shared-heap-serializer.h", + "src/snapshot/shared-heap-deserializer.h", "src/snapshot/shared-heap-serializer.cc", + "src/snapshot/shared-heap-serializer.h", + "src/snapshot/snapshot.cc", + "src/snapshot/snapshot.h", "src/snapshot/snapshot-data.cc", "src/snapshot/snapshot-data.h", "src/snapshot/snapshot-source-sink.cc", "src/snapshot/snapshot-source-sink.h", "src/snapshot/snapshot-utils.cc", "src/snapshot/snapshot-utils.h", - "src/snapshot/snapshot.cc", - "src/snapshot/snapshot.h", "src/snapshot/startup-deserializer.cc", "src/snapshot/startup-deserializer.h", "src/snapshot/startup-serializer.cc", "src/snapshot/startup-serializer.h", - "src/strings/char-predicates-inl.h", "src/strings/char-predicates.h", - "src/strings/string-builder-inl.h", + "src/strings/char-predicates-inl.h", "src/strings/string-builder.cc", + "src/strings/string-builder-inl.h", "src/strings/string-case.cc", "src/strings/string-case.h", - "src/strings/string-hasher-inl.h", "src/strings/string-hasher.h", + "src/strings/string-hasher-inl.h", "src/strings/string-search.h", "src/strings/string-stream.cc", "src/strings/string-stream.h", + "src/strings/unicode.cc", + "src/strings/unicode.h", "src/strings/unicode-decoder.cc", "src/strings/unicode-decoder.h", "src/strings/unicode-inl.h", - "src/strings/unicode.cc", - "src/strings/unicode.h", "src/strings/uri.cc", "src/strings/uri.h", "src/tasks/cancelable-task.cc", @@ -2184,10 +2212,10 @@ filegroup( "src/tasks/task-utils.h", "src/temporal/temporal-parser.cc", "src/temporal/temporal-parser.h", - "src/torque/runtime-macro-shims.h", "src/third_party/siphash/halfsiphash.cc", "src/third_party/siphash/halfsiphash.h", "src/third_party/utf8-decoder/utf8-decoder.h", + "src/torque/runtime-macro-shims.h", "src/tracing/trace-event.cc", "src/tracing/trace-event.h", "src/tracing/traced-value.cc", @@ -2207,8 +2235,8 @@ filegroup( "src/utils/hex-format.h", "src/utils/identity-map.cc", "src/utils/identity-map.h", - "src/utils/locked-queue-inl.h", "src/utils/locked-queue.h", + "src/utils/locked-queue-inl.h", "src/utils/memcopy.cc", "src/utils/memcopy.h", "src/utils/ostreams.cc", @@ -2217,9 +2245,9 @@ filegroup( "src/utils/sha-256.cc", "src/utils/sha-256.h", "src/utils/sparse-bit-vector.h", - "src/utils/utils-inl.h", "src/utils/utils.cc", "src/utils/utils.h", + "src/utils/utils-inl.h", "src/utils/version.cc", "src/utils/version.h", "src/zone/accounting-allocator.cc", @@ -2227,42 +2255,42 @@ filegroup( "src/zone/compressed-zone-ptr.h", "src/zone/type-stats.cc", "src/zone/type-stats.h", + "src/zone/zone.cc", + "src/zone/zone.h", "src/zone/zone-allocator.h", "src/zone/zone-chunk-list.h", + "src/zone/zone-compact-set.h", "src/zone/zone-compression.h", "src/zone/zone-containers.h", - "src/zone/zone-handle-set.h", "src/zone/zone-hashmap.h", - "src/zone/zone-list-inl.h", "src/zone/zone-list.h", + "src/zone/zone-list-inl.h", "src/zone/zone-segment.cc", "src/zone/zone-segment.h", "src/zone/zone-type-traits.h", "src/zone/zone-utils.h", - "src/zone/zone.cc", - "src/zone/zone.h", - "src/asmjs/asm-js.h", - "src/execution/pointer-authentication-dummy.h", - "src/heap/third-party/heap-api.h", - "src/heap/third-party/heap-api-stub.cc", + ":cppgc_base_files", + ":generated_bytecode_builtins_list", + ":v8_bigint", + ":v8_heap_base_files", ] + select({ "@v8//bazel/config:v8_target_ia32": [ "src/baseline/ia32/baseline-assembler-ia32-inl.h", "src/baseline/ia32/baseline-compiler-ia32-inl.h", - "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h", - "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.cc", - "src/codegen/ia32/cpu-ia32.cc", - "src/codegen/ia32/assembler-ia32-inl.h", "src/codegen/ia32/assembler-ia32.cc", "src/codegen/ia32/assembler-ia32.h", + "src/codegen/ia32/assembler-ia32-inl.h", "src/codegen/ia32/constants-ia32.h", + "src/codegen/ia32/cpu-ia32.cc", "src/codegen/ia32/fma-instr.h", "src/codegen/ia32/interface-descriptors-ia32-inl.h", - "src/codegen/ia32/sse-instr.h", "src/codegen/ia32/macro-assembler-ia32.cc", "src/codegen/ia32/macro-assembler-ia32.h", "src/codegen/ia32/register-ia32.h", "src/codegen/ia32/reglist-ia32.h", + "src/codegen/ia32/sse-instr.h", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.cc", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h", "src/deoptimizer/ia32/deoptimizer-ia32.cc", "src/diagnostics/ia32/disasm-ia32.cc", "src/diagnostics/ia32/unwinder-ia32.cc", @@ -2275,20 +2303,20 @@ filegroup( "@v8//bazel/config:v8_target_x64": [ "src/baseline/x64/baseline-assembler-x64-inl.h", "src/baseline/x64/baseline-compiler-x64-inl.h", - "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h", "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.cc", - "src/codegen/x64/cpu-x64.cc", - "src/codegen/x64/assembler-x64-inl.h", + "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h", "src/codegen/x64/assembler-x64.cc", "src/codegen/x64/assembler-x64.h", + "src/codegen/x64/assembler-x64-inl.h", "src/codegen/x64/constants-x64.h", + "src/codegen/x64/cpu-x64.cc", "src/codegen/x64/fma-instr.h", "src/codegen/x64/interface-descriptors-x64-inl.h", - "src/codegen/x64/sse-instr.h", "src/codegen/x64/macro-assembler-x64.cc", "src/codegen/x64/macro-assembler-x64.h", "src/codegen/x64/register-x64.h", "src/codegen/x64/reglist-x64.h", + "src/codegen/x64/sse-instr.h", "src/deoptimizer/x64/deoptimizer-x64.cc", "src/diagnostics/x64/disasm-x64.cc", "src/diagnostics/x64/eh-frame-x64.cc", @@ -2302,9 +2330,9 @@ filegroup( "@v8//bazel/config:v8_target_arm": [ "src/baseline/arm/baseline-assembler-arm-inl.h", "src/baseline/arm/baseline-compiler-arm-inl.h", - "src/codegen/arm/assembler-arm-inl.h", "src/codegen/arm/assembler-arm.cc", "src/codegen/arm/assembler-arm.h", + "src/codegen/arm/assembler-arm-inl.h", "src/codegen/arm/constants-arm.cc", "src/codegen/arm/constants-arm.h", "src/codegen/arm/cpu-arm.cc", @@ -2328,21 +2356,21 @@ filegroup( "@v8//bazel/config:v8_target_arm64": [ "src/baseline/arm64/baseline-assembler-arm64-inl.h", "src/baseline/arm64/baseline-compiler-arm64-inl.h", - "src/codegen/arm64/assembler-arm64-inl.h", "src/codegen/arm64/assembler-arm64.cc", "src/codegen/arm64/assembler-arm64.h", + "src/codegen/arm64/assembler-arm64-inl.h", "src/codegen/arm64/constants-arm64.h", "src/codegen/arm64/cpu-arm64.cc", - "src/codegen/arm64/decoder-arm64-inl.h", "src/codegen/arm64/decoder-arm64.cc", "src/codegen/arm64/decoder-arm64.h", - "src/codegen/arm64/interface-descriptors-arm64-inl.h", - "src/codegen/arm64/instructions-arm64-constants.cc", + "src/codegen/arm64/decoder-arm64-inl.h", "src/codegen/arm64/instructions-arm64.cc", "src/codegen/arm64/instructions-arm64.h", - "src/codegen/arm64/macro-assembler-arm64-inl.h", + "src/codegen/arm64/instructions-arm64-constants.cc", + "src/codegen/arm64/interface-descriptors-arm64-inl.h", "src/codegen/arm64/macro-assembler-arm64.cc", "src/codegen/arm64/macro-assembler-arm64.h", + "src/codegen/arm64/macro-assembler-arm64-inl.h", "src/codegen/arm64/register-arm64.cc", "src/codegen/arm64/register-arm64.h", "src/codegen/arm64/reglist-arm64.h", @@ -2453,8 +2481,8 @@ filegroup( "//conditions:default": [], }) + select({ "@v8//bazel/config:v8_arm64_simulator": [ - "src/trap-handler/trap-handler-simulator.h", "src/trap-handler/handler-outside-simulator.cc", + "src/trap-handler/trap-handler-simulator.h", ], "//conditions:default": [], }) + select({ @@ -2486,17 +2514,15 @@ filegroup( "src/runtime/runtime-test-wasm.cc", "src/runtime/runtime-wasm.cc", "src/third_party/utf8-decoder/generalized-utf8-decoder.h", - "src/trap-handler/handler-inside-posix.h", "src/trap-handler/handler-inside.cc", + "src/trap-handler/handler-inside-posix.h", "src/trap-handler/handler-outside.cc", "src/trap-handler/handler-shared.cc", - "src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler.h", - "src/wasm/assembler-buffer-cache.cc", - "src/wasm/assembler-buffer-cache.h", + "src/trap-handler/trap-handler-internal.h", "src/wasm/baseline/liftoff-assembler.cc", - "src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler.h", + "src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-compiler.cc", "src/wasm/baseline/liftoff-compiler.h", "src/wasm/baseline/liftoff-register.h", @@ -2565,15 +2591,14 @@ filegroup( "src/wasm/wasm-features.h", "src/wasm/wasm-import-wrapper-cache.cc", "src/wasm/wasm-import-wrapper-cache.h", - "src/wasm/wasm-init-expr.cc", "src/wasm/wasm-init-expr.h", "src/wasm/wasm-js.cc", "src/wasm/wasm-js.h", "src/wasm/wasm-linkage.h", - "src/wasm/wasm-module-builder.cc", - "src/wasm/wasm-module-builder.h", "src/wasm/wasm-module.cc", "src/wasm/wasm-module.h", + "src/wasm/wasm-module-builder.cc", + "src/wasm/wasm-module-builder.h", "src/wasm/wasm-module-sourcemap.cc", "src/wasm/wasm-module-sourcemap.h", "src/wasm/wasm-objects.cc", @@ -2840,6 +2865,8 @@ filegroup( "src/compiler/operator-properties.h", "src/compiler/osr.cc", "src/compiler/osr.h", + "src/compiler/pair-load-store-reducer.cc", + "src/compiler/pair-load-store-reducer.h", "src/compiler/per-isolate-compiler-cache.h", "src/compiler/persistent-map.h", "src/compiler/phase.h", @@ -2875,11 +2902,11 @@ filegroup( "src/compiler/state-values-utils.cc", "src/compiler/state-values-utils.h", "src/compiler/store-store-elimination.cc", + "src/compiler/store-store-elimination.h", "src/compiler/string-builder-optimizer.cc", "src/compiler/string-builder-optimizer.h", - "src/compiler/store-store-elimination.h", - "src/compiler/turbofan-enabled.cc", "src/compiler/turbofan.h", + "src/compiler/turbofan-enabled.cc", "src/compiler/turboshaft/assembler.cc", "src/compiler/turboshaft/assembler.h", "src/compiler/turboshaft/assert-types-reducer.h", @@ -2896,18 +2923,17 @@ filegroup( "src/compiler/turboshaft/decompression-optimization-phase.h", "src/compiler/turboshaft/define-assembler-macros.inc", "src/compiler/turboshaft/deopt-data.h", + "src/compiler/turboshaft/fast-api-call-reducer.h", "src/compiler/turboshaft/fast-hash.h", - "src/compiler/turboshaft/graph-builder.cc", - "src/compiler/turboshaft/graph-builder.h", "src/compiler/turboshaft/graph.cc", "src/compiler/turboshaft/graph.h", - "src/compiler/turboshaft/index.h", + "src/compiler/turboshaft/graph-builder.cc", + "src/compiler/turboshaft/graph-builder.h", "src/compiler/turboshaft/graph-visualizer.cc", "src/compiler/turboshaft/graph-visualizer.h", - "src/compiler/turboshaft/late-escape-analysis-reducer.h", + "src/compiler/turboshaft/index.h", "src/compiler/turboshaft/late-escape-analysis-reducer.cc", - "src/compiler/turboshaft/late-optimization-phase.cc", - "src/compiler/turboshaft/late-optimization-phase.h", + "src/compiler/turboshaft/late-escape-analysis-reducer.h", "src/compiler/turboshaft/layered-hash-map.h", "src/compiler/turboshaft/machine-lowering-phase.cc", "src/compiler/turboshaft/machine-lowering-phase.h", @@ -2915,15 +2941,17 @@ filegroup( "src/compiler/turboshaft/machine-optimization-reducer.h", "src/compiler/turboshaft/memory-optimization-reducer.cc", "src/compiler/turboshaft/memory-optimization-reducer.h", + "src/compiler/turboshaft/operation-matching.h", "src/compiler/turboshaft/operations.cc", "src/compiler/turboshaft/operations.h", - "src/compiler/turboshaft/operation-matching.h", "src/compiler/turboshaft/optimization-phase.cc", "src/compiler/turboshaft/optimization-phase.h", "src/compiler/turboshaft/optimize-phase.cc", "src/compiler/turboshaft/optimize-phase.h", "src/compiler/turboshaft/phase.cc", "src/compiler/turboshaft/phase.h", + "src/compiler/turboshaft/pretenuring-propagation-reducer.cc", + "src/compiler/turboshaft/pretenuring-propagation-reducer.h", "src/compiler/turboshaft/recreate-schedule.cc", "src/compiler/turboshaft/recreate-schedule.h", "src/compiler/turboshaft/recreate-schedule-phase.cc", @@ -2937,21 +2965,23 @@ filegroup( "src/compiler/turboshaft/simplify-tf-loops.cc", "src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/snapshot-table.h", - "src/compiler/turboshaft/tag-untag-lowering-phase.cc", - "src/compiler/turboshaft/tag-untag-lowering-phase.h", + "src/compiler/turboshaft/store-store-elimination-phase.cc", + "src/compiler/turboshaft/store-store-elimination-phase.h", + "src/compiler/turboshaft/store-store-elimination-reducer.h", + "src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tracing.h", - "src/compiler/turboshaft/type-inference-analysis.h", - "src/compiler/turboshaft/type-inference-reducer.h", - "src/compiler/turboshaft/typer.cc", - "src/compiler/turboshaft/typer.h", "src/compiler/turboshaft/type-assertions-phase.cc", "src/compiler/turboshaft/type-assertions-phase.h", + "src/compiler/turboshaft/type-inference-analysis.h", + "src/compiler/turboshaft/type-inference-reducer.h", "src/compiler/turboshaft/type-parser.cc", "src/compiler/turboshaft/type-parser.h", "src/compiler/turboshaft/typed-optimizations-phase.cc", "src/compiler/turboshaft/typed-optimizations-phase.h", "src/compiler/turboshaft/typed-optimizations-reducer.h", + "src/compiler/turboshaft/typer.cc", + "src/compiler/turboshaft/typer.h", "src/compiler/turboshaft/types.cc", "src/compiler/turboshaft/types.h", "src/compiler/turboshaft/undef-assembler-macros.inc", @@ -3035,17 +3065,15 @@ filegroup( ":is_v8_enable_webassembly": [ "src/compiler/int64-lowering.cc", "src/compiler/int64-lowering.h", + "src/compiler/wasm-address-reassociation.cc", + "src/compiler/wasm-address-reassociation.h", "src/compiler/wasm-call-descriptors.cc", "src/compiler/wasm-call-descriptors.h", - "src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-compiler.cc", "src/compiler/wasm-compiler.h", + "src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-escape-analysis.cc", "src/compiler/wasm-escape-analysis.h", - "src/compiler/wasm-load-elimination.cc", - "src/compiler/wasm-load-elimination.h", - "src/compiler/wasm-loop-peeling.cc", - "src/compiler/wasm-loop-peeling.h", "src/compiler/wasm-gc-lowering.cc", "src/compiler/wasm-gc-lowering.h", "src/compiler/wasm-gc-operator-reducer.cc", @@ -3056,6 +3084,10 @@ filegroup( "src/compiler/wasm-inlining.h", "src/compiler/wasm-inlining-into-js.cc", "src/compiler/wasm-inlining-into-js.h", + "src/compiler/wasm-load-elimination.cc", + "src/compiler/wasm-load-elimination.h", + "src/compiler/wasm-loop-peeling.cc", + "src/compiler/wasm-loop-peeling.h", "src/compiler/wasm-typer.cc", "src/compiler/wasm-typer.h", ], @@ -3079,9 +3111,9 @@ filegroup( "src/builtins/builtins-call-gen.h", "src/builtins/builtins-collections-gen.cc", "src/builtins/builtins-collections-gen.h", + "src/builtins/builtins-constructor.h", "src/builtins/builtins-constructor-gen.cc", "src/builtins/builtins-constructor-gen.h", - "src/builtins/builtins-constructor.h", "src/builtins/builtins-conversion-gen.cc", "src/builtins/builtins-data-view-gen.h", "src/builtins/builtins-date-gen.cc", @@ -3136,8 +3168,8 @@ filegroup( "src/interpreter/interpreter-generator.h", "src/interpreter/interpreter-intrinsics-generator.cc", "src/interpreter/interpreter-intrinsics-generator.h", - "src/numbers/integer-literal-inl.h", "src/numbers/integer-literal.h", + "src/numbers/integer-literal-inl.h", ] + select({ "@v8//bazel/config:v8_target_ia32": ["src/builtins/ia32/builtins-ia32.cc"], "@v8//bazel/config:v8_target_x64": ["src/builtins/x64/builtins-x64.cc"], @@ -3188,6 +3220,7 @@ filegroup( "src/heap/cppgc/heap.h", "src/heap/cppgc/heap-base.cc", "src/heap/cppgc/heap-base.h", + "src/heap/cppgc/heap-config.h", "src/heap/cppgc/heap-consistency.cc", "src/heap/cppgc/heap-growing.cc", "src/heap/cppgc/heap-growing.h", @@ -3244,12 +3277,10 @@ filegroup( "src/heap/cppgc/raw-heap.h", "src/heap/cppgc/remembered-set.cc", "src/heap/cppgc/remembered-set.h", - "src/heap/cppgc/source-location.cc", "src/heap/cppgc/stats-collector.cc", "src/heap/cppgc/stats-collector.h", "src/heap/cppgc/sweeper.cc", "src/heap/cppgc/sweeper.h", - "src/heap/cppgc/heap-config.h", "src/heap/cppgc/task-handle.h", "src/heap/cppgc/trace-event.h", "src/heap/cppgc/trace-trait.cc", @@ -3332,10 +3363,10 @@ filegroup( "src/snapshot/embedded/platform-embedded-file-writer-mac.h", "src/snapshot/embedded/platform-embedded-file-writer-win.cc", "src/snapshot/embedded/platform-embedded-file-writer-win.h", - "src/snapshot/static-roots-gen.cc", - "src/snapshot/static-roots-gen.h", "src/snapshot/mksnapshot.cc", "src/snapshot/snapshot-empty.cc", + "src/snapshot/static-roots-gen.cc", + "src/snapshot/static-roots-gen.h", ], ) @@ -3376,12 +3407,16 @@ filegroup( "src/inspector/v8-debugger-id.h", "src/inspector/v8-debugger-script.cc", "src/inspector/v8-debugger-script.h", + "src/inspector/v8-deep-serializer.cc", + "src/inspector/v8-deep-serializer.h", "src/inspector/v8-heap-profiler-agent-impl.cc", "src/inspector/v8-heap-profiler-agent-impl.h", "src/inspector/v8-inspector-impl.cc", "src/inspector/v8-inspector-impl.h", "src/inspector/v8-inspector-session-impl.cc", "src/inspector/v8-inspector-session-impl.h", + "src/inspector/v8-serialization-duplicate-tracker.cc", + "src/inspector/v8-serialization-duplicate-tracker.h", "src/inspector/v8-profiler-agent-impl.cc", "src/inspector/v8-profiler-agent-impl.h", "src/inspector/v8-regex.cc", @@ -3396,8 +3431,6 @@ filegroup( "src/inspector/v8-string-conversions.h", "src/inspector/v8-value-utils.cc", "src/inspector/v8-value-utils.h", - "src/inspector/v8-webdriver-serializer.cc", - "src/inspector/v8-webdriver-serializer.h", "src/inspector/value-mirror.cc", "src/inspector/value-mirror.h", ":crdtp_platform_files", @@ -3549,7 +3582,6 @@ v8_torque_initializers( py_binary( name = "code_generator", - python_version = "PY3", srcs = [ "third_party/inspector_protocol/code_generator.py", "third_party/inspector_protocol/pdl.py", @@ -3568,6 +3600,7 @@ py_binary( "third_party/inspector_protocol/templates/TypeBuilder_cpp.template", "third_party/inspector_protocol/templates/TypeBuilder_h.template", ], + python_version = "PY3", deps = [ requirement("jinja2"), ], @@ -3599,12 +3632,12 @@ genrule( "src/inspector/protocol/Schema.cpp", "src/inspector/protocol/Schema.h", ], - local = 1, cmd = "$(location :code_generator) --jinja_dir . \ --inspector_protocol_dir third_party/inspector_protocol \ --config $(location :src/inspector/inspector_protocol_config.json) \ --config_value protocol.path=$(location :include/js_protocol.pdl) \ --output_base $(@D)/src/inspector", + local = 1, message = "Generating inspector files", tools = [ ":code_generator", @@ -3856,8 +3889,8 @@ v8_binary( "@v8//bazel/config:is_posix": ["-fexceptions"], "//conditions:default": [], }), - icu_defines = [ "V8_INTL_SUPPORT" ], features = ["-use_header_modules"], + icu_defines = ["V8_INTL_SUPPORT"], linkopts = select({ "@v8//bazel/config:is_android": ["-llog"], "//conditions:default": [], @@ -3878,14 +3911,14 @@ v8_binary( }), copts = ["-Wno-implicit-fallthrough"], icu_deps = [":icu/v8_libshared"], - linkopts = select({ - "@v8//bazel/config:is_android": ["-llog"], - "//conditions:default": [], - }), icu_srcs = [ ":icu/generated_torque_initializers", ":icu/v8_initializers_files", ], + linkopts = select({ + "@v8//bazel/config:is_android": ["-llog"], + "//conditions:default": [], + }), noicu_deps = [":v8_libshared_noicu"], noicu_srcs = [ ":noicu/generated_torque_initializers", @@ -3943,10 +3976,10 @@ py_test( "mjsunit", ], data = [ - "//testing/pybase", - ":noicu/v8_build_config", - ":noicu/d8", "test", + ":noicu/d8", + ":noicu/v8_build_config", + "//testing/pybase", ] + glob(["test/**"]) + glob(["tools/**/*.js"]) + glob(["tools/**/*.mjs"]), main = "tools/run-tests.py", python_version = "PY3", @@ -3973,10 +4006,10 @@ py_test( "mjsunit", ], data = [ - "//testing/pybase", - ":icu/v8_build_config", - ":icu/d8", "test", + ":icu/d8", + ":icu/v8_build_config", + "//testing/pybase", ] + glob(["test/**"]) + glob(["tools/**/*.js"]) + glob(["tools/**/*.mjs"]), main = "tools/run-tests.py", python_version = "PY3", diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 96e4fee3f6cf80..a69e7b2edbc028 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -123,7 +123,7 @@ declare_args() { # Mode used by gen-static-roots.py to have a heap layout which is identical # to when v8_enable_static_roots is enabled. - v8_enable_static_root_generation = false + v8_enable_static_roots_generation = false # Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_csa = false @@ -178,6 +178,11 @@ declare_args() { # used builtins. v8_enable_builtins_profiling_verbose = false + # This build flag is used to input a builtin pgo file containing raw + # execution counts (as opposed to branch hints), which are embedded into + # the `--trace-turbo` .json file from `mksnapshot`. + v8_log_builtins_block_count_input = "" + # Provides the given V8 log file as an input to mksnapshot, where it can be # used for profile-guided optimization of builtins. # @@ -298,7 +303,7 @@ declare_args() { # Enable heap reservation of size 4GB. Only possible for 64bit archs. cppgc_enable_caged_heap = v8_current_cpu == "x64" || v8_current_cpu == "arm64" || - v8_current_cpu == "loong64" + v8_current_cpu == "loong64" || v8_current_cpu == "riscv64" # Enables additional heap verification phases and checks. cppgc_enable_verify_heap = "" @@ -558,7 +563,7 @@ assert(!v8_enable_static_roots || "Trying to enable static roots in a configuration that is not supported") assert( - !(v8_enable_static_roots && v8_enable_static_root_generation), + !(v8_enable_static_roots && v8_enable_static_roots_generation), "Static root values must be generated in a build that does not rely on static roots itself") if (v8_builtins_profiling_log_file == "default") { @@ -573,20 +578,30 @@ if (v8_builtins_profiling_log_file == "default") { # are accessed, # * v8_enable_webassembly because it changes the set of opcodes which affects # graphs hashes, - # * !is_clang because it might affect argument evaluation order, which - # makes node IDs not predictable for subgraphs like Op1(Op2(), Op3()) and - # as a result different graph hash. if (v8_enable_builtins_optimization && !v8_enable_builtins_profiling && - is_clang && !is_debug && !dcheck_always_on && v8_enable_webassembly) { + !is_debug && !dcheck_always_on && v8_enable_webassembly) { + # This is about function arguments evaluation order, which makes node IDs + # not predictable for subgraphs like Op1(Op2(), Op3()) and as a result + # different graph hashes. + # Clang uses left-to-right order everywhere except Windows, otherwise the + # order is right-to-left. + # TODO(crbug.com/v8/13647): Remove once this issue is fixed in CSA. + if (!is_clang || is_win) { + pgo_profile_suffix = "-rl" + } else { + pgo_profile_suffix = "" + } if ((v8_current_cpu == "x64" || v8_current_cpu == "arm64") && v8_enable_pointer_compression && v8_enable_external_code_space && v8_enable_sandbox) { # Note, currently x64 profile can be applied to arm64 but not the other # way round. - v8_builtins_profiling_log_file = "tools/builtins-pgo/profiles/x64.profile" + v8_builtins_profiling_log_file = + "tools/builtins-pgo/profiles/x64" + pgo_profile_suffix + ".profile" } else if (v8_current_cpu == "x86" || v8_current_cpu == "arm") { # Note, x86 profile can be applied to arm but not the other way round. - v8_builtins_profiling_log_file = "tools/builtins-pgo/profiles/x86.profile" + v8_builtins_profiling_log_file = + "tools/builtins-pgo/profiles/x86" + pgo_profile_suffix + ".profile" } } } @@ -636,14 +651,15 @@ assert( assert( !v8_enable_pointer_compression_shared_cage || v8_current_cpu == "x64" || v8_current_cpu == "arm64" || v8_current_cpu == "riscv64" || - v8_current_cpu == "ppc64", - "Sharing a pointer compression cage is only supported on x64,arm64, ppc64 and riscv64") + v8_current_cpu == "ppc64" || v8_current_cpu == "loong64", + "Sharing a pointer compression cage is only supported on x64, arm64, ppc64, riscv64 and loong64") assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers, "Write barriers can't be both enabled and disabled") assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" || - v8_current_cpu == "arm64" || v8_current_cpu == "loong64", + v8_current_cpu == "arm64" || v8_current_cpu == "loong64" || + v8_current_cpu == "riscv64", "CppGC caged heap requires 64bit platforms") assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap, @@ -805,6 +821,7 @@ external_v8_defines = [ "V8_MAP_PACKING", "V8_IS_TSAN", "V8_ENABLE_CONSERVATIVE_STACK_SCANNING", + "V8_ENABLE_DIRECT_LOCAL", ] enabled_external_v8_defines = [] @@ -847,6 +864,9 @@ if (is_tsan) { if (v8_enable_conservative_stack_scanning) { enabled_external_v8_defines += [ "V8_ENABLE_CONSERVATIVE_STACK_SCANNING" ] } +if (v8_enable_direct_local) { + enabled_external_v8_defines += [ "V8_ENABLE_DIRECT_LOCAL" ] +} disabled_external_v8_defines = external_v8_defines - enabled_external_v8_defines @@ -870,6 +890,7 @@ external_cppgc_defines = [ "CPPGC_SLIM_WRITE_BARRIER", "CPPGC_YOUNG_GENERATION", "CPPGC_POINTER_COMPRESSION", + "CPPGC_ENABLE_LARGER_CAGE", ] enabled_external_cppgc_defines = [] @@ -897,6 +918,9 @@ if (cppgc_enable_pointer_compression) { if (cppgc_enable_2gb_cage) { enabled_external_cppgc_defines += [ "CPPGC_2GB_CAGE" ] } +if (cppgc_enable_larger_cage) { + enabled_external_cppgc_defines += [ "CPPGC_ENABLE_LARGER_CAGE" ] +} if (cppgc_enable_slim_write_barrier) { enabled_external_cppgc_defines += [ "CPPGC_SLIM_WRITE_BARRIER" ] } @@ -943,9 +967,12 @@ config("features") { if (v8_embedder_string != "") { defines += [ "V8_EMBEDDER_STRING=\"$v8_embedder_string\"" ] } - if (v8_enable_disassembler) { + if (v8_enable_disassembler || v8_log_builtins_block_count_input != "") { defines += [ "ENABLE_DISASSEMBLER" ] } + if (v8_log_builtins_block_count_input != "") { + defines += [ "LOG_BUILTIN_BLOCK_COUNT" ] + } if (v8_promise_internal_field_count != 0) { defines += [ "V8_PROMISE_INTERNAL_FIELD_COUNT=${v8_promise_internal_field_count}" ] @@ -1123,8 +1150,8 @@ config("features") { if (v8_enable_static_roots) { defines += [ "V8_STATIC_ROOTS" ] } - if (v8_enable_static_root_generation) { - defines += [ "V8_STATIC_ROOT_GENERATION" ] + if (v8_enable_static_roots_generation) { + defines += [ "V8_STATIC_ROOTS_GENERATION" ] } if (v8_use_zlib) { defines += [ "V8_USE_ZLIB" ] @@ -1385,6 +1412,17 @@ config("toolchain") { } } + if (is_clang || !is_win) { + cflags += [ + # On clang and gcc, disable warnings about offsetof being used on + # non-standard-layout types. offsetof is only specified for + # standard-layout types, but its behaviour on non-standard-layout types is + # implementation defined (rather than UB), and our supported compilers + # have the expected reasonable behaviour. + "-Wno-invalid-offsetof", + ] + } + if (is_win) { cflags += [ "/wd4245", # Conversion with signed/unsigned mismatch. @@ -1639,10 +1677,20 @@ if (v8_postmortem_support) { "src/objects/allocation-site-inl.h", "src/objects/cell.h", "src/objects/cell-inl.h", + "src/objects/dependent-code.h", + "src/objects/dependent-code-inl.h", + "src/objects/bytecode-array.h", + "src/objects/bytecode-array-inl.h", + "src/objects/abstract-code.h", + "src/objects/abstract-code-inl.h", + "src/objects/instruction-stream.h", + "src/objects/instruction-stream-inl.h", "src/objects/code.h", "src/objects/code-inl.h", "src/objects/data-handler.h", "src/objects/data-handler-inl.h", + "src/objects/deoptimization-data.h", + "src/objects/deoptimization-data-inl.h", "src/objects/descriptor-array.h", "src/objects/descriptor-array-inl.h", "src/objects/feedback-cell.h", @@ -1857,7 +1905,7 @@ torque_files = [ "src/objects/bigint.tq", "src/objects/call-site-info.tq", "src/objects/cell.tq", - "src/objects/code.tq", + "src/objects/bytecode-array.tq", "src/objects/contexts.tq", "src/objects/data-handler.tq", "src/objects/debug-objects.tq", @@ -1896,6 +1944,7 @@ torque_files = [ "src/objects/module.tq", "src/objects/name.tq", "src/objects/oddball.tq", + "src/objects/hole.tq", "src/objects/ordered-hash-table.tq", "src/objects/primitive-heap-object.tq", "src/objects/promise.tq", @@ -2199,6 +2248,15 @@ template("run_mksnapshot") { rebase_path("$target_gen_dir/embedded${suffix}.S", root_build_dir), ] + if (v8_log_builtins_block_count_input != "") { + args += [ + "--trace-turbo", + + "--turbo-log-builtins-count-input", + v8_log_builtins_block_count_input, + ] + } + if (v8_enable_builtins_profiling) { args += [ "--turbo-profiling" ] } @@ -2210,13 +2268,11 @@ template("run_mksnapshot") { args += [ "--turbo-profiling-input", rebase_path(v8_builtins_profiling_log_file, root_build_dir), - ] - # Replace this with --warn-about-builtin-profile-data to see the full - # list of builtins with incompatible profiles. - # TODO(crbug.com/v8/13647): Do not fail for invalid profiles - # args += [ "--abort-on-bad-builtin-profile-data" ] - args += [ "--warn-about-builtin-profile-data" ] + # Replace this with --warn-about-builtin-profile-data to see the full + # list of builtins with incompatible profiles. + "--abort-on-bad-builtin-profile-data", + ] } # This is needed to distinguish between generating code for the simulator @@ -2351,64 +2407,94 @@ action("v8_dump_build_config") { outputs = [ "$root_out_dir/v8_build_config.json" ] is_DEBUG_defined = v8_enable_debugging_features || dcheck_always_on is_full_debug = v8_enable_debugging_features && !v8_optimized_debug + + arch = v8_target_cpu + if (v8_target_cpu == "x86") { + arch = "ia32" + } + + mips_arch_variant_var = "" + mips_use_msa_var = false + if (arch == "mips64" || arch == "mips64el") { + mips_arch_variant_var = mips_arch_variant + mips_use_msa_var = mips_use_msa + } + + js_shared_memory = + v8_enable_shared_ro_heap && (!v8_enable_pointer_compression || + v8_enable_pointer_compression_shared_cage) && + !v8_disable_write_barriers + simd_mips = mips_arch_variant_var == "r6" && mips_use_msa + simulator_run = target_cpu != v8_target_cpu + use_sanitizer = is_asan || is_cfi || is_msan || is_tsan || is_ubsan + + # This lists all build-time switches consumed by the test framework. All + # switches can be used automatically in the status files as is - no + # further files need to be modified. + # + # Naming conventions: Keep switch names short and remove unnecessary + # qualifiers. Drop v8_enable_, v8_, is_ where possible. + # Keep only qualifiers that disambiguate the switches from other things. + # Examples: has_turbofan disambiguates from the turbofan runtime variant, + # is_android disambiguates from the android keyword in status files, + # v8_cfi disambiguates from the global cfi flag. args = [ rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), + "arch=\"$arch\"", + "asan=$is_asan", + "atomic_object_field_writes=$v8_enable_atomic_object_field_writes", + "cet_shadow_stack=$v8_enable_cet_shadow_stack", + "cfi=$is_cfi", + "clang=$is_clang", + "clang_coverage=$use_clang_coverage", + "code_comments=$v8_code_comments", + "component_build=$is_component_build", + "concurrent_marking=$v8_enable_concurrent_marking", + "conservative_stack_scanning=$v8_enable_conservative_stack_scanning", "current_cpu=\"$current_cpu\"", "dcheck_always_on=$dcheck_always_on", + "debug_code=$v8_enable_debug_code", + "DEBUG_defined=$is_DEBUG_defined", + "debugging_features=$v8_enable_debugging_features", + "dict_property_const_tracking=$v8_dict_property_const_tracking", + "direct_local=$v8_enable_direct_local", + "disassembler=$v8_enable_disassembler", + "full_debug=$is_full_debug", + "gdbjit=$v8_enable_gdbjit", + "has_jitless=$v8_jitless", + "has_maglev=$v8_enable_maglev", + "has_turbofan=$v8_enable_turbofan", + "has_webassembly=$v8_enable_webassembly", + "i18n=$v8_enable_i18n_support", "is_android=$is_android", - "is_asan=$is_asan", - "is_cfi=$is_cfi", - "is_clang=$is_clang", - "is_clang_coverage=$use_clang_coverage", - "is_component_build=$is_component_build", - "is_debug=$v8_enable_debugging_features", - "is_DEBUG_defined=$is_DEBUG_defined", - "is_full_debug=$is_full_debug", - "is_msan=$is_msan", - "is_tsan=$is_tsan", - "is_ubsan_vptr=$is_ubsan_vptr", + "is_ios=$is_ios", + "js_shared_memory=$js_shared_memory", + "lite_mode=$v8_enable_lite_mode", + "mips_arch_variant=\"$mips_arch_variant_var\"", + "mips_use_msa=$mips_use_msa_var", + "msan=$is_msan", + "official_build=$is_official_build", + "pointer_compression=$v8_enable_pointer_compression", + "pointer_compression_shared_cage=$v8_enable_pointer_compression_shared_cage", + "runtime_call_stats=$v8_enable_runtime_call_stats", + "sandbox=$v8_enable_sandbox", + "shared_ro_heap=$v8_enable_shared_ro_heap", + "simd_mips=$simd_mips", + "simulator_run=$simulator_run", + "single_generation=$v8_enable_single_generation", + "slow_dchecks=$v8_enable_slow_dchecks", "target_cpu=\"$target_cpu\"", - "v8_code_comments=$v8_code_comments", - "v8_control_flow_integrity=$v8_control_flow_integrity", + "third_party_heap=$v8_enable_third_party_heap", + "tsan=$is_tsan", + "ubsan=$is_ubsan", + "use_sanitizer=$use_sanitizer", + "v8_cfi=$v8_control_flow_integrity", "v8_current_cpu=\"$v8_current_cpu\"", - "v8_dict_property_const_tracking=$v8_dict_property_const_tracking", - "v8_disable_write_barriers=$v8_disable_write_barriers", - "v8_enable_atomic_object_field_writes=" + - "$v8_enable_atomic_object_field_writes", - "v8_enable_cet_shadow_stack=$v8_enable_cet_shadow_stack", - "v8_enable_concurrent_marking=$v8_enable_concurrent_marking", - "v8_enable_conservative_stack_scanning=" + - "$v8_enable_conservative_stack_scanning", - "v8_enable_debug_code=$v8_enable_debug_code", - "v8_enable_disassembler=$v8_enable_disassembler", - "v8_enable_gdbjit=$v8_enable_gdbjit", - "v8_enable_i18n_support=$v8_enable_i18n_support", - "v8_enable_lite_mode=$v8_enable_lite_mode", - "v8_enable_maglev=$v8_enable_maglev", - "v8_enable_pointer_compression=$v8_enable_pointer_compression", - "v8_enable_pointer_compression_shared_cage=" + - "$v8_enable_pointer_compression_shared_cage", - "v8_enable_runtime_call_stats=$v8_enable_runtime_call_stats", - "v8_enable_sandbox=$v8_enable_sandbox", - "v8_enable_shared_ro_heap=$v8_enable_shared_ro_heap", - "v8_enable_single_generation=$v8_enable_single_generation", - "v8_enable_slow_dchecks=$v8_enable_slow_dchecks", - "v8_enable_third_party_heap=$v8_enable_third_party_heap", - "v8_enable_turbofan=$v8_enable_turbofan", - "v8_enable_verify_csa=$v8_enable_verify_csa", - "v8_enable_verify_heap=$v8_enable_verify_heap", - "v8_enable_verify_predictable=$v8_enable_verify_predictable", - "v8_enable_webassembly=$v8_enable_webassembly", - "v8_jitless=$v8_jitless", "v8_target_cpu=\"$v8_target_cpu\"", + "verify_csa=$v8_enable_verify_csa", + "verify_heap=$v8_enable_verify_heap", + "verify_predictable=$v8_enable_verify_predictable", ] - - if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { - args += [ - "mips_arch_variant=\"$mips_arch_variant\"", - "mips_use_msa=$mips_use_msa", - ] - } } ############################################################################### @@ -2658,6 +2744,7 @@ v8_header_set("v8_config_headers") { sources = [ "include/v8-platform.h", + "include/v8-source-location.h", "include/v8config.h", ] @@ -2693,6 +2780,7 @@ v8_header_set("v8_headers") { "include/v8-forward.h", "include/v8-function-callback.h", "include/v8-function.h", + "include/v8-handle-base.h", "include/v8-initialization.h", "include/v8-internal.h", "include/v8-isolate.h", @@ -2893,6 +2981,7 @@ v8_header_set("v8_internal_headers") { "src/codegen/register.h", "src/codegen/reglist-base.h", "src/codegen/reglist.h", + "src/codegen/reloc-info-inl.h", "src/codegen/reloc-info.h", "src/codegen/safepoint-table-base.h", "src/codegen/safepoint-table.h", @@ -3015,6 +3104,7 @@ v8_header_set("v8_internal_headers") { "src/compiler/operator-properties.h", "src/compiler/operator.h", "src/compiler/osr.h", + "src/compiler/pair-load-store-reducer.h", "src/compiler/per-isolate-compiler-cache.h", "src/compiler/persistent-map.h", "src/compiler/phase.h", @@ -3048,13 +3138,13 @@ v8_header_set("v8_internal_headers") { "src/compiler/turboshaft/decompression-optimization.h", "src/compiler/turboshaft/define-assembler-macros.inc", "src/compiler/turboshaft/deopt-data.h", + "src/compiler/turboshaft/fast-api-call-reducer.h", "src/compiler/turboshaft/fast-hash.h", "src/compiler/turboshaft/graph-builder.h", "src/compiler/turboshaft/graph-visualizer.h", "src/compiler/turboshaft/graph.h", "src/compiler/turboshaft/index.h", "src/compiler/turboshaft/late-escape-analysis-reducer.h", - "src/compiler/turboshaft/late-optimization-phase.h", "src/compiler/turboshaft/layered-hash-map.h", "src/compiler/turboshaft/machine-lowering-phase.h", "src/compiler/turboshaft/machine-lowering-reducer.h", @@ -3065,6 +3155,7 @@ v8_header_set("v8_internal_headers") { "src/compiler/turboshaft/optimization-phase.h", "src/compiler/turboshaft/optimize-phase.h", "src/compiler/turboshaft/phase.h", + "src/compiler/turboshaft/pretenuring-propagation-reducer.h", "src/compiler/turboshaft/recreate-schedule-phase.h", "src/compiler/turboshaft/recreate-schedule.h", "src/compiler/turboshaft/reducer-traits.h", @@ -3074,7 +3165,9 @@ v8_header_set("v8_internal_headers") { "src/compiler/turboshaft/sidetable.h", "src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/snapshot-table.h", - "src/compiler/turboshaft/tag-untag-lowering-phase.h", + "src/compiler/turboshaft/store-store-elimination-phase.h", + "src/compiler/turboshaft/store-store-elimination-reducer.h", + "src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tracing.h", "src/compiler/turboshaft/type-assertions-phase.h", @@ -3207,6 +3300,7 @@ v8_header_set("v8_internal_headers") { "src/heap/cppgc-js/unified-heap-marking-visitor.h", "src/heap/cppgc-js/wrappable-info-inl.h", "src/heap/cppgc-js/wrappable-info.h", + "src/heap/ephemeron-remembered-set.h", "src/heap/evacuation-allocator-inl.h", "src/heap/evacuation-allocator.h", "src/heap/evacuation-verifier-inl.h", @@ -3234,8 +3328,6 @@ v8_header_set("v8_internal_headers") { "src/heap/incremental-marking-job.h", "src/heap/incremental-marking.h", "src/heap/index-generator.h", - "src/heap/invalidated-slots-inl.h", - "src/heap/invalidated-slots.h", "src/heap/large-spaces.h", "src/heap/linear-allocation-area.h", "src/heap/list.h", @@ -3247,6 +3339,7 @@ v8_header_set("v8_internal_headers") { "src/heap/mark-compact.h", "src/heap/marking-barrier-inl.h", "src/heap/marking-barrier.h", + "src/heap/marking-inl.h", "src/heap/marking-state-inl.h", "src/heap/marking-state.h", "src/heap/marking-visitor-inl.h", @@ -3407,6 +3500,8 @@ v8_header_set("v8_internal_headers") { "src/objects/heap-number.h", "src/objects/heap-object-inl.h", "src/objects/heap-object.h", + "src/objects/hole-inl.h", + "src/objects/hole.h", "src/objects/instance-type-inl.h", "src/objects/instance-type.h", "src/objects/internal-index.h", @@ -3625,6 +3720,8 @@ v8_header_set("v8_internal_headers") { "src/runtime/runtime.h", "src/sandbox/bounded-size-inl.h", "src/sandbox/bounded-size.h", + "src/sandbox/external-entity-table-inl.h", + "src/sandbox/external-entity-table.h", "src/sandbox/external-pointer-inl.h", "src/sandbox/external-pointer-table-inl.h", "src/sandbox/external-pointer-table.h", @@ -3700,9 +3797,9 @@ v8_header_set("v8_internal_headers") { "src/zone/type-stats.h", "src/zone/zone-allocator.h", "src/zone/zone-chunk-list.h", + "src/zone/zone-compact-set.h", "src/zone/zone-compression.h", "src/zone/zone-containers.h", - "src/zone/zone-handle-set.h", "src/zone/zone-hashmap.h", "src/zone/zone-list-inl.h", "src/zone/zone-list.h", @@ -3761,6 +3858,7 @@ v8_header_set("v8_internal_headers") { "src/asmjs/asm-scanner.h", "src/asmjs/asm-types.h", "src/compiler/int64-lowering.h", + "src/compiler/wasm-address-reassociation.h", "src/compiler/wasm-call-descriptors.h", "src/compiler/wasm-compiler-definitions.h", "src/compiler/wasm-compiler.h", @@ -3778,7 +3876,6 @@ v8_header_set("v8_internal_headers") { "src/third_party/utf8-decoder/generalized-utf8-decoder.h", "src/trap-handler/trap-handler-internal.h", "src/trap-handler/trap-handler.h", - "src/wasm/assembler-buffer-cache.h", "src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler.h", "src/wasm/baseline/liftoff-compiler.h", @@ -4012,9 +4109,10 @@ v8_header_set("v8_internal_headers") { sources += [ "src/execution/arm64/pointer-authentication-arm64.h" ] } if (v8_enable_webassembly) { - # Trap handling is enabled on arm64 Mac and in simulators on x64 on Linux - # and Mac. - if ((current_cpu == "arm64" && (is_mac || is_ios)) || + # Trap handling is enabled on arm64 Mac and Linux and in simulators on + # x64 on Linux and Mac. + if ((current_cpu == "arm64" && + (is_linux || is_chromeos || is_mac || is_ios)) || (current_cpu == "x64" && (is_linux || is_chromeos || is_mac))) { sources += [ "src/trap-handler/handler-inside-posix.h" ] } @@ -4301,6 +4399,7 @@ v8_compiler_sources = [ "src/compiler/operator-properties.cc", "src/compiler/operator.cc", "src/compiler/osr.cc", + "src/compiler/pair-load-store-reducer.cc", "src/compiler/pipeline-statistics.cc", "src/compiler/pipeline.cc", "src/compiler/property-access-builder.cc", @@ -4417,6 +4516,7 @@ if (v8_current_cpu == "x86") { if (v8_enable_webassembly) { v8_compiler_sources += [ "src/compiler/int64-lowering.cc", + "src/compiler/wasm-address-reassociation.cc", "src/compiler/wasm-call-descriptors.cc", "src/compiler/wasm-compiler.cc", "src/compiler/wasm-escape-analysis.cc", @@ -4516,18 +4616,18 @@ v8_source_set("v8_turboshaft") { "src/compiler/turboshaft/graph-visualizer.cc", "src/compiler/turboshaft/graph.cc", "src/compiler/turboshaft/late-escape-analysis-reducer.cc", - "src/compiler/turboshaft/late-optimization-phase.cc", "src/compiler/turboshaft/machine-lowering-phase.cc", "src/compiler/turboshaft/memory-optimization-reducer.cc", "src/compiler/turboshaft/operations.cc", "src/compiler/turboshaft/optimization-phase.cc", "src/compiler/turboshaft/optimize-phase.cc", "src/compiler/turboshaft/phase.cc", + "src/compiler/turboshaft/pretenuring-propagation-reducer.cc", "src/compiler/turboshaft/recreate-schedule-phase.cc", "src/compiler/turboshaft/recreate-schedule.cc", "src/compiler/turboshaft/representations.cc", "src/compiler/turboshaft/simplify-tf-loops.cc", - "src/compiler/turboshaft/tag-untag-lowering-phase.cc", + "src/compiler/turboshaft/store-store-elimination-phase.cc", "src/compiler/turboshaft/type-assertions-phase.cc", "src/compiler/turboshaft/type-parser.cc", "src/compiler/turboshaft/typed-optimizations-phase.cc", @@ -4751,6 +4851,7 @@ v8_source_set("v8_base_without_compiler") { "src/heap/cppgc-js/unified-heap-marking-state.cc", "src/heap/cppgc-js/unified-heap-marking-verifier.cc", "src/heap/cppgc-js/unified-heap-marking-visitor.cc", + "src/heap/ephemeron-remembered-set.cc", "src/heap/evacuation-verifier.cc", "src/heap/factory-base.cc", "src/heap/factory.cc", @@ -4767,7 +4868,6 @@ v8_source_set("v8_base_without_compiler") { "src/heap/incremental-marking-job.cc", "src/heap/incremental-marking.cc", "src/heap/index-generator.cc", - "src/heap/invalidated-slots.cc", "src/heap/large-spaces.cc", "src/heap/local-factory.cc", "src/heap/local-heap.cc", @@ -4837,19 +4937,24 @@ v8_source_set("v8_base_without_compiler") { "src/logging/tracing-flags.cc", "src/numbers/conversions.cc", "src/numbers/math-random.cc", + "src/objects/abstract-code.cc", "src/objects/backing-store.cc", "src/objects/bigint.cc", + "src/objects/bytecode-array.cc", "src/objects/call-site-info.cc", "src/objects/code-kind.cc", "src/objects/code.cc", "src/objects/compilation-cache-table.cc", "src/objects/contexts.cc", "src/objects/debug-objects.cc", + "src/objects/deoptimization-data.cc", + "src/objects/dependent-code.cc", "src/objects/elements-kind.cc", "src/objects/elements.cc", "src/objects/embedder-data-array.cc", "src/objects/feedback-vector.cc", "src/objects/field-type.cc", + "src/objects/instruction-stream.cc", "src/objects/intl-objects.cc", "src/objects/js-array-buffer.cc", "src/objects/js-atomics-synchronization.cc", @@ -5082,7 +5187,6 @@ v8_source_set("v8_base_without_compiler") { "src/trap-handler/handler-inside.cc", "src/trap-handler/handler-outside.cc", "src/trap-handler/handler-shared.cc", - "src/wasm/assembler-buffer-cache.cc", "src/wasm/baseline/liftoff-assembler.cc", "src/wasm/baseline/liftoff-compiler.cc", "src/wasm/canonical-types.cc", @@ -5112,7 +5216,6 @@ v8_source_set("v8_base_without_compiler") { "src/wasm/wasm-external-refs.cc", "src/wasm/wasm-features.cc", "src/wasm/wasm-import-wrapper-cache.cc", - "src/wasm/wasm-init-expr.cc", "src/wasm/wasm-js.cc", "src/wasm/wasm-module-builder.cc", "src/wasm/wasm-module-sourcemap.cc", @@ -5238,9 +5341,9 @@ v8_source_set("v8_base_without_compiler") { "src/regexp/arm64/regexp-macro-assembler-arm64.cc", ] if (v8_enable_webassembly) { - # Trap handling is enabled on arm64 Mac and in simulators on x64 on Linux, - # Mac, and Windows. - if ((current_cpu == "arm64" && is_apple) || + # Trap handling is enabled on arm64 Mac and Linux and in simulators on + # x64 on Linux, Mac, and Windows. + if ((current_cpu == "arm64" && (is_linux || is_chromeos || is_apple)) || (current_cpu == "x64" && (is_linux || is_chromeos || is_mac))) { sources += [ "src/trap-handler/handler-inside-posix.cc", @@ -5483,13 +5586,6 @@ v8_source_set("v8_base_without_compiler") { ] deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ] } - - if (v8_use_perfetto) { - sources += [ - "src/tracing/trace-categories.cc", - "src/tracing/trace-categories.h", - ] - } } group("v8_base") { @@ -5650,6 +5746,7 @@ v8_component("v8_libbase") { "src/base/cpu.h", "src/base/debug/stack_trace.cc", "src/base/debug/stack_trace.h", + "src/base/discriminated-union.h", "src/base/division-by-constant.cc", "src/base/division-by-constant.h", "src/base/emulated-virtual-address-subspace.cc", @@ -5754,6 +5851,8 @@ v8_component("v8_libbase") { deps = [ ":v8_config_headers" ] + libs = [] + data = [] data_deps = [] @@ -5844,6 +5943,7 @@ v8_component("v8_libbase") { sources += [ "src/base/debug/stack_trace_win.cc", "src/base/platform/platform-win32.cc", + "src/base/platform/platform-win32.h", "src/base/win32-headers.h", ] @@ -5929,6 +6029,8 @@ v8_component("v8_libplatform") { "src/libplatform/default-job.h", "src/libplatform/default-platform.cc", "src/libplatform/default-platform.h", + "src/libplatform/default-thread-isolated-allocator.cc", + "src/libplatform/default-thread-isolated-allocator.h", "src/libplatform/default-worker-threads-task-runner.cc", "src/libplatform/default-worker-threads-task-runner.h", "src/libplatform/delayed-task-queue.cc", @@ -5971,14 +6073,7 @@ v8_component("v8_libplatform") { "src/libplatform/tracing/trace-writer.cc", "src/libplatform/tracing/trace-writer.h", ] - sources += [ - "src/libplatform/tracing/trace-event-listener.cc", - "src/libplatform/tracing/trace-event-listener.h", - ] - deps += [ - # TODO(skyostil): Switch TraceEventListener to protozero. - "//third_party/perfetto/protos/perfetto/trace:lite", - ] + sources += [ "src/libplatform/tracing/trace-event-listener.h" ] } if (v8_enable_system_instrumentation) { @@ -6251,7 +6346,6 @@ v8_source_set("cppgc_base") { "src/heap/cppgc/raw-heap.h", "src/heap/cppgc/remembered-set.cc", "src/heap/cppgc/remembered-set.h", - "src/heap/cppgc/source-location.cc", "src/heap/cppgc/stats-collector.cc", "src/heap/cppgc/stats-collector.h", "src/heap/cppgc/sweeper.cc", @@ -6297,6 +6391,13 @@ v8_source_set("cppgc_base") { } else { public_deps += [ ":v8_tracing" ] } + + if (v8_use_perfetto) { + sources += [ + "src/tracing/trace-categories.cc", + "src/tracing/trace-categories.h", + ] + } } if (v8_check_header_includes) { @@ -6667,7 +6768,6 @@ group("v8_fuzzers") { ":v8_simple_inspector_fuzzer", ":v8_simple_json_fuzzer", ":v8_simple_parser_fuzzer", - ":v8_simple_regexp_builtins_fuzzer", ":v8_simple_regexp_fuzzer", ] @@ -6988,23 +7088,6 @@ v8_source_set("parser_fuzzer") { v8_fuzzer("parser_fuzzer") { } -v8_source_set("regexp_builtins_fuzzer") { - sources = [ - "test/fuzzer/regexp-builtins.cc", - "test/fuzzer/regexp_builtins/mjsunit.js.h", - ] - - deps = [ ":fuzzer_support" ] - - configs = [ - ":external_config", - ":internal_config_base", - ] -} - -v8_fuzzer("regexp_builtins_fuzzer") { -} - v8_source_set("regexp_fuzzer") { sources = [ "test/fuzzer/regexp.cc" ] @@ -7038,8 +7121,6 @@ if (v8_enable_webassembly) { sources = [ "test/common/flag-utils.h", "test/common/wasm/flag-utils.h", - "test/common/wasm/wasm-interpreter.cc", - "test/common/wasm/wasm-interpreter.h", "test/common/wasm/wasm-module-runner.cc", "test/common/wasm/wasm-module-runner.h", ] diff --git a/deps/v8/COMMON_OWNERS b/deps/v8/COMMON_OWNERS index b7dc8f2147de77..486688cfc1683d 100644 --- a/deps/v8/COMMON_OWNERS +++ b/deps/v8/COMMON_OWNERS @@ -6,6 +6,7 @@ cbruni@chromium.org clemensb@chromium.org danno@chromium.org dinfuehr@chromium.org +dmercadier@chromium.org ecmziegler@chromium.org gdeepti@chromium.org hablich@chromium.org diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 05b32b571c84e2..860c61eba5f6ea 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -25,7 +25,7 @@ vars = { # Since the images are hundreds of MB, default to only downloading the image # most commonly useful for developers. Bots and developers that need to use # other images (e.g., qemu.arm64) can override this with additional images. - 'checkout_fuchsia_boot_images': "qemu.x64", + 'checkout_fuchsia_boot_images': "terminal.qemu-x64", 'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""', 'checkout_instrumented_libraries': False, @@ -53,22 +53,22 @@ vars = { 'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/gn/', # reclient CIPD package version - 'reclient_version': 're_client_version:0.99.0.3f95625-gomaip', + 'reclient_version': 're_client_version:0.105.0.d6a0caf-gomaip', # GN CIPD package version. - 'gn_version': 'git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4', + 'gn_version': 'git_revision:e9e83d9095d3234adf68f3e2866f25daf766d5c7', # ninja CIPD package version # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja 'ninja_version': 'version:2@1.11.1.chromium.6', # luci-go CIPD package version. - 'luci_go': 'git_revision:320bf3ed60cd4d24549d0ea9ee3a94394f2665ce', + 'luci_go': 'git_revision:6ac770095bc0e289138f6f29aa91ff2f4886b81c', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Fuchsia sdk # and whatever else without interference from each other. - 'fuchsia_version': 'version:12.20230322.3.1', + 'fuchsia_version': 'version:12.20230520.1.1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling android_sdk_build-tools_version @@ -101,16 +101,16 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling android_sdk_tools-lint_version # and whatever else without interference from each other. - 'android_sdk_cmdline-tools_version': '3Yn5Sn7BMObm8gsoZCF0loJMKg9_PpgU07G9DObCLdQC', + 'android_sdk_cmdline-tools_version': 'EWnL2r7oV5GtE9Ef7GyohyFam42wtMtEKYU4dCb3U1YC', } deps = { 'base/trace_event/common': Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '147f65333c38ddd1ebf554e89965c243c8ce50b3', 'build': - Var('chromium_url') + '/chromium/src/build.git' + '@' + '9e9a4341dd24e68cba0f228567a6edbaff1c665b', + Var('chromium_url') + '/chromium/src/build.git' + '@' + '7f93a1e7ae8de96f113834f37d01b869a74b7dd3', 'buildtools': - Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '0a6c69640f1841d9109eac70a25af310d4c1d8c7', + Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '5d2ccbf93c7d956a9aff1d0acd21155e6b515ceb', 'buildtools/clang_format/script': Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + 'f97059df7f8b205064625cdb5f97b56668a125ef', 'buildtools/linux64': { @@ -134,11 +134,11 @@ deps = { 'condition': 'host_os == "mac"', }, 'buildtools/third_party/libc++/trunk': - Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + 'e44019bfac2b2d3ebe1618628884f85c8600e322', + Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + 'f8279b01085b800724f5c5629dc365b9f040dc53', 'buildtools/third_party/libc++abi/trunk': - Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + '9643f2cf13d6935a84a30b7da7de53327733e190', + Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + '982e218cb8a2d11979e241f483fff904468f6057', 'buildtools/third_party/libunwind/trunk': - Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '29a6dda8c6588ba4abeafdb21be531e757983e31', + Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '55ceecab990d33d26ef0566ed59a057852c1d3f2', 'buildtools/win': { 'packages': [ { @@ -164,13 +164,13 @@ deps = { 'test/mozilla/data': Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', 'test/test262/data': - Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'd216cc197269fc41eb6eca14710529c3d6650535', + Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'beb4f26eb4e6f6f2bf71c8441521aaa950e62052', 'third_party/android_ndk': { 'url': Var('chromium_url') + '/android_ndk.git' + '@' + '8388a2be5421311dc75c5f937aae13d821a27f3d', 'condition': 'checkout_android', }, 'third_party/android_platform': { - 'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + '1bf9b932433ebb78828bf3c8cd0ccc86b9ef4787', + 'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + 'f312145c4191affc66e7a1d46194f0d6c9dec438', 'condition': 'checkout_android', }, 'third_party/android_sdk/public': { @@ -212,7 +212,7 @@ deps = { 'dep_type': 'cipd', }, 'third_party/catapult': { - 'url': Var('chromium_url') + '/catapult.git' + '@' + '018d397758e54d6a6d3b6ddf28a1784664d63f83', + 'url': Var('chromium_url') + '/catapult.git' + '@' + 'c6222c27ba3f3253c68caaa5b7274f1f7884cd94', 'condition': 'checkout_android', }, 'third_party/colorama/src': { @@ -220,7 +220,7 @@ deps = { 'condition': 'checkout_android', }, 'third_party/depot_tools': - Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '479e1e9055020c8d1351bf2194d0a606aeca93d5', + Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '4d73c057d82ac5994d992f0b1f57ca6d513c3554', 'third_party/fuchsia-sdk/sdk': { 'packages': [ { @@ -232,12 +232,12 @@ deps = { 'dep_type': 'cipd', }, 'third_party/google_benchmark/src': { - 'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + 'e8baf2622591569a27615b31372d1e9cc046af10', + 'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + 'b177433f3ee2513b1075140c723d73ab8901790f', }, 'third_party/googletest/src': Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'af29db7ec28d6df1c7f0f745186884091e602e07', 'third_party/icu': - Var('chromium_url') + '/chromium/deps/icu.git' + '@' + '1e49ac26ddc712b1ab702f69023cbc57e9ae6628', + Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'a2961dc659b4ae847a9c6120718cc2517ee57d9e', 'third_party/instrumented_libraries': Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '0f536d22dbed454b1254c7e6d7130eab28fba1fa', 'third_party/ittapi': { @@ -273,9 +273,9 @@ deps = { 'condition': 'checkout_android', }, 'third_party/zlib': - Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '5edb52d4302d7aef232d585ec9ae27ef5c3c5438', + Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '14dd4c4455602c9b71a1a89b5cafd1f4030d2e3f', 'tools/clang': - Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + '7a7207a7f2eb0f7f5c9f304a51077a2fd504b3ed', + Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + '4ee099ac1c0d6e86e53cedfdcfd7cd2d45e126ca', 'tools/luci-go': { 'packages': [ { diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 5c31d4dfabd776..5d4bf98bcb3ab7 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -433,26 +433,29 @@ def _SkipTreeCheck(input_api, output_api): def _CheckCommitMessageBugEntry(input_api, output_api): """Check that bug entries are well-formed in commit message.""" bogus_bug_msg = ( - 'Bogus BUG entry: {}. Please specify the issue tracker prefix and the ' - 'issue number, separated by a colon, e.g. v8:123 or chromium:12345.') + 'Bogus BUG entry: {}. Please specify prefix:number for v8 or chromium ' + '(e.g. chromium:12345) or b/number for buganizer.') results = [] for bug in (input_api.change.BUG or '').split(','): bug = bug.strip() if 'none'.startswith(bug.lower()): continue - if ':' not in bug: + if ':' not in bug and not bug.startswith('b/'): try: - if int(bug) > 100000: - # Rough indicator for current chromium bugs. - prefix_guess = 'chromium' + if int(bug) > 10000000: + results.append( + 'Buganizer entry requires issue tracker prefix b/{}'.format(bug)) else: - prefix_guess = 'v8' - results.append( - 'BUG entry requires issue tracker prefix, e.g. {}:{}'.format( - prefix_guess, bug)) + if int(bug) > 200000: + prefix_guess = 'chromium' + else: + prefix_guess = 'v8' + results.append( + 'BUG entry requires issue tracker prefix, e.g. {}:{}'.format( + prefix_guess, bug)) except ValueError: results.append(bogus_bug_msg.format(bug)) - elif not re.match(r'\w+:\d+', bug): + elif not re.match(r'\w+[:\/]\d+', bug): results.append(bogus_bug_msg.format(bug)) return [output_api.PresubmitError(r) for r in results] diff --git a/deps/v8/bazel/defs.bzl b/deps/v8/bazel/defs.bzl index d4ff96887e7ca7..9651a31e062b27 100644 --- a/deps/v8/bazel/defs.bzl +++ b/deps/v8/bazel/defs.bzl @@ -592,51 +592,64 @@ def _json(kv_pairs): return content def build_config_content(cpu, icu): + arch = cpu + if cpu == 'x86': + arch = 'ia32' return _json([ + ("arch", arch), + ("asan", "false"), + ("atomic_object_field_writes", "false"), + ("cfi", "false"), + ("clang_coverage", "false"), + ("clang", "true"), + ("code_comments", "false"), + ("component_build", "false"), + ("concurrent_marking", "false"), + ("conservative_stack_scanning", "false"), ("current_cpu", cpu), ("dcheck_always_on", "false"), + ("debug_code", "false"), + ("DEBUG_defined", "false"), + ("debugging_features", "false"), + ("dict_property_const_tracking", "false"), + ("direct_local", "false"), + ("disassembler", "false"), + ("full_debug", "false"), + ("gdbjit", "false"), + ("has_jitless", "false"), + ("has_maglev", "false"), + ("has_turbofan", "true"), + ("has_webassembly", "false"), + ("i18n", icu), ("is_android", "false"), - ("is_asan", "false"), - ("is_cfi", "false"), - ("is_clang", "true"), - ("is_clang_coverage", "false"), - ("is_component_build", "false"), - ("is_debug", "false"), - ("is_full_debug", "false"), - ("is_msan", "false"), - ("is_tsan", "false"), - ("is_ubsan_vptr", "false"), + ("is_ios", "false"), + ("js_shared_memory", "false"), + ("lite_mode", "false"), + ("mips_arch_variant", '""'), + ("mips_use_msa", "false"), + ("msan", "false"), + ("official_build", "false"), + ("pointer_compression_shared_cage", "false"), + ("pointer_compression", "true"), + ("runtime_call_stats", "false"), + ("sandbox", "false"), + ("shared_ro_heap", "false"), + ("simd_mips", "false"), + ("simulator_run", "false"), + ("single_generation", "false"), + ("slow_dchecks", "false"), ("target_cpu", cpu), + ("third_party_heap", "false"), + ("tsan", "false"), + ("ubsan", "false"), + ("use_sanitizer", "false"), + ("v8_cfi", "false"), ("v8_current_cpu", cpu), - ("v8_dict_property_const_tracking", "false"), - ("v8_enable_atomic_object_field_writes", "false"), - ("v8_enable_conservative_stack_scanning", "false"), - ("v8_enable_concurrent_marking", "false"), - ("v8_enable_i18n_support", icu), - ("v8_enable_verify_predictable", "false"), - ("v8_enable_verify_csa", "false"), - ("v8_enable_lite_mode", "false"), - ("v8_enable_runtime_call_stats", "false"), - ("v8_enable_pointer_compression", "true"), - ("v8_enable_pointer_compression_shared_cage", "false"), - ("v8_enable_third_party_heap", "false"), - ("v8_enable_webassembly", "false"), - ("v8_control_flow_integrity", "false"), - ("v8_enable_single_generation", "false"), - ("v8_enable_sandbox", "false"), - ("v8_enable_shared_ro_heap", "false"), - ("v8_disable_write_barriers", "false"), ("v8_target_cpu", cpu), - ("v8_code_comments", "false"), - ("v8_enable_debug_code", "false"), - ("v8_enable_verify_heap", "false"), - ("v8_enable_slow_dchecks", "false"), - ("v8_enable_maglev", "false"), - ("v8_enable_turbofan", "true"), - ("v8_enable_disassembler", "false"), - ("is_DEBUG_defined", "false"), - ("v8_enable_gdbjit", "false"), - ("v8_jitless", "false"), + ("verify_csa", "false"), + ("verify_heap", "false"), + ("verify_predictable", "false"), + ("write_barriers", "false"), ]) # TODO(victorgomes): Create a rule (instead of a macro), that can diff --git a/deps/v8/gni/Info.plist b/deps/v8/gni/Info.plist new file mode 100644 index 00000000000000..f56ebb9f398942 --- /dev/null +++ b/deps/v8/gni/Info.plist @@ -0,0 +1,34 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UISupportedInterfaceOrientation + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index d38f376b94ae4c..959afd3f8c648c 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -91,6 +91,9 @@ declare_args() { # Scan the call stack conservatively during garbage collection. v8_enable_conservative_stack_scanning = false + # Use direct pointers in local handles. + v8_enable_direct_local = false + v8_enable_google_benchmark = false cppgc_is_standalone = false @@ -114,6 +117,9 @@ declare_args() { # due to an increased number of OOMs. cppgc_enable_2gb_cage = false + # Enable support for larger cages, up to 16GB. + cppgc_enable_larger_cage = false + # Enable advanced BigInt algorithms, costing about 10-30 KB binary size # depending on platform. Disabled on Android to save binary size. v8_advanced_bigint_algorithms = !is_android @@ -283,24 +289,52 @@ template("v8_header_set") { } template("v8_executable") { - executable(target_name) { - forward_variables_from(invoker, - "*", - [ - "configs", - "remove_configs", - ]) - configs -= v8_remove_configs - configs += v8_add_configs - if (defined(invoker.remove_configs)) { - configs -= invoker.remove_configs + if (is_ios) { + import("//build/config/ios/rules.gni") + + ios_app_bundle(target_name) { + forward_variables_from(invoker, + "*", + [ + "configs", + "remove_configs", + ]) + configs -= v8_remove_configs + configs += v8_add_configs + if (defined(invoker.remove_configs)) { + configs -= invoker.remove_configs + } + configs += invoker.configs + deps += [ v8_path_prefix + ":v8_dump_build_config" ] + + # Provide sensible defaults in case invoker did not define any of those + # required variables. + if (!defined(info_plist) && !defined(info_plist_target)) { + info_plist = v8_path_prefix + "/gni/Info.plist" + } + + bundle_identifier = "$ios_app_bundle_id_prefix.chrome.unittests.dev" } - configs += invoker.configs - if (is_linux || is_chromeos) { - # For enabling ASLR. - ldflags = [ "-pie" ] + } else { + executable(target_name) { + forward_variables_from(invoker, + "*", + [ + "configs", + "remove_configs", + ]) + configs -= v8_remove_configs + configs += v8_add_configs + if (defined(invoker.remove_configs)) { + configs -= invoker.remove_configs + } + configs += invoker.configs + if (is_linux || is_chromeos) { + # For enabling ASLR. + ldflags = [ "-pie" ] + } + deps += [ v8_path_prefix + ":v8_dump_build_config" ] } - deps += [ v8_path_prefix + ":v8_dump_build_config" ] } } diff --git a/deps/v8/include/cppgc/DEPS b/deps/v8/include/cppgc/DEPS index 861d1187ba5501..2ec7ebbd4abd66 100644 --- a/deps/v8/include/cppgc/DEPS +++ b/deps/v8/include/cppgc/DEPS @@ -2,6 +2,7 @@ include_rules = [ "-include", "+v8config.h", "+v8-platform.h", + "+v8-source-location.h", "+cppgc", "-src", "+libplatform/libplatform.h", diff --git a/deps/v8/include/cppgc/internal/api-constants.h b/deps/v8/include/cppgc/internal/api-constants.h index 453ab88b461eb7..7c1b1e82328924 100644 --- a/deps/v8/include/cppgc/internal/api-constants.h +++ b/deps/v8/include/cppgc/internal/api-constants.h @@ -49,6 +49,14 @@ constexpr size_t kCagedHeapReservationSize = static_cast(4) * kGB; constexpr size_t kCagedHeapReservationAlignment = kCagedHeapReservationSize; #endif // defined(CPPGC_CAGED_HEAP) +#if defined(CPPGC_POINTER_COMPRESSION) +#if defined(CPPGC_ENABLE_LARGER_CAGE) +constexpr unsigned kPointerCompressionShift = 3; +#else // !defined(CPPGC_ENABLE_LARGER_CAGE) +constexpr unsigned kPointerCompressionShift = 1; +#endif // !defined(CPPGC_ENABLE_LARGER_CAGE) +#endif // !defined(CPPGC_POINTER_COMPRESSION) + static constexpr size_t kDefaultAlignment = sizeof(void*); // Maximum support alignment for a type as in `alignof(T)`. diff --git a/deps/v8/include/cppgc/internal/member-storage.h b/deps/v8/include/cppgc/internal/member-storage.h index 3dfafc4b08cd11..61b255ba637a92 100644 --- a/deps/v8/include/cppgc/internal/member-storage.h +++ b/deps/v8/include/cppgc/internal/member-storage.h @@ -122,17 +122,22 @@ class V8_TRIVIAL_ABI CompressedPointer final { } static V8_INLINE IntegralType Compress(const void* ptr) { - static_assert( - SentinelPointer::kSentinelValue == 0b10, - "The compression scheme relies on the sentinel encoded as 0b10"); + static_assert(SentinelPointer::kSentinelValue == + 1 << api_constants::kPointerCompressionShift, + "The compression scheme relies on the sentinel encoded as 1 " + "<< kPointerCompressionShift"); static constexpr size_t kGigaCageMask = ~(api_constants::kCagedHeapReservationAlignment - 1); + static constexpr size_t kPointerCompressionShiftMask = + (1 << api_constants::kPointerCompressionShift) - 1; CPPGC_DCHECK(CageBaseGlobal::IsSet()); const uintptr_t base = CageBaseGlobal::Get(); CPPGC_DCHECK(!ptr || ptr == kSentinelPointer || (base & kGigaCageMask) == (reinterpret_cast(ptr) & kGigaCageMask)); + CPPGC_DCHECK( + (reinterpret_cast(ptr) & kPointerCompressionShiftMask) == 0); #if defined(CPPGC_2GB_CAGE) // Truncate the pointer. @@ -140,8 +145,9 @@ class V8_TRIVIAL_ABI CompressedPointer final { static_cast(reinterpret_cast(ptr)); #else // !defined(CPPGC_2GB_CAGE) const auto uptr = reinterpret_cast(ptr); - // Shift the pointer by one and truncate. - auto compressed = static_cast(uptr >> 1); + // Shift the pointer and truncate. + auto compressed = static_cast( + uptr >> api_constants::kPointerCompressionShift); #endif // !defined(CPPGC_2GB_CAGE) // Normal compressed pointers must have the MSB set. CPPGC_DCHECK((!compressed || compressed == kCompressedSentinel) || @@ -157,9 +163,10 @@ class V8_TRIVIAL_ABI CompressedPointer final { #if defined(CPPGC_2GB_CAGE) const uint64_t mask = static_cast(static_cast(ptr)); #else // !defined(CPPGC_2GB_CAGE) - // Then, shift the result by one. It's important to shift the unsigned + // Then, shift the result. It's important to shift the unsigned // value, as otherwise it would result in undefined behavior. - const uint64_t mask = static_cast(static_cast(ptr)) << 1; + const uint64_t mask = static_cast(static_cast(ptr)) + << api_constants::kPointerCompressionShift; #endif // !defined(CPPGC_2GB_CAGE) return reinterpret_cast(mask & base); } @@ -170,7 +177,8 @@ class V8_TRIVIAL_ABI CompressedPointer final { SentinelPointer::kSentinelValue; #else // !defined(CPPGC_2GB_CAGE) static constexpr IntegralType kCompressedSentinel = - SentinelPointer::kSentinelValue >> 1; + SentinelPointer::kSentinelValue >> + api_constants::kPointerCompressionShift; #endif // !defined(CPPGC_2GB_CAGE) // All constructors initialize `value_`. Do not add a default value here as it // results in a non-atomic write on some builds, even when the atomic version diff --git a/deps/v8/include/cppgc/sentinel-pointer.h b/deps/v8/include/cppgc/sentinel-pointer.h index 8dbbab0ebd1f79..bee96c77607428 100644 --- a/deps/v8/include/cppgc/sentinel-pointer.h +++ b/deps/v8/include/cppgc/sentinel-pointer.h @@ -7,13 +7,20 @@ #include +#include "cppgc/internal/api-constants.h" + namespace cppgc { namespace internal { // Special tag type used to denote some sentinel member. The semantics of the // sentinel is defined by the embedder. struct SentinelPointer { +#if defined(CPPGC_POINTER_COMPRESSION) + static constexpr intptr_t kSentinelValue = + 1 << api_constants::kPointerCompressionShift; +#else // !defined(CPPGC_POINTER_COMPRESSION) static constexpr intptr_t kSentinelValue = 0b10; +#endif // !defined(CPPGC_POINTER_COMPRESSION) template operator T*() const { return reinterpret_cast(kSentinelValue); diff --git a/deps/v8/include/cppgc/source-location.h b/deps/v8/include/cppgc/source-location.h index da5a5ede520138..0dc28aedd9b225 100644 --- a/deps/v8/include/cppgc/source-location.h +++ b/deps/v8/include/cppgc/source-location.h @@ -5,87 +5,11 @@ #ifndef INCLUDE_CPPGC_SOURCE_LOCATION_H_ #define INCLUDE_CPPGC_SOURCE_LOCATION_H_ -#include -#include - -#include "v8config.h" // NOLINT(build/include_directory) - -#if defined(__has_builtin) -#define CPPGC_SUPPORTS_SOURCE_LOCATION \ - (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \ - __has_builtin(__builtin_LINE)) // NOLINT -#elif defined(V8_CC_GNU) && __GNUC__ >= 7 -#define CPPGC_SUPPORTS_SOURCE_LOCATION 1 -#elif defined(V8_CC_INTEL) && __ICC >= 1800 -#define CPPGC_SUPPORTS_SOURCE_LOCATION 1 -#else -#define CPPGC_SUPPORTS_SOURCE_LOCATION 0 -#endif +#include "v8-source-location.h" namespace cppgc { -/** - * Encapsulates source location information. Mimics C++20's - * `std::source_location`. - */ -class V8_EXPORT SourceLocation final { - public: - /** - * Construct source location information corresponding to the location of the - * call site. - */ -#if CPPGC_SUPPORTS_SOURCE_LOCATION - static constexpr SourceLocation Current( - const char* function = __builtin_FUNCTION(), - const char* file = __builtin_FILE(), size_t line = __builtin_LINE()) { - return SourceLocation(function, file, line); - } -#else - static constexpr SourceLocation Current() { return SourceLocation(); } -#endif // CPPGC_SUPPORTS_SOURCE_LOCATION - - /** - * Constructs unspecified source location information. - */ - constexpr SourceLocation() = default; - - /** - * Returns the name of the function associated with the position represented - * by this object, if any. - * - * \returns the function name as cstring. - */ - constexpr const char* Function() const { return function_; } - - /** - * Returns the name of the current source file represented by this object. - * - * \returns the file name as cstring. - */ - constexpr const char* FileName() const { return file_; } - - /** - * Returns the line number represented by this object. - * - * \returns the line number. - */ - constexpr size_t Line() const { return line_; } - - /** - * Returns a human-readable string representing this object. - * - * \returns a human-readable string representing source location information. - */ - std::string ToString() const; - - private: - constexpr SourceLocation(const char* function, const char* file, size_t line) - : function_(function), file_(file), line_(line) {} - - const char* function_ = nullptr; - const char* file_ = nullptr; - size_t line_ = 0u; -}; +using SourceLocation = v8::SourceLocation; } // namespace cppgc diff --git a/deps/v8/include/cppgc/visitor.h b/deps/v8/include/cppgc/visitor.h index 9b135e39a0be1c..9f43ad5e91a53e 100644 --- a/deps/v8/include/cppgc/visitor.h +++ b/deps/v8/include/cppgc/visitor.h @@ -326,8 +326,7 @@ class V8_EXPORT Visitor { template static void HandleWeak(const LivenessBroker& info, const void* object) { const PointerType* weak = static_cast(object); - auto* raw_ptr = weak->GetFromGC(); - if (!info.IsHeapObjectAlive(raw_ptr)) { + if (!info.IsHeapObjectAlive(weak->GetFromGC())) { weak->ClearFromGC(); } } @@ -413,8 +412,7 @@ class V8_EXPORT RootVisitor { template static void HandleWeak(const LivenessBroker& info, const void* object) { const PointerType* weak = static_cast(object); - auto* raw_ptr = weak->GetFromGC(); - if (!info.IsHeapObjectAlive(raw_ptr)) { + if (!info.IsHeapObjectAlive(weak->GetFromGC())) { weak->ClearFromGC(); } } diff --git a/deps/v8/include/js_protocol.pdl b/deps/v8/include/js_protocol.pdl index 6285d9b6f24f63..0dbdc01d3af5c9 100644 --- a/deps/v8/include/js_protocol.pdl +++ b/deps/v8/include/js_protocol.pdl @@ -580,6 +580,7 @@ domain Debugger other promiseRejection XHR + step # Object containing break-specific auxiliary properties. optional object data # Hit breakpoints IDs @@ -631,7 +632,7 @@ domain Debugger Runtime.ExecutionContextId executionContextId # Content hash of the script, SHA-256. string hash - # Embedder-specific auxiliary data. + # Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string} optional object executionContextAuxData # URL of source map associated with script (if any). optional string sourceMapURL @@ -670,7 +671,7 @@ domain Debugger Runtime.ExecutionContextId executionContextId # Content hash of the script, SHA-256. string hash - # Embedder-specific auxiliary data. + # Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string} optional object executionContextAuxData # True, if this script is generated as a result of the live edit operation. experimental optional boolean isLiveEdit @@ -1013,9 +1014,28 @@ domain Runtime # Unique script identifier. type ScriptId extends string - # Represents the value serialiazed by the WebDriver BiDi specification - # https://w3c.github.io/webdriver-bidi. - type WebDriverValue extends object + # Represents options for serialization. Overrides `generatePreview`, `returnByValue` and + # `generateWebDriverValue`. + type SerializationOptions extends object + properties + enum serialization + # Whether the result should be deep-serialized. The result is put into + # `deepSerializedValue` and `ObjectId` is provided. + deep + # Whether the result is expected to be a JSON object which should be sent by value. + # The result is put either into `value` or into `unserializableValue`. Synonym of + # `returnByValue: true`. Overrides `returnByValue`. + json + # Only remote object id is put in the result. Same bahaviour as if no + # `serializationOptions`, `generatePreview`, `returnByValue` nor `generateWebDriverValue` + # are provided. + idOnly + + # Deep serialization depth. Default is full depth. Respected only in `deep` serialization mode. + optional integer maxDepth + + # Represents deep serialized value. + type DeepSerializedValue extends object properties enum type undefined @@ -1043,6 +1063,10 @@ domain Runtime window optional any value optional string objectId + # Set if value reference met more then once during serialization. In such + # case, value is provided only to one of the serialized values. Unique + # per value in the scope of one CDP call. + optional integer weakLocalObjectReference # Unique object identifier. type RemoteObjectId extends string @@ -1096,8 +1120,10 @@ domain Runtime optional UnserializableValue unserializableValue # String representation of the object. optional string description - # WebDriver BiDi representation of the value. - experimental optional WebDriverValue webDriverValue + # Deprecated. Use `deepSerializedValue` instead. WebDriver BiDi representation of the value. + deprecated optional DeepSerializedValue webDriverValue + # Deep serialized value. + experimental optional DeepSerializedValue deepSerializedValue # Unique object identifier (for non-primitive values). optional RemoteObjectId objectId # Preview containing abbreviated property values. Specified for `object` type values only. @@ -1283,7 +1309,7 @@ domain Runtime # multiple processes, so can be reliably used to identify specific context while backend # performs a cross-process navigation. experimental string uniqueId - # Embedder-specific auxiliary data. + # Embedder-specific auxiliary data likely matching {isDefault: boolean, type: 'default'|'isolated'|'worker', frameId: string} optional object auxData # Detailed information about exception (or error) that was thrown during script compilation or @@ -1387,6 +1413,7 @@ domain Runtime # execution. Overrides `setPauseOnException` state. optional boolean silent # Whether the result is expected to be a JSON object which should be sent by value. + # Can be overriden by `serializationOptions`. optional boolean returnByValue # Whether preview should be generated for the result. experimental optional boolean generatePreview @@ -1410,10 +1437,15 @@ domain Runtime # boundaries). # This is mutually exclusive with `executionContextId`. experimental optional string uniqueContextId + # Deprecated. Use `serializationOptions: {serialization:"deep"}` instead. # Whether the result should contain `webDriverValue`, serialized according to # https://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but # resulting `objectId` is still provided. - experimental optional boolean generateWebDriverValue + deprecated optional boolean generateWebDriverValue + # Specifies the result serialization. If provided, overrides + # `returnByValue` and `generateWebDriverValue`. + experimental optional SerializationOptions serializationOptions + returns # Call result. RemoteObject result @@ -1499,8 +1531,15 @@ domain Runtime # boundaries). # This is mutually exclusive with `contextId`. experimental optional string uniqueContextId - # Whether the result should be serialized according to https://w3c.github.io/webdriver-bidi. - experimental optional boolean generateWebDriverValue + # Deprecated. Use `serializationOptions: {serialization:"deep"}` instead. + # Whether the result should contain `webDriverValue`, serialized + # according to + # https://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but + # resulting `objectId` is still provided. + deprecated optional boolean generateWebDriverValue + # Specifies the result serialization. If provided, overrides + # `returnByValue` and `generateWebDriverValue`. + experimental optional SerializationOptions serializationOptions returns # Evaluation result. RemoteObject result diff --git a/deps/v8/include/v8-callbacks.h b/deps/v8/include/v8-callbacks.h index f0fa561a3d76fb..2743d5cc69e3c2 100644 --- a/deps/v8/include/v8-callbacks.h +++ b/deps/v8/include/v8-callbacks.h @@ -323,12 +323,6 @@ using WasmAsyncResolvePromiseCallback = void (*)( using WasmLoadSourceMapCallback = Local (*)(Isolate* isolate, const char* name); -// --- Callback for checking if WebAssembly Simd is enabled --- -using WasmSimdEnabledCallback = bool (*)(Local context); - -// --- Callback for checking if WebAssembly exceptions are enabled --- -using WasmExceptionsEnabledCallback = bool (*)(Local context); - // --- Callback for checking if WebAssembly GC is enabled --- // If the callback returns true, it will also enable Wasm stringrefs. using WasmGCEnabledCallback = bool (*)(Local context); diff --git a/deps/v8/include/v8-context.h b/deps/v8/include/v8-context.h index 3589caabd4b7c1..36cd43cb417b85 100644 --- a/deps/v8/include/v8-context.h +++ b/deps/v8/include/v8-context.h @@ -395,7 +395,7 @@ Local Context::GetEmbedderData(int index) { #ifndef V8_ENABLE_CHECKS using A = internal::Address; using I = internal::Internals; - A ctx = *reinterpret_cast(this); + A ctx = internal::ValueHelper::ValueAsAddress(this); A embedder_data = I::ReadTaggedPointerField(ctx, I::kNativeContextEmbedderDataOffset); int value_offset = @@ -407,15 +407,9 @@ Local Context::GetEmbedderData(int index) { value = I::DecompressTaggedField(embedder_data, static_cast(value)); #endif -#ifdef V8_ENABLE_CONSERVATIVE_STACK_SCANNING - return Local(reinterpret_cast(value)); -#else - internal::Isolate* isolate = internal::IsolateFromNeverReadOnlySpaceObject( - *reinterpret_cast(this)); - A* result = HandleScope::CreateHandle(isolate, value); - return Local(reinterpret_cast(result)); -#endif - + auto isolate = reinterpret_cast( + internal::IsolateFromNeverReadOnlySpaceObject(ctx)); + return Local::New(isolate, value); #else return SlowGetEmbedderData(index); #endif @@ -442,9 +436,11 @@ void* Context::GetAlignedPointerFromEmbedderData(int index) { template MaybeLocal Context::GetDataFromSnapshotOnce(size_t index) { - T* data = reinterpret_cast(GetDataFromSnapshotOnce(index)); - if (data) internal::PerformCastCheck(data); - return Local(data); + auto slot = GetDataFromSnapshotOnce(index); + if (slot) { + internal::PerformCastCheck(internal::ValueHelper::SlotAsValue(slot)); + } + return Local::FromSlot(slot); } Context* Context::Cast(v8::Data* data) { diff --git a/deps/v8/include/v8-embedder-heap.h b/deps/v8/include/v8-embedder-heap.h index 9e2e3ef58c4341..c37dadf7a39d55 100644 --- a/deps/v8/include/v8-embedder-heap.h +++ b/deps/v8/include/v8-embedder-heap.h @@ -34,6 +34,8 @@ class V8_EXPORT EmbedderRootsHandler { * for retaining the object. The embedder may use |WrapperClassId()| to * distinguish cases where it wants handles to be treated as roots from not * being treated as roots. + * + * The concrete implementations must be thread-safe. */ virtual bool IsRoot(const v8::TracedReference& handle) = 0; @@ -47,6 +49,16 @@ class V8_EXPORT EmbedderRootsHandler { * handle via the object or class id. */ virtual void ResetRoot(const v8::TracedReference& handle) = 0; + + /** + * Similar to |ResetRoot()|, but opportunistic. The function is called in + * parallel for different handles and as such must be thread-safe. In case, + * |false| is returned, |ResetRoot()| will be recalled for the same handle. + */ + virtual bool TryResetRoot(const v8::TracedReference& handle) { + ResetRoot(handle); + return true; + } }; } // namespace v8 diff --git a/deps/v8/include/v8-fast-api-calls.h b/deps/v8/include/v8-fast-api-calls.h index 0fe7cd2489b05e..e40f1068faba99 100644 --- a/deps/v8/include/v8-fast-api-calls.h +++ b/deps/v8/include/v8-fast-api-calls.h @@ -388,13 +388,19 @@ struct FastOneByteString { class V8_EXPORT CFunctionInfo { public: + enum class Int64Representation : uint8_t { + kNumber = 0, // Use numbers to represent 64 bit integers. + kBigInt = 1, // Use BigInts to represent 64 bit integers. + }; + // Construct a struct to hold a CFunction's type information. // |return_info| describes the function's return type. // |arg_info| is an array of |arg_count| CTypeInfos describing the // arguments. Only the last argument may be of the special type // CTypeInfo::kCallbackOptionsType. CFunctionInfo(const CTypeInfo& return_info, unsigned int arg_count, - const CTypeInfo* arg_info); + const CTypeInfo* arg_info, + Int64Representation repr = Int64Representation::kNumber); const CTypeInfo& ReturnInfo() const { return return_info_; } @@ -404,6 +410,8 @@ class V8_EXPORT CFunctionInfo { return HasOptions() ? arg_count_ - 1 : arg_count_; } + Int64Representation GetInt64Representation() const { return repr_; } + // |index| must be less than ArgumentCount(). // Note: if the last argument passed on construction of CFunctionInfo // has type CTypeInfo::kCallbackOptionsType, it is not included in @@ -418,6 +426,7 @@ class V8_EXPORT CFunctionInfo { private: const CTypeInfo return_info_; + const Int64Representation repr_; const unsigned int arg_count_; const CTypeInfo* arg_info_; }; @@ -469,6 +478,9 @@ class V8_EXPORT CFunction { unsigned int ArgumentCount() const { return type_info_->ArgumentCount(); } const void* GetAddress() const { return address_; } + CFunctionInfo::Int64Representation GetInt64Representation() const { + return type_info_->GetInt64Representation(); + } const CFunctionInfo* GetTypeInfo() const { return type_info_; } enum class OverloadResolution { kImpossible, kAtRuntime, kAtCompileTime }; @@ -598,7 +610,8 @@ struct count template struct count : count {}; -template +template class CFunctionInfoImpl : public CFunctionInfo { static constexpr int kOptionsArgCount = count(); @@ -613,18 +626,20 @@ class CFunctionInfoImpl : public CFunctionInfo { public: constexpr CFunctionInfoImpl() : CFunctionInfo(RetBuilder::Build(), sizeof...(ArgBuilders), - arg_info_storage_), + arg_info_storage_, Representation), arg_info_storage_{ArgBuilders::Build()...} { constexpr CTypeInfo::Type kReturnType = RetBuilder::Build().GetType(); static_assert(kReturnType == CTypeInfo::Type::kVoid || kReturnType == CTypeInfo::Type::kBool || kReturnType == CTypeInfo::Type::kInt32 || kReturnType == CTypeInfo::Type::kUint32 || + kReturnType == CTypeInfo::Type::kInt64 || + kReturnType == CTypeInfo::Type::kUint64 || kReturnType == CTypeInfo::Type::kFloat32 || kReturnType == CTypeInfo::Type::kFloat64 || kReturnType == CTypeInfo::Type::kPointer || kReturnType == CTypeInfo::Type::kAny, - "64-bit int, string and api object values are not currently " + "String and api object values are not currently " "supported return types."); } @@ -845,8 +860,11 @@ class CFunctionBuilderWithFunction { return *this; } + template auto Build() { - static CFunctionInfoImpl instance; + static CFunctionInfoImpl + instance; return CFunction(fn_, &instance); } diff --git a/deps/v8/include/v8-function-callback.h b/deps/v8/include/v8-function-callback.h index 60ecca1fd2a34f..49c102bc9c7730 100644 --- a/deps/v8/include/v8-function-callback.h +++ b/deps/v8/include/v8-function-callback.h @@ -78,7 +78,6 @@ class ReturnValue { // See FunctionCallbackInfo. static constexpr int kIsolateValueIndex = -2; - static constexpr int kDefaultValueValueIndex = -1; internal::Address* value_; }; @@ -128,15 +127,16 @@ class FunctionCallbackInfo { friend class internal::CustomArguments; friend class debug::ConsoleCallArguments; friend class internal::Builtins; + static constexpr int kHolderIndex = 0; static constexpr int kIsolateIndex = 1; - static constexpr int kReturnValueDefaultValueIndex = 2; + static constexpr int kUnusedIndex = 2; static constexpr int kReturnValueIndex = 3; static constexpr int kDataIndex = 4; static constexpr int kNewTargetIndex = 5; - static constexpr int kArgsLength = 6; - static constexpr int kArgsLengthWithReceiver = 7; + + static constexpr int kArgsLengthWithReceiver = kArgsLength + 1; // Codegen constants: static constexpr int kSize = 3 * internal::kApiSystemPointerSize; @@ -147,8 +147,6 @@ class FunctionCallbackInfo { kValuesOffset + internal::kApiSystemPointerSize; static constexpr int kThisValuesIndex = -1; - static_assert(ReturnValue::kDefaultValueValueIndex == - kReturnValueDefaultValueIndex - kReturnValueIndex); static_assert(ReturnValue::kIsolateValueIndex == kIsolateIndex - kReturnValueIndex); @@ -258,17 +256,17 @@ class PropertyCallbackInfo { static constexpr int kShouldThrowOnErrorIndex = 0; static constexpr int kHolderIndex = 1; static constexpr int kIsolateIndex = 2; - static constexpr int kReturnValueDefaultValueIndex = 3; + static constexpr int kUnusedIndex = 3; static constexpr int kReturnValueIndex = 4; static constexpr int kDataIndex = 5; static constexpr int kThisIndex = 6; - static constexpr int kArgsLength = 7; static constexpr int kSize = 1 * internal::kApiSystemPointerSize; V8_INLINE explicit PropertyCallbackInfo(internal::Address* args) : args_(args) {} + internal::Address* args_; }; @@ -286,7 +284,7 @@ void ReturnValue::Set(const Global& handle) { if (V8_UNLIKELY(handle.IsEmpty())) { *value_ = GetDefaultValue(); } else { - *value_ = *reinterpret_cast(*handle); + *value_ = handle.ptr(); } } @@ -297,7 +295,7 @@ void ReturnValue::Set(const BasicTracedReference& handle) { if (V8_UNLIKELY(handle.IsEmpty())) { *value_ = GetDefaultValue(); } else { - *value_ = *reinterpret_cast(handle.val_); + *value_ = handle.ptr(); } } @@ -309,7 +307,7 @@ void ReturnValue::Set(const Local handle) { if (V8_UNLIKELY(handle.IsEmpty())) { *value_ = GetDefaultValue(); } else { - *value_ = internal::ValueHelper::ValueAsAddress(*handle); + *value_ = handle.ptr(); } } @@ -378,7 +376,6 @@ void ReturnValue::SetEmptyString() { template Isolate* ReturnValue::GetIsolate() const { - // Isolate is always the pointer below the default value on the stack. return *reinterpret_cast(&value_[kIsolateValueIndex]); } @@ -403,8 +400,8 @@ void ReturnValue::Set(S* whatever) { template internal::Address ReturnValue::GetDefaultValue() { - // Default value is always the pointer below value_ on the stack. - return value_[kDefaultValueValueIndex]; + using I = internal::Internals; + return I::GetRoot(GetIsolate(), I::kTheHoleValueRootIndex); } template diff --git a/deps/v8/include/v8-handle-base.h b/deps/v8/include/v8-handle-base.h new file mode 100644 index 00000000000000..113ffa2da8b0cf --- /dev/null +++ b/deps/v8/include/v8-handle-base.h @@ -0,0 +1,190 @@ +// Copyright 2023 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef INCLUDE_V8_HANDLE_BASE_H_ +#define INCLUDE_V8_HANDLE_BASE_H_ + +#include "v8-internal.h" // NOLINT(build/include_directory) + +namespace v8 { + +namespace internal { + +// Helper functions about values contained in handles. +// A value is either an indirect pointer or a direct pointer, depending on +// whether direct local support is enabled. +class ValueHelper final { + public: +#ifdef V8_ENABLE_DIRECT_LOCAL + static constexpr Address kTaggedNullAddress = 1; + static constexpr Address kEmpty = kTaggedNullAddress; +#else + static constexpr Address kEmpty = kNullAddress; +#endif // V8_ENABLE_DIRECT_LOCAL + + template + V8_INLINE static bool IsEmpty(T* value) { + return reinterpret_cast
(value) == kEmpty; + } + + // Returns a handle's "value" for all kinds of abstract handles. For Local, + // it is equivalent to `*handle`. The variadic parameters support handle + // types with extra type parameters, like `Persistent`. + template