From 77ac9bcbfa860ab44f4c1866a320ebfb3e722eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 16 May 2023 11:57:58 +0200 Subject: [PATCH 01/12] deps: update V8 to 11.4.183.8 --- deps/v8/.clang-format | 1 + deps/v8/.gn | 7 +- deps/v8/AUTHORS | 1 + deps/v8/BUILD.bazel | 751 +-- deps/v8/BUILD.gn | 130 +- deps/v8/DEPS | 36 +- deps/v8/bazel/defs.bzl | 1 + deps/v8/gni/v8.gni | 3 + deps/v8/include/cppgc/DEPS | 1 + deps/v8/include/cppgc/source-location.h | 80 +- deps/v8/include/js_protocol.pdl | 7 +- deps/v8/include/v8-callbacks.h | 6 - deps/v8/include/v8-context.h | 22 +- deps/v8/include/v8-embedder-heap.h | 4 + deps/v8/include/v8-function-callback.h | 25 +- deps/v8/include/v8-handle-base.h | 190 + deps/v8/include/v8-internal.h | 57 +- deps/v8/include/v8-isolate.h | 19 +- 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 | 77 +- deps/v8/include/v8-primitive.h | 2 +- deps/v8/include/v8-profiler.h | 11 +- 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 | 4 +- deps/v8/infra/mb/mb_config.pyl | 8 + deps/v8/infra/testing/builders.pyl | 42 +- 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 | 8 +- deps/v8/src/api/api.cc | 241 +- deps/v8/src/api/api.h | 12 +- deps/v8/src/asmjs/asm-parser.cc | 7 +- deps/v8/src/ast/ast.h | 1 + deps/v8/src/ast/scopes.cc | 90 +- deps/v8/src/ast/scopes.h | 5 - deps/v8/src/ast/variables.cc | 9 + deps/v8/src/ast/variables.h | 54 +- 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/macros.h | 13 +- deps/v8/src/base/platform/platform-posix.cc | 9 +- deps/v8/src/base/pointer-with-payload.h | 9 + deps/v8/src/base/small-vector.h | 6 + deps/v8/src/baseline/baseline-assembler.h | 1 + .../src/baseline/baseline-batch-compiler.cc | 5 +- deps/v8/src/baseline/baseline-compiler.cc | 95 +- deps/v8/src/baseline/baseline-compiler.h | 5 +- .../src/baseline/bytecode-offset-iterator.cc | 4 +- .../src/baseline/bytecode-offset-iterator.h | 3 +- .../riscv/baseline-assembler-riscv-inl.h | 66 +- deps/v8/src/builtins/arm/builtins-arm.cc | 390 +- deps/v8/src/builtins/arm64/builtins-arm64.cc | 628 +-- deps/v8/src/builtins/base.tq | 1 + deps/v8/src/builtins/builtins-array-gen.cc | 34 +- deps/v8/src/builtins/builtins-array.cc | 34 +- .../src/builtins/builtins-collections-gen.cc | 3 +- deps/v8/src/builtins/builtins-definitions.h | 19 + deps/v8/src/builtins/builtins-internal-gen.cc | 9 +- deps/v8/src/builtins/builtins-intl.cc | 78 +- deps/v8/src/builtins/builtins-regexp-gen.cc | 2 +- deps/v8/src/builtins/builtins-struct.cc | 207 +- deps/v8/src/builtins/builtins-utils.h | 1 + deps/v8/src/builtins/builtins-weak-refs.cc | 10 +- deps/v8/src/builtins/builtins.cc | 40 +- deps/v8/src/builtins/builtins.h | 12 +- deps/v8/src/builtins/conversion.tq | 4 +- deps/v8/src/builtins/finalization-registry.tq | 2 +- deps/v8/src/builtins/ia32/builtins-ia32.cc | 332 +- deps/v8/src/builtins/iterator-helpers.tq | 553 ++- deps/v8/src/builtins/iterator.tq | 2 +- .../src/builtins/loong64/builtins-loong64.cc | 421 +- .../v8/src/builtins/mips64/builtins-mips64.cc | 600 ++- deps/v8/src/builtins/ppc/builtins-ppc.cc | 384 +- 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 | 430 +- deps/v8/src/builtins/s390/builtins-s390.cc | 412 +- .../src/builtins/setup-builtins-internal.cc | 28 +- .../builtins/typed-array-createtypedarray.tq | 80 +- deps/v8/src/builtins/wasm.tq | 83 +- deps/v8/src/builtins/weak-ref.tq | 2 +- deps/v8/src/builtins/x64/builtins-x64.cc | 429 +- deps/v8/src/codegen/arm/assembler-arm-inl.h | 6 +- deps/v8/src/codegen/arm/assembler-arm.cc | 15 +- deps/v8/src/codegen/arm/assembler-arm.h | 8 +- .../v8/src/codegen/arm/macro-assembler-arm.cc | 55 +- deps/v8/src/codegen/arm/macro-assembler-arm.h | 5 +- deps/v8/src/codegen/arm/register-arm.h | 6 + .../src/codegen/arm64/assembler-arm64-inl.h | 6 +- deps/v8/src/codegen/arm64/assembler-arm64.cc | 21 +- deps/v8/src/codegen/arm64/assembler-arm64.h | 18 +- .../codegen/arm64/macro-assembler-arm64.cc | 54 +- .../src/codegen/arm64/macro-assembler-arm64.h | 5 +- deps/v8/src/codegen/arm64/register-arm64.h | 6 + deps/v8/src/codegen/assembler.h | 88 +- deps/v8/src/codegen/code-reference.cc | 6 +- deps/v8/src/codegen/code-stub-assembler.cc | 42 +- deps/v8/src/codegen/code-stub-assembler.h | 24 +- deps/v8/src/codegen/compiler.cc | 93 +- deps/v8/src/codegen/external-reference.cc | 14 +- deps/v8/src/codegen/external-reference.h | 5 +- deps/v8/src/codegen/handler-table.cc | 2 +- deps/v8/src/codegen/ia32/assembler-ia32-inl.h | 6 +- deps/v8/src/codegen/ia32/assembler-ia32.cc | 89 +- deps/v8/src/codegen/ia32/assembler-ia32.h | 13 +- .../src/codegen/ia32/macro-assembler-ia32.cc | 54 +- .../src/codegen/ia32/macro-assembler-ia32.h | 5 +- .../src/codegen/interface-descriptors-inl.h | 7 + deps/v8/src/codegen/interface-descriptors.h | 2 +- .../codegen/loong64/assembler-loong64-inl.h | 8 +- .../src/codegen/loong64/assembler-loong64.cc | 15 +- .../src/codegen/loong64/assembler-loong64.h | 8 +- .../loong64/macro-assembler-loong64.cc | 74 +- .../codegen/loong64/macro-assembler-loong64.h | 20 +- .../v8/src/codegen/loong64/register-loong64.h | 6 + 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 | 15 +- deps/v8/src/codegen/mips64/assembler-mips64.h | 8 +- .../codegen/mips64/macro-assembler-mips64.cc | 55 +- .../codegen/mips64/macro-assembler-mips64.h | 6 +- deps/v8/src/codegen/mips64/register-mips64.h | 6 + .../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 | 20 +- deps/v8/src/codegen/ppc/assembler-ppc.h | 6 +- .../v8/src/codegen/ppc/macro-assembler-ppc.cc | 88 +- deps/v8/src/codegen/ppc/macro-assembler-ppc.h | 10 +- deps/v8/src/codegen/ppc/register-ppc.h | 6 + deps/v8/src/codegen/register.h | 6 +- deps/v8/src/codegen/reloc-info-inl.h | 27 + deps/v8/src/codegen/reloc-info.cc | 157 +- deps/v8/src/codegen/reloc-info.h | 193 +- .../src/codegen/riscv/assembler-riscv-inl.h | 7 +- deps/v8/src/codegen/riscv/assembler-riscv.cc | 15 +- deps/v8/src/codegen/riscv/assembler-riscv.h | 8 +- .../src/codegen/riscv/base-assembler-riscv.h | 1 + deps/v8/src/codegen/riscv/constant-riscv-v.h | 9 + .../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 | 95 +- .../src/codegen/riscv/macro-assembler-riscv.h | 42 +- deps/v8/src/codegen/riscv/register-riscv.h | 5 + deps/v8/src/codegen/s390/assembler-s390-inl.h | 6 +- deps/v8/src/codegen/s390/assembler-s390.cc | 20 +- deps/v8/src/codegen/s390/assembler-s390.h | 6 +- .../src/codegen/s390/macro-assembler-s390.cc | 102 +- .../src/codegen/s390/macro-assembler-s390.h | 7 +- deps/v8/src/codegen/s390/register-s390.h | 6 + deps/v8/src/codegen/safepoint-table.cc | 4 +- deps/v8/src/codegen/source-position.cc | 30 +- deps/v8/src/codegen/tnode.h | 1 + deps/v8/src/codegen/x64/assembler-x64-inl.h | 6 +- deps/v8/src/codegen/x64/assembler-x64.cc | 106 +- deps/v8/src/codegen/x64/assembler-x64.h | 19 +- .../v8/src/codegen/x64/macro-assembler-x64.cc | 79 +- deps/v8/src/codegen/x64/macro-assembler-x64.h | 8 +- deps/v8/src/common/globals.h | 21 +- 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 | 18 +- deps/v8/src/compiler/access-builder.cc | 309 +- deps/v8/src/compiler/access-builder.h | 2 +- deps/v8/src/compiler/access-info.cc | 37 +- .../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 | 2 +- .../backend/arm64/code-generator-arm64.cc | 10 +- .../arm64/instruction-selector-arm64.cc | 8 +- .../v8/src/compiler/backend/code-generator.cc | 17 +- .../backend/ia32/code-generator-ia32.cc | 2 +- .../backend/instruction-selector-impl.h | 9 + .../compiler/backend/instruction-selector.cc | 50 + deps/v8/src/compiler/backend/instruction.cc | 2 +- .../backend/loong64/code-generator-loong64.cc | 65 +- .../loong64/instruction-selector-loong64.cc | 33 +- .../backend/mips64/code-generator-mips64.cc | 18 +- .../mips64/instruction-selector-mips64.cc | 32 +- .../backend/ppc/code-generator-ppc.cc | 6 +- .../backend/riscv/code-generator-riscv.cc | 15 +- .../riscv/instruction-selector-riscv64.cc | 6 + .../backend/s390/code-generator-s390.cc | 5 +- .../backend/s390/instruction-selector-s390.cc | 3 +- .../backend/x64/code-generator-x64.cc | 293 +- .../backend/x64/instruction-codes-x64.h | 12 +- .../backend/x64/instruction-scheduler-x64.cc | 12 +- .../backend/x64/instruction-selector-x64.cc | 51 +- deps/v8/src/compiler/bytecode-analysis.cc | 10 + deps/v8/src/compiler/bytecode-analysis.h | 5 + .../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 | 9 +- deps/v8/src/compiler/common-operator.h | 4 +- .../src/compiler/compilation-dependencies.cc | 190 +- .../src/compiler/compilation-dependencies.h | 54 +- .../src/compiler/constant-folding-reducer.cc | 33 +- .../src/compiler/effect-control-linearizer.cc | 262 +- 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 | 11 +- deps/v8/src/compiler/frame-states.h | 11 +- deps/v8/src/compiler/globals.h | 9 + deps/v8/src/compiler/graph-assembler.cc | 8 +- deps/v8/src/compiler/graph-assembler.h | 2 +- deps/v8/src/compiler/heap-refs.cc | 72 +- deps/v8/src/compiler/heap-refs.h | 91 +- deps/v8/src/compiler/js-call-reducer.cc | 215 +- deps/v8/src/compiler/js-call-reducer.h | 30 +- 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 | 2 +- deps/v8/src/compiler/js-graph.h | 2 +- deps/v8/src/compiler/js-heap-broker.cc | 40 +- 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 | 5 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 6 +- .../js-native-context-specialization.cc | 169 +- .../js-native-context-specialization.h | 18 +- deps/v8/src/compiler/js-operator.cc | 50 +- deps/v8/src/compiler/js-operator.h | 85 +- deps/v8/src/compiler/js-type-hint-lowering.h | 2 +- deps/v8/src/compiler/js-typed-lowering.cc | 4 +- deps/v8/src/compiler/load-elimination.cc | 93 +- deps/v8/src/compiler/load-elimination.h | 23 +- deps/v8/src/compiler/loop-analysis.cc | 8 +- deps/v8/src/compiler/machine-operator.cc | 23 + deps/v8/src/compiler/machine-operator.h | 23 + deps/v8/src/compiler/map-inference.cc | 39 +- deps/v8/src/compiler/map-inference.h | 6 +- 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 | 24 +- deps/v8/src/compiler/pipeline.cc | 137 +- 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/schedule.cc | 6 + deps/v8/src/compiler/schedule.h | 8 + deps/v8/src/compiler/scheduler.cc | 9 + .../compiler/simplified-lowering-verifier.cc | 2 - deps/v8/src/compiler/simplified-lowering.cc | 37 +- deps/v8/src/compiler/simplified-operator.cc | 138 +- deps/v8/src/compiler/simplified-operator.h | 62 +- deps/v8/src/compiler/turboshaft/assembler.h | 643 ++- .../turboshaft/branch-elimination-reducer.h | 25 +- .../turboshaft/builtin-call-descriptors.h | 167 +- .../dead-code-elimination-reducer.h | 10 +- .../turboshaft/define-assembler-macros.inc | 63 +- .../turboshaft/fast-api-call-reducer.h | 625 +++ .../src/compiler/turboshaft/graph-builder.cc | 553 ++- deps/v8/src/compiler/turboshaft/graph.h | 2 +- deps/v8/src/compiler/turboshaft/index.h | 28 +- .../compiler/turboshaft/layered-hash-map.h | 2 + .../turboshaft/machine-lowering-phase.cc | 9 +- .../turboshaft/machine-lowering-reducer.h | 1671 ++++++- .../turboshaft/machine-optimization-reducer.h | 92 +- .../turboshaft/memory-optimization-reducer.h | 19 +- deps/v8/src/compiler/turboshaft/operations.cc | 145 +- deps/v8/src/compiler/turboshaft/operations.h | 1121 ++++- .../compiler/turboshaft/optimization-phase.h | 163 +- .../src/compiler/turboshaft/optimize-phase.cc | 2 + .../compiler/turboshaft/recreate-schedule.cc | 52 +- .../turboshaft/runtime-call-descriptors.h | 42 + .../turboshaft/select-lowering-reducer.h | 10 +- .../src/compiler/turboshaft/snapshot-table.h | 100 +- .../structural-optimization-reducer.h | 232 + .../turboshaft/tag-untag-lowering-reducer.h | 20 +- .../turboshaft/type-inference-analysis.h | 34 +- .../turboshaft/type-inference-reducer.h | 44 +- deps/v8/src/compiler/turboshaft/typer.h | 2 +- .../turboshaft/undef-assembler-macros.inc | 16 +- .../compiler/turboshaft/variable-reducer.h | 8 +- deps/v8/src/compiler/typed-optimization.cc | 2 +- deps/v8/src/compiler/typed-optimization.h | 2 +- deps/v8/src/compiler/typer.cc | 6 +- deps/v8/src/compiler/types.cc | 14 +- deps/v8/src/compiler/types.h | 24 +- deps/v8/src/compiler/use-info.h | 1 + deps/v8/src/compiler/verifier.cc | 11 - deps/v8/src/compiler/wasm-compiler.cc | 302 +- deps/v8/src/compiler/wasm-compiler.h | 11 +- deps/v8/src/compiler/wasm-gc-lowering.cc | 32 +- .../src/compiler/wasm-gc-operator-reducer.cc | 79 +- .../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 | 5 + deps/v8/src/compiler/wasm-inlining-into-js.cc | 23 +- deps/v8/src/compiler/wasm-inlining.cc | 13 +- deps/v8/src/compiler/wasm-load-elimination.cc | 72 +- 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 | 412 +- deps/v8/src/d8/d8.cc | 705 +-- 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 | 49 +- deps/v8/src/debug/debug-property-iterator.cc | 2 +- deps/v8/src/debug/debug-scopes.cc | 2 +- deps/v8/src/debug/debug-wasm-objects.cc | 10 +- deps/v8/src/debug/debug.cc | 194 +- 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 | 8 + .../deoptimizer/deoptimizer-cfi-builtins.cc | 2 +- deps/v8/src/deoptimizer/deoptimizer.cc | 92 +- deps/v8/src/deoptimizer/translated-state.cc | 83 +- deps/v8/src/deoptimizer/translated-state.h | 6 +- deps/v8/src/deoptimizer/translation-array.cc | 11 + deps/v8/src/deoptimizer/translation-array.h | 2 + deps/v8/src/deoptimizer/translation-opcode.h | 2 + deps/v8/src/diagnostics/disassembler.cc | 27 +- deps/v8/src/diagnostics/etw-jit-win.cc | 127 +- deps/v8/src/diagnostics/objects-debug.cc | 44 +- deps/v8/src/diagnostics/objects-printer.cc | 128 +- deps/v8/src/diagnostics/perf-jit.cc | 18 +- deps/v8/src/diagnostics/riscv/disasm-riscv.cc | 28 +- .../arm64/pointer-authentication-arm64.h | 28 +- .../v8/src/execution/arm64/simulator-arm64.cc | 35 +- deps/v8/src/execution/execution.cc | 8 +- deps/v8/src/execution/frame-constants.h | 1 + deps/v8/src/execution/frames.cc | 31 +- deps/v8/src/execution/frames.h | 7 + deps/v8/src/execution/isolate-data.h | 14 +- deps/v8/src/execution/isolate-utils-inl.h | 22 - deps/v8/src/execution/isolate.cc | 245 +- deps/v8/src/execution/isolate.h | 53 +- .../v8/src/execution/riscv/simulator-riscv.cc | 289 +- deps/v8/src/execution/simulator.h | 2 +- deps/v8/src/execution/thread-local-top.h | 2 + deps/v8/src/execution/tiering-manager.cc | 111 +- deps/v8/src/execution/tiering-manager.h | 12 +- .../src/extensions/cputracemark-extension.cc | 10 +- .../src/extensions/cputracemark-extension.h | 2 +- .../externalize-string-extension.cc | 35 +- .../extensions/externalize-string-extension.h | 4 +- deps/v8/src/extensions/gc-extension.cc | 21 +- deps/v8/src/extensions/gc-extension.h | 2 +- .../ignition-statistics-extension.cc | 7 +- .../ignition-statistics-extension.h | 2 +- .../v8/src/extensions/statistics-extension.cc | 28 +- 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 | 160 +- 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/persistent-handles.cc | 6 + deps/v8/src/handles/persistent-handles.h | 4 + deps/v8/src/handles/traced-handles.cc | 10 + deps/v8/src/heap/allocation-observer.cc | 1 - deps/v8/src/heap/basic-memory-chunk.cc | 23 +- deps/v8/src/heap/basic-memory-chunk.h | 124 +- 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 | 2 +- deps/v8/src/heap/concurrent-marking.cc | 155 +- .../v8/src/heap/conservative-stack-visitor.cc | 34 +- deps/v8/src/heap/cppgc-js/cpp-heap.cc | 49 +- .../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/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/evacuation-verifier.cc | 12 +- deps/v8/src/heap/evacuation-verifier.h | 8 +- deps/v8/src/heap/factory-base.cc | 31 +- deps/v8/src/heap/factory-base.h | 11 +- deps/v8/src/heap/factory-inl.h | 2 + deps/v8/src/heap/factory.cc | 429 +- deps/v8/src/heap/factory.h | 78 +- deps/v8/src/heap/free-list.cc | 10 +- deps/v8/src/heap/free-list.h | 8 +- deps/v8/src/heap/gc-tracer.cc | 101 +- deps/v8/src/heap/gc-tracer.h | 14 +- deps/v8/src/heap/heap-verifier.cc | 29 +- deps/v8/src/heap/heap-write-barrier-inl.h | 14 +- deps/v8/src/heap/heap-write-barrier.cc | 5 +- deps/v8/src/heap/heap-write-barrier.h | 5 +- deps/v8/src/heap/heap.cc | 225 +- deps/v8/src/heap/heap.h | 95 +- 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 | 28 +- deps/v8/src/heap/invalidated-slots-inl.h | 2 +- deps/v8/src/heap/large-spaces.cc | 8 +- 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/mark-compact-inl.h | 279 +- deps/v8/src/heap/mark-compact.cc | 593 ++- deps/v8/src/heap/mark-compact.h | 218 +- deps/v8/src/heap/marking-barrier-inl.h | 11 - deps/v8/src/heap/marking-barrier.cc | 18 +- deps/v8/src/heap/marking-barrier.h | 3 +- deps/v8/src/heap/marking-inl.h | 270 ++ 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 | 75 +- deps/v8/src/heap/marking-visitor.h | 78 +- deps/v8/src/heap/marking.cc | 52 +- deps/v8/src/heap/marking.h | 466 +- deps/v8/src/heap/memory-allocator.cc | 17 +- deps/v8/src/heap/memory-chunk-layout.cc | 5 +- deps/v8/src/heap/memory-chunk-layout.h | 21 +- deps/v8/src/heap/memory-chunk.cc | 49 +- deps/v8/src/heap/memory-chunk.h | 61 +- deps/v8/src/heap/new-spaces-inl.h | 23 +- deps/v8/src/heap/new-spaces.cc | 119 +- deps/v8/src/heap/new-spaces.h | 58 +- deps/v8/src/heap/object-stats.cc | 9 +- deps/v8/src/heap/objects-visiting-inl.h | 184 +- deps/v8/src/heap/objects-visiting.h | 101 +- deps/v8/src/heap/paged-spaces.cc | 30 +- deps/v8/src/heap/paged-spaces.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 | 57 +- deps/v8/src/heap/read-only-spaces.h | 6 +- deps/v8/src/heap/reference-summarizer.cc | 5 +- deps/v8/src/heap/remembered-set-inl.h | 18 +- deps/v8/src/heap/remembered-set.h | 4 +- deps/v8/src/heap/scavenger-inl.h | 41 +- deps/v8/src/heap/scavenger.cc | 58 +- deps/v8/src/heap/setup-heap-internal.cc | 28 +- deps/v8/src/heap/slot-set.h | 18 +- deps/v8/src/heap/spaces.cc | 20 +- deps/v8/src/heap/spaces.h | 6 +- deps/v8/src/heap/sweeper.cc | 310 +- deps/v8/src/heap/sweeper.h | 7 +- deps/v8/src/ic/ic.cc | 61 +- deps/v8/src/init/bootstrapper.cc | 227 +- deps/v8/src/init/heap-symbols.h | 5 +- .../src/inspector/v8-debugger-agent-impl.cc | 11 +- deps/v8/src/inspector/v8-runtime-agent-impl.h | 2 +- .../src/interpreter/bytecode-array-builder.cc | 11 + .../src/interpreter/bytecode-array-builder.h | 3 +- .../interpreter/bytecode-array-iterator.cc | 1 - .../bytecode-array-random-iterator.cc | 2 +- deps/v8/src/interpreter/bytecode-generator.cc | 381 +- deps/v8/src/interpreter/bytecode-generator.h | 17 + deps/v8/src/interpreter/bytecodes.h | 1 + .../src/interpreter/interpreter-assembler.cc | 104 +- .../src/interpreter/interpreter-assembler.h | 21 +- .../src/interpreter/interpreter-generator.cc | 24 +- deps/v8/src/interpreter/interpreter.cc | 4 +- deps/v8/src/json/json-parser.cc | 5 +- deps/v8/src/libplatform/default-platform.cc | 7 - deps/v8/src/libplatform/default-platform.h | 2 - .../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 | 70 +- 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 | 23 +- deps/v8/src/logging/runtime-call-stats.h | 1 + .../maglev/arm64/maglev-assembler-arm64-inl.h | 79 +- deps/v8/src/maglev/arm64/maglev-ir-arm64.cc | 388 +- deps/v8/src/maglev/maglev-assembler.cc | 60 + deps/v8/src/maglev/maglev-assembler.h | 30 +- deps/v8/src/maglev/maglev-basic-block.h | 19 +- deps/v8/src/maglev/maglev-code-generator.cc | 78 +- deps/v8/src/maglev/maglev-compilation-info.cc | 39 +- deps/v8/src/maglev/maglev-compilation-info.h | 12 +- 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 | 94 +- .../maglev/maglev-concurrent-dispatcher.cc | 10 +- .../src/maglev/maglev-concurrent-dispatcher.h | 2 +- deps/v8/src/maglev/maglev-graph-builder.cc | 2696 +++++++---- deps/v8/src/maglev/maglev-graph-builder.h | 439 +- deps/v8/src/maglev/maglev-graph-printer.cc | 30 +- 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 | 88 +- .../maglev/maglev-interpreter-frame-state.h | 82 +- deps/v8/src/maglev/maglev-ir-inl.h | 53 +- deps/v8/src/maglev/maglev-ir.cc | 648 ++- deps/v8/src/maglev/maglev-ir.h | 1014 ++-- .../maglev-phi-representation-selector.cc | 667 ++- .../maglev-phi-representation-selector.h | 85 +- deps/v8/src/maglev/maglev-regalloc.cc | 66 +- deps/v8/src/maglev/maglev-regalloc.h | 8 +- .../src/maglev/x64/maglev-assembler-x64-inl.h | 90 +- deps/v8/src/maglev/x64/maglev-ir-x64.cc | 353 +- 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/bytecode-array-inl.h | 182 + deps/v8/src/objects/bytecode-array.cc | 188 + deps/v8/src/objects/bytecode-array.h | 119 + .../objects/{code.tq => bytecode-array.tq} | 0 deps/v8/src/objects/call-site-info.cc | 20 +- deps/v8/src/objects/code-inl.h | 848 +--- deps/v8/src/objects/code.cc | 777 +-- deps/v8/src/objects/code.h | 782 +-- deps/v8/src/objects/contexts.h | 6 +- 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 | 53 +- deps/v8/src/objects/feedback-cell-inl.h | 8 +- deps/v8/src/objects/feedback-cell.h | 3 +- deps/v8/src/objects/feedback-vector.cc | 6 - deps/v8/src/objects/feedback-vector.h | 3 - deps/v8/src/objects/feedback-vector.tq | 7 +- deps/v8/src/objects/fixed-array.h | 2 +- deps/v8/src/objects/heap-object.h | 3 + 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 | 3 +- deps/v8/src/objects/js-function-inl.h | 5 +- deps/v8/src/objects/js-function.cc | 2 +- deps/v8/src/objects/js-function.h | 2 +- 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 | 28 +- deps/v8/src/objects/js-locale.h | 14 +- deps/v8/src/objects/js-objects-inl.h | 21 +- deps/v8/src/objects/js-objects.cc | 100 +- deps/v8/src/objects/js-objects.h | 23 +- deps/v8/src/objects/js-objects.tq | 2 +- deps/v8/src/objects/js-struct.cc | 19 + deps/v8/src/objects/js-struct.h | 7 + deps/v8/src/objects/keys.cc | 2 +- deps/v8/src/objects/lookup.cc | 76 +- deps/v8/src/objects/map-inl.h | 15 +- deps/v8/src/objects/map-updater.cc | 6 +- deps/v8/src/objects/map.cc | 36 +- deps/v8/src/objects/map.h | 8 +- deps/v8/src/objects/object-list-macros.h | 1 + .../objects/objects-body-descriptors-inl.h | 40 +- deps/v8/src/objects/objects-inl.h | 8 +- deps/v8/src/objects/objects.cc | 138 +- deps/v8/src/objects/objects.h | 2 + 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 | 3 +- deps/v8/src/objects/shared-function-info.h | 4 +- deps/v8/src/objects/string-inl.h | 13 - deps/v8/src/objects/string.cc | 29 +- deps/v8/src/objects/value-serializer.cc | 30 +- deps/v8/src/objects/value-serializer.h | 3 + deps/v8/src/objects/visitors.cc | 12 +- deps/v8/src/objects/visitors.h | 25 +- 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 | 9 +- deps/v8/src/profiler/cpu-profiler.cc | 4 +- deps/v8/src/profiler/heap-profiler.cc | 19 +- deps/v8/src/profiler/heap-profiler.h | 38 +- .../src/profiler/heap-snapshot-generator.cc | 129 +- .../v8/src/profiler/heap-snapshot-generator.h | 23 +- deps/v8/src/profiler/profiler-listener.cc | 2 +- .../v8/src/profiler/sampling-heap-profiler.cc | 8 +- deps/v8/src/profiler/strings-storage.cc | 5 +- deps/v8/src/profiler/tick-sample.h | 35 +- .../regexp/arm/regexp-macro-assembler-arm.cc | 14 +- .../ia32/regexp-macro-assembler-ia32.cc | 13 +- .../loong64/regexp-macro-assembler-loong64.cc | 14 +- .../mips64/regexp-macro-assembler-mips64.cc | 16 +- .../regexp/ppc/regexp-macro-assembler-ppc.cc | 2 +- deps/v8/src/regexp/regexp-macro-assembler.cc | 2 +- deps/v8/src/regexp/regexp-parser.cc | 8 + .../riscv/regexp-macro-assembler-riscv.cc | 16 +- .../s390/regexp-macro-assembler-s390.cc | 12 +- .../regexp/x64/regexp-macro-assembler-x64.cc | 12 +- deps/v8/src/roots/roots.h | 3 +- deps/v8/src/roots/static-roots.h | 1052 ++-- deps/v8/src/runtime/runtime-atomics.cc | 48 +- deps/v8/src/runtime/runtime-compiler.cc | 53 +- deps/v8/src/runtime/runtime-debug.cc | 64 +- deps/v8/src/runtime/runtime-object.cc | 25 +- deps/v8/src/runtime/runtime-regexp.cc | 9 +- deps/v8/src/runtime/runtime-scopes.cc | 2 +- deps/v8/src/runtime/runtime-test-wasm.cc | 20 +- deps/v8/src/runtime/runtime-test.cc | 31 +- deps/v8/src/runtime/runtime-wasm.cc | 129 +- deps/v8/src/runtime/runtime.h | 124 +- deps/v8/src/sandbox/testing.cc | 47 +- deps/v8/src/snapshot/code-serializer.cc | 148 +- deps/v8/src/snapshot/code-serializer.h | 4 +- deps/v8/src/snapshot/context-serializer.cc | 13 +- deps/v8/src/snapshot/context-serializer.h | 2 +- deps/v8/src/snapshot/deserializer.cc | 65 +- .../src/snapshot/embedded/embedded-data-inl.h | 141 +- .../v8/src/snapshot/embedded/embedded-data.cc | 47 +- deps/v8/src/snapshot/embedded/embedded-data.h | 147 +- .../snapshot/embedded/embedded-file-writer.cc | 8 +- .../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 | 8 +- .../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/roots-serializer.cc | 2 +- .../src/snapshot/serializer-deserializer.cc | 29 +- .../v8/src/snapshot/serializer-deserializer.h | 16 +- deps/v8/src/snapshot/serializer.cc | 118 +- deps/v8/src/snapshot/serializer.h | 31 +- .../v8/src/snapshot/shared-heap-serializer.cc | 8 +- deps/v8/src/snapshot/shared-heap-serializer.h | 2 +- deps/v8/src/snapshot/snapshot.cc | 42 +- deps/v8/src/snapshot/startup-deserializer.cc | 3 +- deps/v8/src/snapshot/startup-serializer.cc | 9 +- deps/v8/src/snapshot/startup-serializer.h | 2 +- deps/v8/src/snapshot/static-roots-gen.cc | 1 + deps/v8/src/torque/csa-generator.cc | 19 +- deps/v8/src/torque/implementation-visitor.cc | 14 +- 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/memcopy.cc | 6 +- .../wasm/baseline/arm/liftoff-assembler-arm.h | 36 +- .../baseline/arm64/liftoff-assembler-arm64.h | 22 +- deps/v8/src/wasm/baseline/liftoff-assembler.h | 9 - deps/v8/src/wasm/baseline/liftoff-compiler.cc | 199 +- .../wasm/baseline/ppc/liftoff-assembler-ppc.h | 4 +- .../riscv/liftoff-assembler-riscv64.h | 6 +- .../baseline/s390/liftoff-assembler-s390.h | 4 +- deps/v8/src/wasm/c-api.cc | 9 +- deps/v8/src/wasm/compilation-environment.h | 12 + deps/v8/src/wasm/decoder.h | 1 + deps/v8/src/wasm/function-body-decoder-impl.h | 904 ++-- deps/v8/src/wasm/function-body-decoder.cc | 11 - deps/v8/src/wasm/function-body-decoder.h | 23 +- deps/v8/src/wasm/function-compiler.cc | 18 +- deps/v8/src/wasm/graph-builder-interface.cc | 93 +- deps/v8/src/wasm/module-compiler.cc | 169 +- deps/v8/src/wasm/module-decoder-impl.h | 122 +- deps/v8/src/wasm/module-decoder.cc | 11 +- deps/v8/src/wasm/module-decoder.h | 2 +- deps/v8/src/wasm/module-instantiate.cc | 88 +- deps/v8/src/wasm/names-provider.cc | 5 + deps/v8/src/wasm/pgo.cc | 35 +- deps/v8/src/wasm/pgo.h | 2 +- deps/v8/src/wasm/streaming-decoder.cc | 2 +- deps/v8/src/wasm/streaming-decoder.h | 3 +- deps/v8/src/wasm/value-type.h | 12 +- deps/v8/src/wasm/wasm-code-manager.cc | 14 +- deps/v8/src/wasm/wasm-code-manager.h | 17 +- deps/v8/src/wasm/wasm-constants.h | 4 + deps/v8/src/wasm/wasm-debug.cc | 4 +- deps/v8/src/wasm/wasm-disassembler-impl.h | 3 + deps/v8/src/wasm/wasm-disassembler.cc | 69 +- deps/v8/src/wasm/wasm-engine.cc | 39 +- 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 | 513 +- deps/v8/src/wasm/wasm-limits.h | 6 +- deps/v8/src/wasm/wasm-module.cc | 16 +- deps/v8/src/wasm/wasm-objects-inl.h | 28 +- deps/v8/src/wasm/wasm-objects.cc | 209 +- deps/v8/src/wasm/wasm-objects.h | 52 +- deps/v8/src/wasm/wasm-objects.tq | 15 +- deps/v8/src/wasm/wasm-opcodes.h | 5 +- deps/v8/src/wasm/wasm-serialization.cc | 2 +- deps/v8/src/wasm/well-known-imports.cc | 2 + deps/v8/src/wasm/well-known-imports.h | 1 + deps/v8/src/zone/zone-compact-set.h | 362 ++ deps/v8/src/zone/zone-handle-set.h | 248 - deps/v8/test/benchmarks/benchmarks.status | 18 + .../benchmarks/cpp/cppgc/allocation_perf.cc | 10 +- deps/v8/test/cctest/BUILD.gn | 1 - deps/v8/test/cctest/cctest.cc | 20 +- deps/v8/test/cctest/cctest.h | 15 +- deps/v8/test/cctest/cctest.status | 45 - 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-calls-with-arraylike-or-spread.cc | 13 +- .../cctest/compiler/test-code-generator.cc | 2 +- .../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 +- .../compiler/test-representation-change.cc | 13 +- .../test/cctest/compiler/test-run-machops.cc | 60 +- .../test/cctest/compiler/test-verify-type.cc | 2 + deps/v8/test/cctest/heap/heap-utils.cc | 14 +- .../cctest/heap/test-array-buffer-tracker.cc | 7 + deps/v8/test/cctest/heap/test-compaction.cc | 39 +- .../cctest/heap/test-concurrent-allocation.cc | 9 +- deps/v8/test/cctest/heap/test-heap.cc | 44 +- deps/v8/test/cctest/heap/test-mark-compact.cc | 5 +- deps/v8/test/cctest/heap/test-spaces.cc | 1 - .../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-api-array-buffer.cc | 2 - deps/v8/test/cctest/test-api-stack-traces.cc | 82 +- deps/v8/test/cctest/test-api-typed-array.cc | 10 - deps/v8/test/cctest/test-api.cc | 278 +- 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 | 12 +- 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 | 459 +- .../test/cctest/test-code-stub-assembler.cc | 4 +- deps/v8/test/cctest/test-cpu-profiler.cc | 42 +- deps/v8/test/cctest/test-debug.cc | 75 +- .../test/cctest/test-disasm-regex-helper.cc | 4 +- deps/v8/test/cctest/test-heap-profiler.cc | 15 +- deps/v8/test/cctest/test-js-to-wasm.cc | 12 +- deps/v8/test/cctest/test-lockers.cc | 10 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 16 +- deps/v8/test/cctest/test-sampler-api.cc | 3 +- deps/v8/test/cctest/test-serialize.cc | 25 +- deps/v8/test/cctest/test-shared-strings.cc | 142 +- .../test/cctest/test-sync-primitives-arm64.cc | 4 +- .../test/cctest/test-unwinder-code-pages.cc | 19 +- 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 +- deps/v8/test/cctest/wasm/test-gc.cc | 65 +- .../test/cctest/wasm/test-run-wasm-asmjs.cc | 84 +- .../cctest/wasm/test-run-wasm-exceptions.cc | 262 +- .../cctest/wasm/test-run-wasm-interpreter.cc | 558 --- .../cctest/wasm/test-run-wasm-memory64.cc | 9 - .../cctest/wasm/test-run-wasm-relaxed-simd.cc | 4 - .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 34 - .../cctest/wasm/test-run-wasm-wrappers.cc | 8 +- deps/v8/test/cctest/wasm/test-run-wasm.cc | 96 +- .../cctest/wasm/test-wasm-serialization.cc | 3 + deps/v8/test/cctest/wasm/test-wasm-stack.cc | 1 + deps/v8/test/cctest/wasm/wasm-run-utils.cc | 36 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 56 +- 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 | 32 +- .../v8/test/common/wasm/wasm-module-runner.cc | 109 - deps/v8/test/common/wasm/wasm-module-runner.h | 55 +- deps/v8/test/debugger/debugger.status | 5 - deps/v8/test/debugger/regress/regress-6085.js | 9 +- deps/v8/test/debugger/test-api.js | 3 +- deps/v8/test/fuzzer/inspector-fuzzer.cc | 254 +- deps/v8/test/fuzzer/multi-return.cc | 4 +- deps/v8/test/fuzzer/wasm-fuzzer-common.cc | 3 +- 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 + .../sampling-heap-profiler-flags-expected.txt | 2 +- .../sampling-heap-profiler-flags.js | 7 +- deps/v8/test/inspector/inspector-test.cc | 352 +- deps/v8/test/inspector/inspector.status | 3 + deps/v8/test/inspector/isolate-data.cc | 2 +- .../regress-crbug-1431197-expected.txt | 59 + .../regress/regress-crbug-1431197.js | 14 + .../runtime/get-properties-expected.txt | 6 + .../runtime/length-or-size-description.js | 2 - .../runtime/remote-object-expected.txt | 10 + ...gger-stepping-and-breakpoints-expected.txt | 12 +- deps/v8/test/inspector/tasks.h | 16 +- ...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-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/memory/Memory.json | 8 + .../v8/test/message/wasm-recognize-imports.js | 88 +- .../test/message/wasm-recognize-imports.out | 8 +- .../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 + .../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/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 +- .../test/mjsunit/harmony/iterator-helpers.js | 561 ++- .../harmony/regress/regress-crbug-1372500.js | 2 +- .../test/mjsunit/harmony/sharedarraybuffer.js | 2 +- .../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 +- .../test/mjsunit/interrupt-budget-override.js | 2 +- .../maglev/branch-if-xxx-to-boolean-true.js | 174 + deps/v8/test/mjsunit/maglev/literals.js | 2 + .../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 + .../test/mjsunit/maglev/regress-4349817-1.js | 2 +- .../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 | 31 +- 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/regress-1115354.js | 2 +- .../test/mjsunit/regress/regress-1425616.js | 14 + .../test/mjsunit/regress/regress-1428034.js | 21 + .../test/mjsunit/regress/regress-1430326.js | 16 + .../regress/regress-chromium-1194026.js | 2 - .../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-467047.js | 17 - .../mjsunit/regress/regress-crbug-501809.js | 1 - .../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-1430858.js | 46 + .../mjsunit/regress/wasm/regress-694433.js | 8 +- 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 + .../shared-object-has-instance.js | 112 + .../shared-memory/shared-struct-atomics.js | 7 +- .../shared-memory/shared-struct-surface.js | 17 + .../mjsunit/store-load-elision-aliasing.js | 28 + 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/futex.js | 2 +- .../v8/test/mjsunit/wasm/gc-casts-from-any.js | 385 ++ 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/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/module-memory.js | 6 +- .../v8/test/mjsunit/wasm/recognize-imports.js | 24 + .../test/mjsunit/wasm/speculative-inlining.js | 6 +- deps/v8/test/mjsunit/wasm/stack-switching.js | 49 + .../mjsunit/wasm/streaming-error-position.js | 80 +- deps/v8/test/mjsunit/wasm/type-casts-tests.js | 34 + deps/v8/test/mjsunit/wasm/wasm-gc-inlining.js | 7 +- .../mjsunit/wasm/wasm-gc-source-location.js | 74 + .../test/mjsunit/wasm/wasm-module-builder.js | 32 +- deps/v8/test/test262/test262.status | 74 +- deps/v8/test/test262/testcfg.py | 26 +- deps/v8/test/torque/test-torque.tq | 14 + deps/v8/test/unittests/BUILD.gn | 6 +- .../test/unittests/api/api-wasm-unittest.cc | 48 +- .../test/unittests/api/exception-unittest.cc | 30 +- .../api/resource-constraints-unittest.cc | 31 +- .../test/unittests/api/v8-script-unittest.cc | 212 + .../assembler/assembler-x64-unittest.cc | 214 +- .../assembler/disasm-ia32-unittest.cc | 4 +- .../assembler/disasm-x64-unittest.cc | 4 +- .../assembler/macro-assembler-x64-unittest.cc | 136 +- .../base/platform/platform-unittest.cc | 7 +- .../unittests/codegen/code-layout-unittest.cc | 13 +- .../unittests/codegen/code-pages-unittest.cc | 4 +- .../codegen/pointer-auth-arm64-unittest.cc | 79 - .../instruction-selector-arm64-unittest.cc | 26 + .../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 +- .../run-bytecode-graph-builder-unittest.cc | 5 - .../unittests/compiler/run-deopt-unittest.cc | 7 +- .../compiler/run-tail-calls-unittest.cc | 1 - .../turboshaft/snapshot-table-unittest.cc | 56 + .../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 +- .../deoptimizer/deoptimization-unittest.cc | 21 +- .../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 | 211 +- .../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 +- .../heap/cppgc/source-location-unittest.cc | 4 +- .../test/unittests/heap/gc-tracer-unittest.cc | 6 - deps/v8/test/unittests/heap/heap-unittest.cc | 92 +- deps/v8/test/unittests/heap/heap-utils.cc | 1 + deps/v8/test/unittests/heap/heap-utils.h | 7 +- ...rking-inner-pointer-resolution-unittest.cc | 341 +- .../test/unittests/heap/marking-unittest.cc | 51 +- .../unittests/heap/page-promotion-unittest.cc | 9 +- .../unittests/heap/progressbar-unittest.cc | 8 - .../bytecode-array-builder-unittest.cc | 7 +- .../bytecode-generator-unittest.cc | 134 + .../AsyncGenerators.golden | 1 - .../ElideRedundantHoleChecks.golden | 1029 ++++ .../bytecode_expectations/ForAwaitOf.golden | 1 - .../PrivateAccessorAccess.golden | 8 +- .../PrivateMethodAccess.golden | 4 +- .../StaticPrivateMethodAccess.golden | 30 +- .../constant-array-builder-unittest.cc | 11 - .../generate-bytecode-expectations.cc | 28 +- .../interpreter/interpreter-unittest.cc | 1 - .../unittests/libplatform/tracing-unittest.cc | 21 +- .../v8/test/unittests/logging/log-unittest.cc | 10 +- .../unittests/objects/managed-unittest.cc | 8 +- .../objects/value-serializer-unittest.cc | 85 +- .../unittests/objects/weaksets-unittest.cc | 9 + .../test/unittests/parser/parsing-unittest.cc | 8 +- .../parser/scanner-streams-unittest.cc | 10 +- deps/v8/test/unittests/test-utils.h | 9 +- .../test/unittests/torque/torque-unittest.cc | 35 + .../unittests/utils/identity-map-unittest.cc | 80 - .../wasm/control-transfer-unittest.cc | 526 -- .../wasm/function-body-decoder-unittest.cc | 107 +- .../unittests/wasm/module-decoder-unittest.cc | 2 + .../wasm/streaming-decoder-unittest.cc | 3 +- .../wasm/trap-handler-x64-arm64-unittest.cc | 4 +- .../wasm-disassembler-unittest-gc.wasm.inc | 2 + ...m-disassembler-unittest-stringref.wasm.inc | 29 + ...sm-disassembler-unittest-stringref.wat.inc | 10 + .../wasm/wasm-disassembler-unittest.cc | 9 + .../zone/zone-compact-set-unittest.cc | 250 + deps/v8/test/wasm-js/tests.tar.gz.sha1 | 2 +- .../v8/test/wasm-spec-tests/tests.tar.gz.sha1 | 2 +- .../wasm-spec-tests/wasm-spec-tests.status | 43 + 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 ++ .../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 +- .../clusterfuzz/foozzie/v8_fuzz_flags.json | 4 +- deps/v8/tools/clusterfuzz/foozzie/v8_mock.js | 3 + .../trials/clusterfuzz_trials_config.json | 5 +- deps/v8/tools/dev/gen-static-roots.py | 4 +- deps/v8/tools/dev/gm.py | 4 + deps/v8/tools/dev/update-compile-commands.py | 4 +- deps/v8/tools/gdbinit | 49 +- 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/git_recipes.py | 2 +- deps/v8/tools/release/test_scripts.py | 12 +- deps/v8/tools/run_perf.py | 4 +- deps/v8/tools/testrunner/base_runner.py | 2 + deps/v8/tools/testrunner/build_config.py | 1 + deps/v8/tools/testrunner/local/variants.py | 5 +- deps/v8/tools/testrunner/outproc/message.py | 17 +- .../testroot1/out/build/v8_build_config.json | 5 +- .../testroot2/out/build/v8_build_config.json | 5 +- .../testroot3/out/build/v8_build_config.json | 5 +- .../out.gn/build/v8_build_config.json | 5 +- .../testroot6/out/build/v8_build_config.json | 5 +- deps/v8/tools/testrunner/testproc/fuzzer.py | 18 +- .../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/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/v8_presubmit.py | 5 +- deps/v8/tools/v8heapconst.py | 332 +- deps/v8/tools/wasm/module-inspector.cc | 19 +- deps/v8/tools/wasm/update-wasm-spec-tests.sh | 2 +- deps/v8/tools/whitespace.txt | 2 - 1123 files changed, 43499 insertions(+), 27611 deletions(-) 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/codegen/reloc-info-inl.h create mode 100644 deps/v8/src/compiler/turboshaft/fast-api-call-reducer.h create mode 100644 deps/v8/src/compiler/turboshaft/structural-optimization-reducer.h delete mode 100644 deps/v8/src/heap/cppgc/source-location.cc create mode 100644 deps/v8/src/heap/marking-inl.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} (100%) 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/instruction-stream-inl.h create mode 100644 deps/v8/src/objects/instruction-stream.cc create mode 100644 deps/v8/src/objects/instruction-stream.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/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/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 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/regress-1427932.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-exceptions.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-crbug-1426299.js create mode 100644 deps/v8/test/mjsunit/maglev/branch-if-xxx-to-boolean-true.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/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/regress-1425616.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1428034.js create mode 100644 deps/v8/test/mjsunit/regress/regress-1430326.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 delete mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-467047.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-1430858.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/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 delete mode 100644 deps/v8/test/unittests/codegen/pointer-auth-arm64-unittest.cc create mode 100644 deps/v8/test/unittests/execution/pointer-auth-arm64-unittest.cc 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 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..14febd2f8c5f0a 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -243,6 +243,7 @@ Seo Sanghyeon Shawn Anastasio Shawn Presser Stefan Penner +Stefan Stojanovic Stephan Hartmann Stephen Belanger Sylvestre Ledru diff --git a/deps/v8/BUILD.bazel b/deps/v8/BUILD.bazel index 81a9286d2670de..83cb5a4d6b6fd1 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", @@ -628,8 +627,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 +638,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 +669,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 +691,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 +724,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"], @@ -783,6 +787,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 +804,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 +816,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 +823,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 +868,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 +897,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 +922,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 +943,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 +955,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", @@ -1023,8 +1027,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 +1093,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 +1128,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 +1174,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 +1215,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 +1285,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 +1306,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 +1343,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 +1394,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 +1411,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 +1436,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 +1472,33 @@ 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/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 +1506,114 @@ 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/invalidated-slots-inl.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 +1650,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 +1666,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 +1834,151 @@ 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/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 +1989,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 +2041,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 +2072,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 +2084,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 +2122,19 @@ 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/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 +2144,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 +2158,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 +2205,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 +2228,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 +2238,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 +2248,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 +2296,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 +2323,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 +2349,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 +2474,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 +2507,17 @@ 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/trap-handler/trap-handler-internal.h", "src/wasm/assembler-buffer-cache.cc", "src/wasm/assembler-buffer-cache.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 +2586,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", @@ -2875,11 +2895,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,16 +2916,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-escape-analysis-reducer.h", "src/compiler/turboshaft/late-optimization-phase.cc", "src/compiler/turboshaft/late-optimization-phase.h", "src/compiler/turboshaft/layered-hash-map.h", @@ -2915,9 +2936,9 @@ 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", @@ -2937,21 +2958,22 @@ filegroup( "src/compiler/turboshaft/simplify-tf-loops.cc", "src/compiler/turboshaft/simplify-tf-loops.h", "src/compiler/turboshaft/snapshot-table.h", + "src/compiler/turboshaft/structural-optimization-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-phase.cc", "src/compiler/turboshaft/tag-untag-lowering-phase.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", @@ -3037,15 +3059,11 @@ filegroup( "src/compiler/int64-lowering.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 +3074,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 +3101,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 +3158,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 +3210,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 +3267,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 +3353,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", ], ) @@ -3549,7 +3570,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 +3588,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 +3620,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 +3877,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 +3899,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 +3964,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 +3994,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..5cda664fdde178 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. # @@ -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,8 +651,8 @@ 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") @@ -805,6 +820,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 +863,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 @@ -943,9 +962,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 +1145,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 +1407,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 +1672,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 +1900,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", @@ -2199,6 +2242,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 +2262,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 @@ -2380,6 +2430,7 @@ action("v8_dump_build_config") { "v8_enable_conservative_stack_scanning=" + "$v8_enable_conservative_stack_scanning", "v8_enable_debug_code=$v8_enable_debug_code", + "v8_enable_direct_local=$v8_enable_direct_local", "v8_enable_disassembler=$v8_enable_disassembler", "v8_enable_gdbjit=$v8_enable_gdbjit", "v8_enable_i18n_support=$v8_enable_i18n_support", @@ -2658,6 +2709,7 @@ v8_header_set("v8_config_headers") { sources = [ "include/v8-platform.h", + "include/v8-source-location.h", "include/v8config.h", ] @@ -2693,6 +2745,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 +2946,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", @@ -3048,6 +3102,7 @@ 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", @@ -3074,6 +3129,7 @@ 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/structural-optimization-reducer.h", "src/compiler/turboshaft/tag-untag-lowering-phase.h", "src/compiler/turboshaft/tag-untag-lowering-reducer.h", "src/compiler/turboshaft/tracing.h", @@ -3247,6 +3303,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", @@ -3700,9 +3757,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", @@ -4012,9 +4069,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" ] } @@ -4837,19 +4895,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", @@ -5112,7 +5175,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 +5300,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", @@ -5971,14 +6033,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 +6306,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", @@ -7038,8 +7092,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/DEPS b/deps/v8/DEPS index 05b32b571c84e2..3d3277f7ab96db 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -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.101.0.6210d0d-gomaip', # GN CIPD package version. - 'gn_version': 'git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4', + 'gn_version': 'git_revision:5a004f9427a050c6c393c07ddb85cba8ff3849fa', # 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:e91834850a06011c64eb9a24f317371194bde3de', # 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.20230423.3.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' + '@' + '61c4b1021222ae2951ebc26b6d6e27a240f38174', 'buildtools': - Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '0a6c69640f1841d9109eac70a25af310d4c1d8c7', + Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '539a6f68735c631f57ae33096e9e7fc059e049cf', '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' + '@' + 'bff81b702ff4b7f74b1c0ed02a4bcf6c2744a90b', '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' + '@' + '307bd163607c315d46103ebe1d68aab44bf93986', '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' + '@' + '2795322d57001de8125cfdf18cef804acff69e35', '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' + '@' + 'f0c7b47622f453f133c1749170065ce5296bc1fa', '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' + '@' + '1aa5adbafbaf89278ef54e8f9fff97aee3e013ba', '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' + '@' + 'b5cec8c8674bbf180cb47a6705cd5f4545fb11a0', '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' + '@' + 'd8daa943f64cd5dd2a55e9baf2e655ab4bfa5ae9', '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' + '@' + '55676aed71dd450595d83f107d24cb31c00160b3', 'tools/luci-go': { 'packages': [ { diff --git a/deps/v8/bazel/defs.bzl b/deps/v8/bazel/defs.bzl index d4ff96887e7ca7..9024b1e14f6f03 100644 --- a/deps/v8/bazel/defs.bzl +++ b/deps/v8/bazel/defs.bzl @@ -612,6 +612,7 @@ def build_config_content(cpu, icu): ("v8_enable_atomic_object_field_writes", "false"), ("v8_enable_conservative_stack_scanning", "false"), ("v8_enable_concurrent_marking", "false"), + ("v8_enable_direct_local", "false"), ("v8_enable_i18n_support", icu), ("v8_enable_verify_predictable", "false"), ("v8_enable_verify_csa", "false"), diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index d38f376b94ae4c..ad25daa86c4869 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 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/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/js_protocol.pdl b/deps/v8/include/js_protocol.pdl index 6285d9b6f24f63..e75805325b9e19 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 @@ -1283,7 +1284,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 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..e65e79523e5efd 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; @@ -45,6 +47,8 @@ class V8_EXPORT EmbedderRootsHandler { * Note that the |handle| is different from the handle that the embedder holds * for retaining the object. It is up to the embedder to find the original * handle via the object or class id. + * + * The concrete implementations must be thread-safe. */ virtual void ResetRoot(const v8::TracedReference& handle) = 0; }; 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