From b0d4dab50ccede2fff1c01451ac497edcaa8246d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Thu, 1 Aug 2019 08:38:30 +0200 Subject: [PATCH 01/20] deps: update V8 to 7.6.303.28 --- deps/v8/.git-blame-ignore-revs | 3 + deps/v8/.gitignore | 1 - deps/v8/.gn | 5 - deps/v8/.vpython | 8 + deps/v8/AUTHORS | 9 +- deps/v8/BUILD.gn | 1283 +- deps/v8/COMMON_OWNERS | 38 + deps/v8/ChangeLog | 1520 ++ deps/v8/DEPS | 32 +- deps/v8/ENG_REVIEW_OWNERS | 9 + deps/v8/INFRA_OWNERS | 3 + .../{src/builtins/mips/OWNERS => MIPS_OWNERS} | 0 deps/v8/OWNERS | 67 +- .../{src/builtins/ppc/OWNERS => PPC_OWNERS} | 0 deps/v8/PRESUBMIT.py | 2 + .../{src/builtins/s390/OWNERS => S390_OWNERS} | 0 .../trace_event/common/trace_event_common.h | 4 +- deps/v8/benchmarks/micro/slice-perf.js | 83 - deps/v8/build_overrides/OWNERS | 1 + deps/v8/custom_deps/OWNERS | 3 +- deps/v8/docs/OWNERS | 2 + deps/v8/gni/OWNERS | 1 + deps/v8/gni/proto_library.gni | 14 +- deps/v8/{ => gni}/snapshot_toolchain.gni | 0 deps/v8/gni/v8.gni | 4 + deps/v8/include/libplatform/v8-tracing.h | 18 + deps/v8/include/v8-inspector.h | 7 +- deps/v8/include/v8-internal.h | 43 +- deps/v8/include/v8-platform.h | 1 - deps/v8/include/v8-profiler.h | 77 +- deps/v8/include/v8-util.h | 18 - deps/v8/include/v8-version.h | 6 +- deps/v8/include/v8.h | 274 +- deps/v8/infra/OWNERS | 5 +- deps/v8/infra/mb/gn_isolate_map.pyl | 4 + deps/v8/infra/mb/mb_config.pyl | 20 + deps/v8/infra/testing/OWNERS | 4 +- deps/v8/infra/testing/builders.pyl | 310 +- deps/v8/samples/OWNERS | 2 + deps/v8/src/DEPS | 1 + deps/v8/src/{ => api}/api-arguments-inl.h | 17 +- deps/v8/src/{ => api}/api-arguments.cc | 12 +- deps/v8/src/{ => api}/api-arguments.h | 20 +- deps/v8/src/{ => api}/api-inl.h | 18 +- deps/v8/src/{ => api}/api-natives.cc | 124 +- deps/v8/src/{ => api}/api-natives.h | 14 +- deps/v8/src/{ => api}/api.cc | 1588 +- deps/v8/src/{ => api}/api.h | 42 +- deps/v8/src/arm64/cpu-arm64.cc | 120 - deps/v8/src/asmjs/asm-js.cc | 62 +- deps/v8/src/asmjs/asm-js.h | 2 +- deps/v8/src/asmjs/asm-parser.cc | 4 +- deps/v8/src/asmjs/asm-parser.h | 2 +- deps/v8/src/asmjs/asm-scanner.cc | 8 +- deps/v8/src/asmjs/asm-scanner.h | 4 +- deps/v8/src/asmjs/asm-types.cc | 4 +- deps/v8/src/asmjs/asm-types.h | 4 +- deps/v8/src/assembler-arch.h | 30 - deps/v8/src/assembler-inl.h | 30 - .../ast/ast-function-literal-id-reindexer.cc | 72 +- .../ast/ast-function-literal-id-reindexer.h | 16 + deps/v8/src/ast/ast-source-ranges.h | 25 + deps/v8/src/ast/ast-value-factory.cc | 55 +- deps/v8/src/ast/ast-value-factory.h | 14 +- deps/v8/src/ast/ast.cc | 27 +- deps/v8/src/ast/ast.h | 38 +- deps/v8/src/ast/modules.cc | 4 +- deps/v8/src/ast/modules.h | 12 +- deps/v8/src/ast/prettyprinter.cc | 47 +- deps/v8/src/ast/prettyprinter.h | 4 +- deps/v8/src/ast/scopes.cc | 81 +- deps/v8/src/ast/scopes.h | 21 +- deps/v8/src/ast/variables.cc | 4 +- deps/v8/src/ast/variables.h | 4 +- deps/v8/src/base/OWNERS | 1 + deps/v8/src/base/compiler-specific.h | 6 +- deps/v8/src/base/flags.h | 2 + deps/v8/src/base/format-macros.h | 97 - deps/v8/src/base/logging.cc | 20 + deps/v8/src/base/logging.h | 40 +- deps/v8/src/base/macros.h | 1 - deps/v8/src/base/platform/platform-fuchsia.cc | 7 +- deps/v8/src/base/platform/platform-linux.cc | 18 +- deps/v8/src/base/platform/platform-posix.cc | 5 - deps/v8/src/base/platform/platform-win32.cc | 5 - deps/v8/src/base/platform/platform.h | 1 - deps/v8/src/base/small-vector.h | 6 + deps/v8/src/{ => base}/type-traits.h | 6 +- deps/v8/src/{ => builtins}/accessors.cc | 97 +- deps/v8/src/{ => builtins}/accessors.h | 18 +- deps/v8/src/builtins/arguments.tq | 1 + deps/v8/src/builtins/arm/builtins-arm.cc | 107 +- deps/v8/src/builtins/arm64/builtins-arm64.cc | 100 +- deps/v8/src/builtins/array-join.tq | 26 +- deps/v8/src/builtins/array-reverse.tq | 2 +- deps/v8/src/builtins/array-slice.tq | 8 +- deps/v8/src/builtins/base.tq | 703 +- deps/v8/src/builtins/boolean.tq | 42 + deps/v8/src/builtins/builtins-api.cc | 58 +- .../v8/src/builtins/builtins-arguments-gen.cc | 29 +- deps/v8/src/builtins/builtins-arguments-gen.h | 14 +- deps/v8/src/builtins/builtins-array-gen.cc | 105 +- deps/v8/src/builtins/builtins-array-gen.h | 13 +- deps/v8/src/builtins/builtins-array.cc | 126 +- deps/v8/src/builtins/builtins-arraybuffer.cc | 20 +- .../builtins/builtins-async-function-gen.cc | 4 +- deps/v8/src/builtins/builtins-async-gen.cc | 10 +- .../builtins/builtins-async-generator-gen.cc | 10 +- .../builtins/builtins-async-iterator-gen.cc | 13 +- deps/v8/src/builtins/builtins-bigint-gen.cc | 2 +- deps/v8/src/builtins/builtins-bigint.cc | 10 +- deps/v8/src/builtins/builtins-boolean-gen.cc | 2 +- deps/v8/src/builtins/builtins-boolean.cc | 39 - deps/v8/src/builtins/builtins-call-gen.cc | 18 +- deps/v8/src/builtins/builtins-call-gen.h | 2 +- deps/v8/src/builtins/builtins-call.cc | 6 +- deps/v8/src/builtins/builtins-callsite.cc | 4 +- .../src/builtins/builtins-collections-gen.cc | 33 +- .../src/builtins/builtins-collections-gen.h | 2 +- deps/v8/src/builtins/builtins-collections.cc | 4 +- deps/v8/src/builtins/builtins-console-gen.cc | 6 +- deps/v8/src/builtins/builtins-console.cc | 16 +- .../src/builtins/builtins-constructor-gen.cc | 17 +- .../src/builtins/builtins-constructor-gen.h | 2 +- deps/v8/src/builtins/builtins-constructor.h | 4 +- .../src/builtins/builtins-conversion-gen.cc | 16 +- deps/v8/src/builtins/builtins-data-view-gen.h | 4 +- deps/v8/src/builtins/builtins-dataview.cc | 10 +- deps/v8/src/builtins/builtins-date-gen.cc | 2 +- deps/v8/src/builtins/builtins-date.cc | 80 +- deps/v8/src/builtins/builtins-debug-gen.cc | 2 +- deps/v8/src/builtins/builtins-definitions.h | 131 +- deps/v8/src/builtins/builtins-descriptors.h | 12 +- deps/v8/src/builtins/builtins-error.cc | 12 +- deps/v8/src/builtins/builtins-extras-utils.cc | 10 +- deps/v8/src/builtins/builtins-function-gen.cc | 4 +- deps/v8/src/builtins/builtins-function.cc | 22 +- .../v8/src/builtins/builtins-generator-gen.cc | 8 +- deps/v8/src/builtins/builtins-global-gen.cc | 2 +- deps/v8/src/builtins/builtins-global.cc | 10 +- deps/v8/src/builtins/builtins-handler-gen.cc | 49 +- deps/v8/src/builtins/builtins-internal-gen.cc | 153 +- deps/v8/src/builtins/builtins-internal.cc | 6 +- .../src/builtins/builtins-interpreter-gen.cc | 4 +- deps/v8/src/builtins/builtins-intl-gen.cc | 6 +- deps/v8/src/builtins/builtins-intl.cc | 27 +- deps/v8/src/builtins/builtins-iterator-gen.cc | 12 +- deps/v8/src/builtins/builtins-iterator-gen.h | 11 +- deps/v8/src/builtins/builtins-json.cc | 14 +- deps/v8/src/builtins/builtins-lazy-gen.cc | 6 +- deps/v8/src/builtins/builtins-lazy-gen.h | 4 +- deps/v8/src/builtins/builtins-math-gen.cc | 255 +- deps/v8/src/builtins/builtins-math-gen.h | 5 +- deps/v8/src/builtins/builtins-math.cc | 4 +- .../builtins/builtins-microtask-queue-gen.cc | 6 +- deps/v8/src/builtins/builtins-number-gen.cc | 2 +- deps/v8/src/builtins/builtins-number.cc | 8 +- deps/v8/src/builtins/builtins-object-gen.cc | 74 +- deps/v8/src/builtins/builtins-object-gen.h | 2 +- deps/v8/src/builtins/builtins-object.cc | 14 +- deps/v8/src/builtins/builtins-promise-gen.cc | 117 +- deps/v8/src/builtins/builtins-promise-gen.h | 30 +- deps/v8/src/builtins/builtins-promise.cc | 4 +- deps/v8/src/builtins/builtins-promise.h | 2 +- deps/v8/src/builtins/builtins-proxy-gen.cc | 289 +- deps/v8/src/builtins/builtins-proxy-gen.h | 26 +- deps/v8/src/builtins/builtins-reflect-gen.cc | 2 +- deps/v8/src/builtins/builtins-reflect.cc | 10 +- deps/v8/src/builtins/builtins-regexp-gen.cc | 323 +- deps/v8/src/builtins/builtins-regexp-gen.h | 14 +- deps/v8/src/builtins/builtins-regexp.cc | 6 +- .../builtins-sharedarraybuffer-gen.cc | 163 +- .../builtins/builtins-sharedarraybuffer.cc | 19 +- deps/v8/src/builtins/builtins-string-gen.cc | 429 +- deps/v8/src/builtins/builtins-string-gen.h | 32 +- deps/v8/src/builtins/builtins-string.cc | 30 +- deps/v8/src/builtins/builtins-symbol-gen.cc | 2 +- deps/v8/src/builtins/builtins-symbol.cc | 8 +- deps/v8/src/builtins/builtins-trace.cc | 8 +- .../src/builtins/builtins-typed-array-gen.cc | 180 +- .../src/builtins/builtins-typed-array-gen.h | 15 +- deps/v8/src/builtins/builtins-typed-array.cc | 22 +- deps/v8/src/builtins/builtins-utils-gen.h | 2 +- deps/v8/src/builtins/builtins-utils-inl.h | 2 +- deps/v8/src/builtins/builtins-utils.h | 54 +- deps/v8/src/builtins/builtins-wasm-gen.cc | 12 +- deps/v8/src/builtins/builtins-weak-refs.cc | 16 +- deps/v8/src/builtins/builtins.cc | 148 +- deps/v8/src/builtins/builtins.h | 38 +- deps/v8/src/builtins/collections.tq | 5 +- .../src/builtins/constants-table-builder.cc | 14 +- .../v8/src/builtins/constants-table-builder.h | 8 +- deps/v8/src/builtins/data-view.tq | 1 - deps/v8/src/builtins/frames.tq | 1 + .../src/builtins/growable-fixed-array-gen.h | 2 +- deps/v8/src/builtins/ia32/builtins-ia32.cc | 81 +- deps/v8/src/builtins/internal-coverage.tq | 64 + deps/v8/src/builtins/math.tq | 238 + deps/v8/src/builtins/mips/builtins-mips.cc | 60 +- deps/v8/src/builtins/mips64/OWNERS | 1 - .../v8/src/builtins/mips64/builtins-mips64.cc | 60 +- deps/v8/src/builtins/object-fromentries.tq | 4 +- deps/v8/src/builtins/ppc/builtins-ppc.cc | 92 +- deps/v8/src/builtins/proxy-get-property.tq | 63 + deps/v8/src/builtins/proxy-has-property.tq | 55 + deps/v8/src/builtins/proxy-revoke.tq | 3 +- deps/v8/src/builtins/proxy-set-property.tq | 84 + deps/v8/src/builtins/proxy.tq | 23 + deps/v8/src/builtins/regexp-replace.tq | 120 +- deps/v8/src/builtins/s390/builtins-s390.cc | 91 +- .../src/builtins/setup-builtins-internal.cc | 118 +- deps/v8/src/builtins/string-iterator.tq | 46 + deps/v8/src/builtins/string-slice.tq | 35 + deps/v8/src/builtins/string-substring.tq | 50 + deps/v8/src/builtins/string.tq | 136 + .../builtins/typed-array-createtypedarray.tq | 51 +- deps/v8/src/builtins/typed-array-every.tq | 4 +- deps/v8/src/builtins/typed-array-filter.tq | 5 +- deps/v8/src/builtins/typed-array-find.tq | 4 +- deps/v8/src/builtins/typed-array-findindex.tq | 4 +- deps/v8/src/builtins/typed-array-foreach.tq | 4 +- deps/v8/src/builtins/typed-array-reduce.tq | 4 +- .../src/builtins/typed-array-reduceright.tq | 4 +- deps/v8/src/builtins/typed-array-some.tq | 4 +- deps/v8/src/builtins/typed-array.tq | 122 +- deps/v8/src/builtins/x64/builtins-x64.cc | 84 +- deps/v8/src/codegen/OWNERS | 13 + .../src/{ => codegen}/arm/assembler-arm-inl.h | 108 +- .../v8/src/{ => codegen}/arm/assembler-arm.cc | 852 +- deps/v8/src/{ => codegen}/arm/assembler-arm.h | 424 +- .../v8/src/{ => codegen}/arm/constants-arm.cc | 36 +- deps/v8/src/{ => codegen}/arm/constants-arm.h | 233 +- deps/v8/src/{ => codegen}/arm/cpu-arm.cc | 37 +- .../arm/interface-descriptors-arm.cc | 5 +- .../{ => codegen}/arm/macro-assembler-arm.cc | 285 +- .../{ => codegen}/arm/macro-assembler-arm.h | 105 +- deps/v8/src/{ => codegen}/arm/register-arm.h | 20 +- .../{ => codegen}/arm64/assembler-arm64-inl.h | 232 +- .../{ => codegen}/arm64/assembler-arm64.cc | 606 +- .../src/{ => codegen}/arm64/assembler-arm64.h | 312 +- .../src/{ => codegen}/arm64/constants-arm64.h | 807 +- deps/v8/src/codegen/arm64/cpu-arm64.cc | 116 + .../{ => codegen}/arm64/decoder-arm64-inl.h | 117 +- .../src/{ => codegen}/arm64/decoder-arm64.cc | 14 +- .../src/{ => codegen}/arm64/decoder-arm64.h | 28 +- .../arm64/instructions-arm64-constants.cc | 0 .../{ => codegen}/arm64/instructions-arm64.cc | 36 +- .../{ => codegen}/arm64/instructions-arm64.h | 90 +- .../{ => codegen}/arm64/instrument-arm64.cc | 156 +- .../{ => codegen}/arm64/instrument-arm64.h | 33 +- .../arm64/interface-descriptors-arm64.cc | 5 +- .../arm64/macro-assembler-arm64-inl.h | 266 +- .../arm64/macro-assembler-arm64.cc | 541 +- .../arm64/macro-assembler-arm64.h | 303 +- .../src/{ => codegen}/arm64/register-arm64.cc | 2 +- .../src/{ => codegen}/arm64/register-arm64.h | 25 +- .../v8/src/{ => codegen}/arm64/utils-arm64.cc | 8 +- deps/v8/src/{ => codegen}/arm64/utils-arm64.h | 17 +- deps/v8/src/codegen/assembler-arch.h | 30 + deps/v8/src/codegen/assembler-inl.h | 30 + deps/v8/src/{ => codegen}/assembler.cc | 74 +- deps/v8/src/{ => codegen}/assembler.h | 69 +- deps/v8/src/{ => codegen}/bailout-reason.cc | 2 +- deps/v8/src/{ => codegen}/bailout-reason.h | 7 +- deps/v8/src/{ => codegen}/callable.h | 10 +- deps/v8/src/{ => codegen}/code-comments.cc | 4 +- deps/v8/src/{ => codegen}/code-comments.h | 6 +- deps/v8/src/{ => codegen}/code-desc.cc | 4 +- deps/v8/src/{ => codegen}/code-desc.h | 8 +- deps/v8/src/{ => codegen}/code-factory.cc | 36 +- deps/v8/src/{ => codegen}/code-factory.h | 16 +- deps/v8/src/{ => codegen}/code-reference.cc | 18 +- deps/v8/src/{ => codegen}/code-reference.h | 8 +- .../src/{ => codegen}/code-stub-assembler.cc | 1184 +- .../src/{ => codegen}/code-stub-assembler.h | 239 +- .../v8/src/{ => codegen}/compilation-cache.cc | 50 +- deps/v8/src/{ => codegen}/compilation-cache.h | 31 +- deps/v8/src/{ => codegen}/compiler.cc | 113 +- deps/v8/src/{ => codegen}/compiler.h | 20 +- deps/v8/src/{ => codegen}/constant-pool.cc | 4 +- deps/v8/src/{ => codegen}/constant-pool.h | 14 +- deps/v8/src/codegen/constants-arch.h | 28 + deps/v8/src/{ => codegen}/cpu-features.h | 9 +- .../{ => codegen}/external-reference-table.cc | 8 +- .../{ => codegen}/external-reference-table.h | 12 +- .../src/{ => codegen}/external-reference.cc | 42 +- .../v8/src/{ => codegen}/external-reference.h | 14 +- .../{ => codegen}/flush-instruction-cache.cc | 6 +- .../{ => codegen}/flush-instruction-cache.h | 6 +- deps/v8/src/{ => codegen}/handler-table.cc | 40 +- deps/v8/src/{ => codegen}/handler-table.h | 18 +- .../{ => codegen}/ia32/assembler-ia32-inl.h | 56 +- .../src/{ => codegen}/ia32/assembler-ia32.cc | 179 +- .../src/{ => codegen}/ia32/assembler-ia32.h | 109 +- .../src/{ => codegen}/ia32/constants-ia32.h | 8 +- deps/v8/src/{ => codegen}/ia32/cpu-ia32.cc | 2 +- .../ia32/interface-descriptors-ia32.cc | 4 +- .../ia32/macro-assembler-ia32.cc | 95 +- .../{ => codegen}/ia32/macro-assembler-ia32.h | 56 +- .../v8/src/{ => codegen}/ia32/register-ia32.h | 16 +- deps/v8/src/{ => codegen}/ia32/sse-instr.h | 6 +- .../{ => codegen}/interface-descriptors.cc | 5 +- .../src/{ => codegen}/interface-descriptors.h | 23 +- deps/v8/src/{ => codegen}/label.h | 6 +- deps/v8/src/{ => codegen}/machine-type.cc | 5 +- deps/v8/src/{ => codegen}/machine-type.h | 88 +- deps/v8/src/codegen/macro-assembler-inl.h | 15 + deps/v8/src/{ => codegen}/macro-assembler.h | 49 +- .../{ => codegen}/mips/assembler-mips-inl.h | 52 +- .../src/{ => codegen}/mips/assembler-mips.cc | 640 +- .../src/{ => codegen}/mips/assembler-mips.h | 100 +- .../src/{ => codegen}/mips/constants-mips.cc | 35 +- .../src/{ => codegen}/mips/constants-mips.h | 142 +- deps/v8/src/{ => codegen}/mips/cpu-mips.cc | 11 +- .../mips/interface-descriptors-mips.cc | 25 +- .../mips/macro-assembler-mips.cc | 206 +- .../{ => codegen}/mips/macro-assembler-mips.h | 127 +- .../v8/src/{ => codegen}/mips/register-mips.h | 18 +- .../mips64/assembler-mips64-inl.h | 53 +- .../{ => codegen}/mips64/assembler-mips64.cc | 700 +- .../{ => codegen}/mips64/assembler-mips64.h | 100 +- .../{ => codegen}/mips64/constants-mips64.cc | 35 +- .../{ => codegen}/mips64/constants-mips64.h | 120 +- .../v8/src/{ => codegen}/mips64/cpu-mips64.cc | 11 +- .../mips64/interface-descriptors-mips64.cc | 13 +- .../mips64/macro-assembler-mips64.cc | 220 +- .../mips64/macro-assembler-mips64.h | 114 +- .../{ => codegen}/mips64/register-mips64.h | 18 +- .../optimized-compilation-info.cc | 23 +- .../optimized-compilation-info.h | 24 +- .../src/{ => codegen}/ppc/assembler-ppc-inl.h | 72 +- .../v8/src/{ => codegen}/ppc/assembler-ppc.cc | 245 +- deps/v8/src/{ => codegen}/ppc/assembler-ppc.h | 88 +- .../src/{ => codegen}/ppc/code-stubs-ppc.cc | 20 +- .../v8/src/{ => codegen}/ppc/constants-ppc.cc | 6 +- deps/v8/src/{ => codegen}/ppc/constants-ppc.h | 4513 +++-- deps/v8/src/{ => codegen}/ppc/cpu-ppc.cc | 10 +- .../ppc/interface-descriptors-ppc.cc | 6 +- .../{ => codegen}/ppc/macro-assembler-ppc.cc | 133 +- .../{ => codegen}/ppc/macro-assembler-ppc.h | 40 +- deps/v8/src/{ => codegen}/ppc/register-ppc.h | 19 +- deps/v8/src/codegen/register-arch.h | 31 + .../{ => codegen}/register-configuration.cc | 16 +- .../{ => codegen}/register-configuration.h | 14 +- deps/v8/src/{ => codegen}/register.h | 8 +- deps/v8/src/{ => codegen}/reglist.h | 10 +- deps/v8/src/{ => codegen}/reloc-info.cc | 73 +- deps/v8/src/{ => codegen}/reloc-info.h | 48 +- .../{ => codegen}/s390/assembler-s390-inl.h | 48 +- .../src/{ => codegen}/s390/assembler-s390.cc | 37 +- .../src/{ => codegen}/s390/assembler-s390.h | 950 +- .../src/{ => codegen}/s390/code-stubs-s390.cc | 18 +- .../src/{ => codegen}/s390/constants-s390.cc | 2 +- .../src/{ => codegen}/s390/constants-s390.h | 81 +- deps/v8/src/{ => codegen}/s390/cpu-s390.cc | 2 +- .../s390/interface-descriptors-s390.cc | 4 +- .../s390/macro-assembler-s390.cc | 152 +- .../{ => codegen}/s390/macro-assembler-s390.h | 59 +- .../v8/src/{ => codegen}/s390/register-s390.h | 14 +- deps/v8/src/{ => codegen}/safepoint-table.cc | 108 +- deps/v8/src/{ => codegen}/safepoint-table.h | 91 +- deps/v8/src/{ => codegen}/signature.h | 10 +- .../{ => codegen}/source-position-table.cc | 12 +- .../src/{ => codegen}/source-position-table.h | 14 +- deps/v8/src/{ => codegen}/source-position.cc | 34 +- deps/v8/src/{ => codegen}/source-position.h | 24 +- deps/v8/src/{ => codegen}/string-constants.cc | 6 +- deps/v8/src/{ => codegen}/string-constants.h | 8 +- deps/v8/src/{ => codegen}/turbo-assembler.cc | 6 +- deps/v8/src/{ => codegen}/turbo-assembler.h | 22 +- .../unoptimized-compilation-info.cc | 8 +- .../unoptimized-compilation-info.h | 18 +- .../src/{ => codegen}/x64/assembler-x64-inl.h | 108 +- .../v8/src/{ => codegen}/x64/assembler-x64.cc | 293 +- deps/v8/src/{ => codegen}/x64/assembler-x64.h | 131 +- deps/v8/src/{ => codegen}/x64/constants-x64.h | 8 +- deps/v8/src/{ => codegen}/x64/cpu-x64.cc | 2 +- .../x64/interface-descriptors-x64.cc | 6 +- .../{ => codegen}/x64/macro-assembler-x64.cc | 240 +- .../{ => codegen}/x64/macro-assembler-x64.h | 94 +- deps/v8/src/{ => codegen}/x64/register-x64.h | 16 +- deps/v8/src/{ => codegen}/x64/sse-instr.h | 6 +- deps/v8/src/{ => common}/assert-scope.cc | 11 +- deps/v8/src/{ => common}/assert-scope.h | 120 +- deps/v8/src/{ => common}/checks.h | 10 +- deps/v8/src/{ => common}/globals.h | 204 +- deps/v8/src/{ => common}/ptr-compr-inl.h | 75 +- deps/v8/src/{ => common}/ptr-compr.h | 8 +- deps/v8/src/{ => common}/v8memory.h | 28 +- .../compiler-dispatcher.cc | 14 +- .../compiler-dispatcher/compiler-dispatcher.h | 12 +- .../optimizing-compile-dispatcher.cc | 18 +- .../optimizing-compile-dispatcher.h | 6 +- deps/v8/src/compiler/access-builder.cc | 509 +- deps/v8/src/compiler/access-builder.h | 25 +- deps/v8/src/compiler/access-info.cc | 469 +- deps/v8/src/compiler/access-info.h | 147 +- .../backend/arm/code-generator-arm.cc | 112 +- .../backend/arm/instruction-selector-arm.cc | 10 +- .../backend/arm/unwinding-info-writer-arm.h | 4 +- .../backend/arm64/code-generator-arm64.cc | 128 +- .../backend/arm64/instruction-codes-arm64.h | 2 + .../arm64/instruction-scheduler-arm64.cc | 2 + .../arm64/instruction-selector-arm64.cc | 162 +- .../arm64/unwinding-info-writer-arm64.h | 4 +- .../compiler/backend/code-generator-impl.h | 2 +- .../v8/src/compiler/backend/code-generator.cc | 56 +- deps/v8/src/compiler/backend/code-generator.h | 10 +- deps/v8/src/compiler/backend/gap-resolver.cc | 2 +- .../backend/ia32/code-generator-ia32.cc | 78 +- .../backend/ia32/instruction-selector-ia32.cc | 2 - .../src/compiler/backend/instruction-codes.h | 4 +- .../compiler/backend/instruction-scheduler.cc | 2 +- .../backend/instruction-selector-impl.h | 4 +- .../compiler/backend/instruction-selector.cc | 25 +- .../compiler/backend/instruction-selector.h | 5 +- deps/v8/src/compiler/backend/instruction.cc | 5 +- deps/v8/src/compiler/backend/instruction.h | 10 +- deps/v8/src/compiler/backend/mips/OWNERS | 1 - .../backend/mips/code-generator-mips.cc | 16 +- .../backend/mips/instruction-selector-mips.cc | 7 - deps/v8/src/compiler/backend/mips64/OWNERS | 1 - .../backend/mips64/code-generator-mips64.cc | 14 +- .../mips64/instruction-scheduler-mips64.cc | 2 +- .../mips64/instruction-selector-mips64.cc | 13 +- .../v8/src/compiler/backend/move-optimizer.cc | 2 +- deps/v8/src/compiler/backend/move-optimizer.h | 2 +- .../backend/ppc/code-generator-ppc.cc | 19 +- .../backend/ppc/instruction-selector-ppc.cc | 3 +- .../backend/register-allocator-verifier.cc | 4 +- .../compiler/backend/register-allocator.cc | 7 +- .../src/compiler/backend/register-allocator.h | 8 +- deps/v8/src/compiler/backend/s390/OWNERS | 4 - .../backend/s390/code-generator-s390.cc | 16 +- .../backend/s390/instruction-selector-s390.cc | 2 +- .../compiler/backend/unwinding-info-writer.h | 2 +- .../backend/x64/code-generator-x64.cc | 86 +- .../backend/x64/instruction-selector-x64.cc | 57 +- .../backend/x64/unwinding-info-writer-x64.h | 4 +- .../src/compiler/basic-block-instrumentor.cc | 4 +- .../src/compiler/basic-block-instrumentor.h | 4 +- deps/v8/src/compiler/branch-elimination.h | 2 +- deps/v8/src/compiler/bytecode-analysis.cc | 10 +- deps/v8/src/compiler/bytecode-analysis.h | 21 +- .../v8/src/compiler/bytecode-graph-builder.cc | 703 +- deps/v8/src/compiler/bytecode-graph-builder.h | 455 +- deps/v8/src/compiler/bytecode-liveness-map.h | 2 +- deps/v8/src/compiler/c-linkage.cc | 6 +- deps/v8/src/compiler/checkpoint-elimination.h | 2 +- deps/v8/src/compiler/code-assembler.cc | 140 +- deps/v8/src/compiler/code-assembler.h | 85 +- deps/v8/src/compiler/common-node-cache.cc | 2 +- .../src/compiler/common-operator-reducer.cc | 14 + .../v8/src/compiler/common-operator-reducer.h | 3 +- deps/v8/src/compiler/common-operator.cc | 5 +- deps/v8/src/compiler/common-operator.h | 13 +- .../src/compiler/compilation-dependencies.cc | 134 +- .../src/compiler/compilation-dependencies.h | 22 +- .../compiler/compiler-source-position-table.h | 4 +- .../src/compiler/constant-folding-reducer.cc | 2 +- deps/v8/src/compiler/control-equivalence.h | 2 +- deps/v8/src/compiler/control-flow-optimizer.h | 2 +- deps/v8/src/compiler/dead-code-elimination.cc | 31 +- deps/v8/src/compiler/dead-code-elimination.h | 5 +- .../src/compiler/decompression-elimination.cc | 219 + .../src/compiler/decompression-elimination.h | 78 + .../src/compiler/effect-control-linearizer.cc | 501 +- .../src/compiler/effect-control-linearizer.h | 250 +- .../src/compiler/escape-analysis-reducer.cc | 7 +- .../v8/src/compiler/escape-analysis-reducer.h | 3 +- deps/v8/src/compiler/escape-analysis.cc | 5 +- deps/v8/src/compiler/escape-analysis.h | 2 +- deps/v8/src/compiler/frame-states.cc | 17 +- deps/v8/src/compiler/frame-states.h | 8 +- deps/v8/src/compiler/frame.h | 4 +- deps/v8/src/compiler/graph-assembler.cc | 85 +- deps/v8/src/compiler/graph-assembler.h | 12 +- deps/v8/src/compiler/graph-reducer.h | 2 +- deps/v8/src/compiler/graph-trimmer.h | 2 +- deps/v8/src/compiler/graph-visualizer.cc | 46 +- deps/v8/src/compiler/graph-visualizer.h | 4 +- deps/v8/src/compiler/graph.h | 2 +- deps/v8/src/compiler/int64-lowering.h | 2 +- deps/v8/src/compiler/js-call-reducer.cc | 1429 +- deps/v8/src/compiler/js-call-reducer.h | 8 +- .../src/compiler/js-context-specialization.cc | 2 +- .../src/compiler/js-context-specialization.h | 2 +- deps/v8/src/compiler/js-create-lowering.cc | 42 +- deps/v8/src/compiler/js-create-lowering.h | 2 +- deps/v8/src/compiler/js-generic-lowering.cc | 4 +- deps/v8/src/compiler/js-generic-lowering.h | 2 +- deps/v8/src/compiler/js-graph.cc | 4 +- deps/v8/src/compiler/js-graph.h | 4 +- deps/v8/src/compiler/js-heap-broker.cc | 311 +- deps/v8/src/compiler/js-heap-broker.h | 113 +- deps/v8/src/compiler/js-heap-copy-reducer.cc | 2 +- deps/v8/src/compiler/js-inlining-heuristic.cc | 27 +- deps/v8/src/compiler/js-inlining-heuristic.h | 5 +- deps/v8/src/compiler/js-inlining.cc | 229 +- deps/v8/src/compiler/js-inlining.h | 9 +- deps/v8/src/compiler/js-intrinsic-lowering.cc | 53 +- deps/v8/src/compiler/js-intrinsic-lowering.h | 13 +- .../js-native-context-specialization.cc | 648 +- .../js-native-context-specialization.h | 19 +- deps/v8/src/compiler/js-operator.cc | 6 +- deps/v8/src/compiler/js-operator.h | 10 +- deps/v8/src/compiler/js-type-hint-lowering.cc | 9 +- deps/v8/src/compiler/js-type-hint-lowering.h | 4 +- deps/v8/src/compiler/js-typed-lowering.cc | 22 +- deps/v8/src/compiler/js-typed-lowering.h | 2 +- deps/v8/src/compiler/linkage.cc | 15 +- deps/v8/src/compiler/linkage.h | 16 +- deps/v8/src/compiler/load-elimination.cc | 236 +- deps/v8/src/compiler/load-elimination.h | 89 +- deps/v8/src/compiler/loop-analysis.h | 2 +- deps/v8/src/compiler/loop-peeling.h | 2 +- .../v8/src/compiler/machine-graph-verifier.cc | 118 +- deps/v8/src/compiler/machine-graph.cc | 2 +- deps/v8/src/compiler/machine-graph.h | 2 +- .../src/compiler/machine-operator-reducer.cc | 22 +- .../src/compiler/machine-operator-reducer.h | 2 +- deps/v8/src/compiler/machine-operator.cc | 9 + deps/v8/src/compiler/machine-operator.h | 10 +- deps/v8/src/compiler/map-inference.cc | 149 + deps/v8/src/compiler/map-inference.h | 108 + deps/v8/src/compiler/memory-optimizer.cc | 242 +- deps/v8/src/compiler/memory-optimizer.h | 9 +- deps/v8/src/compiler/node-cache.cc | 2 +- deps/v8/src/compiler/node-matchers.h | 15 +- deps/v8/src/compiler/node-origin-table.h | 4 +- deps/v8/src/compiler/node-properties.cc | 55 +- deps/v8/src/compiler/node-properties.h | 11 +- deps/v8/src/compiler/node.cc | 2 - deps/v8/src/compiler/node.h | 2 +- deps/v8/src/compiler/opcodes.h | 25 +- deps/v8/src/compiler/operation-typer.cc | 15 +- deps/v8/src/compiler/operation-typer.h | 3 +- deps/v8/src/compiler/operator-properties.h | 2 +- deps/v8/src/compiler/operator.h | 4 +- deps/v8/src/compiler/osr.cc | 6 +- .../src/compiler/per-isolate-compiler-cache.h | 2 +- deps/v8/src/compiler/pipeline-statistics.cc | 5 +- deps/v8/src/compiler/pipeline-statistics.h | 2 +- deps/v8/src/compiler/pipeline.cc | 155 +- deps/v8/src/compiler/pipeline.h | 12 +- .../src/compiler/property-access-builder.cc | 173 +- .../v8/src/compiler/property-access-builder.h | 22 +- deps/v8/src/compiler/raw-machine-assembler.cc | 13 +- deps/v8/src/compiler/raw-machine-assembler.h | 180 +- deps/v8/src/compiler/refs-map.h | 2 +- deps/v8/src/compiler/representation-change.cc | 99 +- deps/v8/src/compiler/representation-change.h | 2 + deps/v8/src/compiler/schedule.cc | 2 +- deps/v8/src/compiler/schedule.h | 2 +- deps/v8/src/compiler/scheduler.cc | 3 +- deps/v8/src/compiler/scheduler.h | 2 +- .../serializer-for-background-compilation.cc | 360 +- .../serializer-for-background-compilation.h | 47 +- deps/v8/src/compiler/simplified-lowering.cc | 96 +- .../compiler/simplified-operator-reducer.cc | 2 +- .../compiler/simplified-operator-reducer.h | 2 +- deps/v8/src/compiler/simplified-operator.cc | 108 +- deps/v8/src/compiler/simplified-operator.h | 84 +- deps/v8/src/compiler/state-values-utils.cc | 2 +- deps/v8/src/compiler/state-values-utils.h | 2 +- deps/v8/src/compiler/type-cache.h | 9 +- deps/v8/src/compiler/typed-optimization.cc | 33 +- deps/v8/src/compiler/typed-optimization.h | 2 +- deps/v8/src/compiler/typer.cc | 54 +- deps/v8/src/compiler/typer.h | 2 +- deps/v8/src/compiler/types.cc | 15 +- deps/v8/src/compiler/types.h | 10 +- .../v8/src/compiler/value-numbering-reducer.h | 2 +- .../v8/src/{ => compiler}/vector-slot-pair.cc | 4 +- deps/v8/src/{ => compiler}/vector-slot-pair.h | 12 +- deps/v8/src/compiler/verifier.cc | 16 +- deps/v8/src/compiler/verifier.h | 2 +- deps/v8/src/compiler/wasm-compiler.cc | 670 +- deps/v8/src/compiler/wasm-compiler.h | 86 +- deps/v8/src/compiler/write-barrier-kind.h | 52 + deps/v8/src/compiler/zone-stats.h | 2 +- deps/v8/src/constants-arch.h | 28 - deps/v8/src/d8/OWNERS | 5 + deps/v8/src/{ => d8}/async-hooks-wrapper.cc | 6 +- deps/v8/src/{ => d8}/async-hooks-wrapper.h | 10 +- deps/v8/src/{ => d8}/d8-console.cc | 6 +- deps/v8/src/{ => d8}/d8-console.h | 6 +- deps/v8/src/{ => d8}/d8-js.cc | 2 +- deps/v8/src/{ => d8}/d8-platforms.cc | 2 +- deps/v8/src/{ => d8}/d8-platforms.h | 6 +- deps/v8/src/{ => d8}/d8-posix.cc | 113 +- deps/v8/src/{ => d8}/d8-windows.cc | 4 +- deps/v8/src/{ => d8}/d8.cc | 185 +- deps/v8/src/{ => d8}/d8.h | 127 +- deps/v8/src/date/OWNERS | 3 + deps/v8/src/{ => date}/date.cc | 60 +- deps/v8/src/{ => date}/date.h | 15 +- deps/v8/src/{ => date}/dateparser-inl.h | 48 +- deps/v8/src/{ => date}/dateparser.cc | 100 +- deps/v8/src/{ => date}/dateparser.h | 61 +- deps/v8/src/debug/arm/debug-arm.cc | 8 +- deps/v8/src/debug/arm64/debug-arm64.cc | 8 +- deps/v8/src/debug/debug-coverage.cc | 204 +- deps/v8/src/debug/debug-coverage.h | 9 +- deps/v8/src/debug/debug-evaluate.cc | 42 +- deps/v8/src/debug/debug-evaluate.h | 2 +- deps/v8/src/debug/debug-frames.cc | 16 +- deps/v8/src/debug/debug-frames.h | 10 +- deps/v8/src/debug/debug-interface.h | 15 +- deps/v8/src/debug/debug-property-iterator.cc | 17 +- deps/v8/src/debug/debug-property-iterator.h | 6 +- deps/v8/src/debug/debug-scope-iterator.cc | 6 +- deps/v8/src/debug/debug-scope-iterator.h | 2 +- deps/v8/src/debug/debug-scopes.cc | 80 +- deps/v8/src/debug/debug-scopes.h | 2 +- .../src/debug/debug-stack-trace-iterator.cc | 13 +- .../v8/src/debug/debug-stack-trace-iterator.h | 2 +- deps/v8/src/debug/debug-type-profile.cc | 33 +- deps/v8/src/debug/debug-type-profile.h | 4 +- deps/v8/src/debug/debug.cc | 180 +- deps/v8/src/debug/debug.h | 14 +- deps/v8/src/debug/ia32/debug-ia32.cc | 4 +- deps/v8/src/debug/interface-types.h | 2 +- deps/v8/src/debug/liveedit.cc | 105 +- deps/v8/src/debug/liveedit.h | 4 +- deps/v8/src/debug/mips/OWNERS | 1 - deps/v8/src/debug/mips/debug-mips.cc | 4 +- deps/v8/src/debug/mips64/OWNERS | 1 - deps/v8/src/debug/mips64/debug-mips64.cc | 4 +- deps/v8/src/debug/ppc/debug-ppc.cc | 4 +- deps/v8/src/debug/s390/OWNERS | 4 - deps/v8/src/debug/s390/debug-s390.cc | 6 +- deps/v8/src/debug/x64/debug-x64.cc | 8 +- deps/v8/src/deoptimizer/OWNERS | 5 + .../{ => deoptimizer}/arm/deoptimizer-arm.cc | 24 +- .../arm64/deoptimizer-arm64.cc | 32 +- .../{ => deoptimizer}/deoptimize-reason.cc | 2 +- .../src/{ => deoptimizer}/deoptimize-reason.h | 8 +- deps/v8/src/{ => deoptimizer}/deoptimizer.cc | 454 +- deps/v8/src/{ => deoptimizer}/deoptimizer.h | 70 +- .../ia32/deoptimizer-ia32.cc | 21 +- .../mips/deoptimizer-mips.cc | 17 +- .../mips64/deoptimizer-mips64.cc | 15 +- .../{ => deoptimizer}/ppc/deoptimizer-ppc.cc | 13 +- .../s390/deoptimizer-s390.cc | 8 +- .../{ => deoptimizer}/x64/deoptimizer-x64.cc | 25 +- deps/v8/src/diagnostics/OWNERS | 1 + .../src/{ => diagnostics}/arm/disasm-arm.cc | 225 +- .../src/{ => diagnostics}/arm/eh-frame-arm.cc | 2 +- .../{ => diagnostics}/arm64/disasm-arm64.cc | 949 +- .../{ => diagnostics}/arm64/disasm-arm64.h | 28 +- .../{ => diagnostics}/arm64/eh-frame-arm64.cc | 4 +- .../{ => diagnostics}/basic-block-profiler.cc | 12 +- .../{ => diagnostics}/basic-block-profiler.h | 10 +- deps/v8/src/{ => diagnostics}/code-tracer.h | 20 +- .../compilation-statistics.cc | 35 +- .../compilation-statistics.h | 14 +- deps/v8/src/{ => diagnostics}/disasm.h | 10 +- deps/v8/src/{ => diagnostics}/disassembler.cc | 82 +- deps/v8/src/{ => diagnostics}/disassembler.h | 10 +- deps/v8/src/{ => diagnostics}/eh-frame.cc | 14 +- deps/v8/src/{ => diagnostics}/eh-frame.h | 12 +- deps/v8/src/{ => diagnostics}/gdb-jit.cc | 443 +- deps/v8/src/{ => diagnostics}/gdb-jit.h | 6 +- .../src/{ => diagnostics}/ia32/disasm-ia32.cc | 1125 +- .../src/{ => diagnostics}/mips/disasm-mips.cc | 138 +- .../{ => diagnostics}/mips64/disasm-mips64.cc | 121 +- .../v8/src/{ => diagnostics}/objects-debug.cc | 1413 +- .../src/{ => diagnostics}/objects-printer.cc | 660 +- deps/v8/src/{ => diagnostics}/perf-jit.cc | 88 +- deps/v8/src/{ => diagnostics}/perf-jit.h | 8 +- .../src/{ => diagnostics}/ppc/disasm-ppc.cc | 52 +- .../src/{ => diagnostics}/s390/disasm-s390.cc | 308 +- deps/v8/src/{ => diagnostics}/unwinder.cc | 7 +- .../{ => diagnostics}/unwinding-info-win64.cc | 102 +- .../{ => diagnostics}/unwinding-info-win64.h | 8 +- .../src/{ => diagnostics}/x64/disasm-x64.cc | 667 +- .../src/{ => diagnostics}/x64/eh-frame-x64.cc | 2 +- deps/v8/src/execution/OWNERS | 10 + deps/v8/src/{ => execution}/arguments-inl.h | 14 +- deps/v8/src/{ => execution}/arguments.cc | 2 +- deps/v8/src/{ => execution}/arguments.h | 19 +- .../arm/frame-constants-arm.cc | 8 +- .../{ => execution}/arm/frame-constants-arm.h | 8 +- .../src/{ => execution}/arm/simulator-arm.cc | 484 +- .../src/{ => execution}/arm/simulator-arm.h | 161 +- .../arm64/frame-constants-arm64.cc | 10 +- .../arm64/frame-constants-arm64.h | 10 +- .../{ => execution}/arm64/simulator-arm64.cc | 968 +- .../{ => execution}/arm64/simulator-arm64.h | 127 +- .../arm64/simulator-logic-arm64.cc | 2 +- deps/v8/src/{ => execution}/execution.cc | 55 +- deps/v8/src/{ => execution}/execution.h | 36 +- deps/v8/src/{ => execution}/frame-constants.h | 37 +- deps/v8/src/{ => execution}/frames-inl.h | 25 +- deps/v8/src/{ => execution}/frames.cc | 465 +- deps/v8/src/{ => execution}/frames.h | 77 +- .../v8/src/{ => execution}/futex-emulation.cc | 18 +- deps/v8/src/{ => execution}/futex-emulation.h | 11 +- .../ia32/frame-constants-ia32.cc | 10 +- .../ia32/frame-constants-ia32.h | 8 +- deps/v8/src/{ => execution}/isolate-data.h | 16 +- deps/v8/src/{ => execution}/isolate-inl.h | 82 +- deps/v8/src/{ => execution}/isolate.cc | 503 +- deps/v8/src/{ => execution}/isolate.h | 188 +- .../v8/src/{ => execution}/message-template.h | 23 +- deps/v8/src/{ => execution}/messages.cc | 161 +- deps/v8/src/{ => execution}/messages.h | 23 +- .../v8/src/{ => execution}/microtask-queue.cc | 12 +- deps/v8/src/{ => execution}/microtask-queue.h | 6 +- .../mips/frame-constants-mips.cc | 10 +- .../mips/frame-constants-mips.h | 8 +- .../{ => execution}/mips/simulator-mips.cc | 567 +- .../src/{ => execution}/mips/simulator-mips.h | 103 +- .../mips64/frame-constants-mips64.cc | 10 +- .../mips64/frame-constants-mips64.h | 8 +- .../mips64/simulator-mips64.cc | 428 +- .../{ => execution}/mips64/simulator-mips64.h | 102 +- .../ppc/frame-constants-ppc.cc | 9 +- .../{ => execution}/ppc/frame-constants-ppc.h | 8 +- .../src/{ => execution}/ppc/simulator-ppc.cc | 130 +- .../src/{ => execution}/ppc/simulator-ppc.h | 19 +- .../src/{ => execution}/runtime-profiler.cc | 85 +- .../v8/src/{ => execution}/runtime-profiler.h | 8 +- .../s390/frame-constants-s390.cc | 9 +- .../s390/frame-constants-s390.h | 8 +- .../{ => execution}/s390/simulator-s390.cc | 1352 +- .../src/{ => execution}/s390/simulator-s390.h | 83 +- deps/v8/src/{ => execution}/simulator-base.cc | 6 +- deps/v8/src/{ => execution}/simulator-base.h | 10 +- deps/v8/src/{ => execution}/simulator.h | 24 +- deps/v8/src/{ => execution}/thread-id.cc | 2 +- deps/v8/src/{ => execution}/thread-id.h | 6 +- .../src/{ => execution}/thread-local-top.cc | 6 +- .../v8/src/{ => execution}/thread-local-top.h | 12 +- deps/v8/src/{ => execution}/v8threads.cc | 78 +- deps/v8/src/{ => execution}/v8threads.h | 20 +- deps/v8/src/{ => execution}/vm-state-inl.h | 22 +- deps/v8/src/{ => execution}/vm-state.h | 11 +- .../x64/frame-constants-x64.cc | 7 +- .../{ => execution}/x64/frame-constants-x64.h | 8 +- .../externalize-string-extension.cc | 17 +- .../src/extensions/free-buffer-extension.cc | 2 +- deps/v8/src/extensions/gc-extension.h | 2 +- .../ignition-statistics-extension.cc | 2 +- .../v8/src/extensions/statistics-extension.cc | 18 +- .../extensions/trigger-failure-extension.cc | 2 +- deps/v8/src/{ => flags}/flag-definitions.h | 244 +- deps/v8/src/{ => flags}/flags.cc | 103 +- deps/v8/src/{ => flags}/flags.h | 16 +- deps/v8/src/handles/OWNERS | 4 + deps/v8/src/{ => handles}/global-handles.cc | 116 +- deps/v8/src/{ => handles}/global-handles.h | 15 +- deps/v8/src/{ => handles}/handles-inl.h | 68 +- deps/v8/src/{ => handles}/handles.cc | 32 +- deps/v8/src/{ => handles}/handles.h | 65 +- deps/v8/src/{ => handles}/maybe-handles-inl.h | 15 +- deps/v8/src/{ => handles}/maybe-handles.h | 11 +- deps/v8/src/heap/array-buffer-collector.cc | 4 +- deps/v8/src/heap/array-buffer-tracker-inl.h | 16 +- deps/v8/src/heap/array-buffer-tracker.cc | 4 +- deps/v8/src/heap/array-buffer-tracker.h | 4 +- deps/v8/src/heap/code-stats.cc | 32 +- deps/v8/src/heap/combined-heap.cc | 19 + deps/v8/src/heap/combined-heap.h | 41 + deps/v8/src/heap/concurrent-marking.cc | 130 +- deps/v8/src/heap/concurrent-marking.h | 8 +- deps/v8/src/heap/embedder-tracing.cc | 31 +- deps/v8/src/heap/embedder-tracing.h | 39 +- deps/v8/src/heap/factory-inl.h | 8 +- deps/v8/src/heap/factory.cc | 1263 +- deps/v8/src/heap/factory.h | 216 +- deps/v8/src/heap/gc-idle-time-handler.cc | 6 +- deps/v8/src/heap/gc-idle-time-handler.h | 2 +- deps/v8/src/heap/gc-tracer.cc | 116 +- deps/v8/src/heap/gc-tracer.h | 42 +- deps/v8/src/heap/heap-controller.cc | 167 +- deps/v8/src/heap/heap-controller.h | 80 +- deps/v8/src/heap/heap-inl.h | 75 +- deps/v8/src/heap/heap-write-barrier-inl.h | 41 +- deps/v8/src/heap/heap-write-barrier.h | 15 +- deps/v8/src/heap/heap.cc | 1192 +- deps/v8/src/heap/heap.h | 142 +- deps/v8/src/heap/incremental-marking-inl.h | 47 +- deps/v8/src/heap/incremental-marking-job.cc | 6 +- deps/v8/src/heap/incremental-marking-job.h | 2 +- deps/v8/src/heap/incremental-marking.cc | 126 +- deps/v8/src/heap/incremental-marking.h | 18 +- deps/v8/src/heap/invalidated-slots-inl.h | 18 +- deps/v8/src/heap/invalidated-slots.cc | 2 +- deps/v8/src/heap/invalidated-slots.h | 4 +- deps/v8/src/heap/item-parallel-job.cc | 4 +- deps/v8/src/heap/item-parallel-job.h | 4 +- deps/v8/src/heap/local-allocator-inl.h | 6 +- deps/v8/src/heap/local-allocator.h | 2 +- deps/v8/src/heap/mark-compact-inl.h | 98 +- deps/v8/src/heap/mark-compact.cc | 404 +- deps/v8/src/heap/mark-compact.h | 16 +- deps/v8/src/heap/marking.h | 2 +- deps/v8/src/heap/memory-reducer.cc | 9 +- deps/v8/src/heap/memory-reducer.h | 4 +- deps/v8/src/heap/object-stats.cc | 312 +- deps/v8/src/heap/object-stats.h | 2 +- deps/v8/src/heap/objects-visiting-inl.h | 32 +- deps/v8/src/heap/objects-visiting.cc | 30 +- deps/v8/src/heap/objects-visiting.h | 18 +- deps/v8/src/heap/read-only-heap.cc | 145 +- deps/v8/src/heap/read-only-heap.h | 75 +- deps/v8/src/heap/remembered-set.h | 33 +- deps/v8/src/heap/scavenge-job.cc | 6 +- deps/v8/src/heap/scavenge-job.h | 4 +- deps/v8/src/heap/scavenger-inl.h | 62 +- deps/v8/src/heap/scavenger.cc | 31 +- deps/v8/src/heap/setup-heap-internal.cc | 244 +- deps/v8/src/heap/slot-set.h | 7 +- deps/v8/src/heap/spaces-inl.h | 39 +- deps/v8/src/heap/spaces.cc | 416 +- deps/v8/src/heap/spaces.h | 197 +- deps/v8/src/heap/store-buffer.cc | 10 +- deps/v8/src/heap/store-buffer.h | 6 +- deps/v8/src/heap/stress-scavenge-observer.cc | 2 +- deps/v8/src/heap/sweeper.cc | 64 +- deps/v8/src/heap/sweeper.h | 6 +- deps/v8/src/ic/accessor-assembler.cc | 556 +- deps/v8/src/ic/accessor-assembler.h | 8 +- deps/v8/src/ic/binary-op-assembler.cc | 2 +- deps/v8/src/ic/binary-op-assembler.h | 2 +- deps/v8/src/ic/call-optimization.cc | 30 +- deps/v8/src/ic/call-optimization.h | 4 +- deps/v8/src/ic/handler-configuration-inl.h | 12 +- deps/v8/src/ic/handler-configuration.cc | 6 +- deps/v8/src/ic/handler-configuration.h | 12 +- deps/v8/src/ic/ic-inl.h | 34 +- deps/v8/src/ic/ic-stats.cc | 18 +- deps/v8/src/ic/ic.cc | 373 +- deps/v8/src/ic/ic.h | 21 +- deps/v8/src/ic/keyed-store-generic.cc | 22 +- deps/v8/src/ic/keyed-store-generic.h | 2 +- deps/v8/src/ic/stub-cache.cc | 10 +- deps/v8/src/init/OWNERS | 5 + deps/v8/src/{ => init}/bootstrapper.cc | 731 +- deps/v8/src/{ => init}/bootstrapper.h | 15 +- deps/v8/src/{ => init}/heap-symbols.h | 446 +- deps/v8/src/{ => init}/icu_util.cc | 8 +- deps/v8/src/{ => init}/icu_util.h | 7 +- deps/v8/src/{ => init}/isolate-allocator.cc | 8 +- deps/v8/src/{ => init}/isolate-allocator.h | 10 +- .../{ => init}/setup-isolate-deserialize.cc | 7 +- deps/v8/src/{ => init}/setup-isolate-full.cc | 4 +- deps/v8/src/{ => init}/setup-isolate.h | 6 +- deps/v8/src/{ => init}/startup-data-util.cc | 14 +- deps/v8/src/{ => init}/startup-data-util.h | 7 +- deps/v8/src/{ => init}/v8.cc | 33 +- deps/v8/src/{ => init}/v8.h | 8 +- deps/v8/src/inspector/BUILD.gn | 15 + deps/v8/src/inspector/DEPS | 9 +- deps/v8/src/inspector/OWNERS | 3 +- deps/v8/src/inspector/js_protocol.pdl | 22 +- deps/v8/src/inspector/string-16.cc | 390 +- deps/v8/src/inspector/string-16.h | 1 + deps/v8/src/inspector/string-util.cc | 3 +- deps/v8/src/inspector/v8-console.cc | 1 - .../src/inspector/v8-debugger-agent-impl.cc | 89 +- .../v8/src/inspector/v8-debugger-agent-impl.h | 7 + deps/v8/src/inspector/v8-debugger-script.cc | 9 +- deps/v8/src/inspector/v8-debugger-script.h | 1 + deps/v8/src/inspector/v8-debugger.cc | 3 +- .../v8-inspector-protocol-encoding.cc | 51 + .../v8-inspector-protocol-encoding.h | 26 + .../inspector/v8-inspector-session-impl.cc | 63 +- .../src/inspector/v8-inspector-session-impl.h | 1 + .../src/inspector/v8-profiler-agent-impl.cc | 4 +- .../v8/src/inspector/v8-string-conversions.cc | 403 + deps/v8/src/inspector/v8-string-conversions.h | 17 + .../interpreter/bytecode-array-accessor.cc | 14 +- .../src/interpreter/bytecode-array-accessor.h | 6 +- .../src/interpreter/bytecode-array-builder.cc | 30 +- .../src/interpreter/bytecode-array-builder.h | 2 +- .../interpreter/bytecode-array-iterator.cc | 2 +- .../bytecode-array-random-iterator.cc | 2 +- .../src/interpreter/bytecode-array-writer.cc | 7 +- .../src/interpreter/bytecode-array-writer.h | 4 +- deps/v8/src/interpreter/bytecode-decoder.cc | 4 +- deps/v8/src/interpreter/bytecode-decoder.h | 2 +- deps/v8/src/interpreter/bytecode-flags.cc | 2 +- deps/v8/src/interpreter/bytecode-flags.h | 2 +- deps/v8/src/interpreter/bytecode-generator.cc | 141 +- deps/v8/src/interpreter/bytecode-generator.h | 6 +- deps/v8/src/interpreter/bytecode-jump-table.h | 2 +- deps/v8/src/interpreter/bytecode-label.cc | 2 +- deps/v8/src/interpreter/bytecode-node.cc | 2 +- deps/v8/src/interpreter/bytecode-node.h | 2 +- deps/v8/src/interpreter/bytecode-operands.h | 4 +- .../interpreter/bytecode-register-optimizer.h | 2 +- deps/v8/src/interpreter/bytecode-register.h | 4 +- .../src/interpreter/bytecode-source-info.cc | 2 +- .../v8/src/interpreter/bytecode-source-info.h | 2 +- deps/v8/src/interpreter/bytecodes.h | 2 +- .../src/interpreter/constant-array-builder.cc | 5 +- .../src/interpreter/constant-array-builder.h | 4 +- .../src/interpreter/control-flow-builders.cc | 2 +- .../src/interpreter/handler-table-builder.cc | 4 +- .../src/interpreter/handler-table-builder.h | 2 +- .../src/interpreter/interpreter-assembler.cc | 11 +- .../src/interpreter/interpreter-assembler.h | 6 +- .../src/interpreter/interpreter-generator.cc | 22 +- .../interpreter-intrinsics-generator.cc | 23 +- .../src/interpreter/interpreter-intrinsics.h | 4 +- deps/v8/src/interpreter/interpreter.cc | 29 +- deps/v8/src/json-parser.cc | 959 -- deps/v8/src/json-parser.h | 167 - deps/v8/src/json/OWNERS | 3 + deps/v8/src/json/json-parser.cc | 1194 ++ deps/v8/src/json/json-parser.h | 358 + deps/v8/src/{ => json}/json-stringifier.cc | 80 +- deps/v8/src/{ => json}/json-stringifier.h | 8 +- .../default-worker-threads-task-runner.cc | 14 +- .../default-worker-threads-task-runner.h | 6 + deps/v8/src/libplatform/tracing/DEPS | 4 + .../tracing/json-trace-event-listener.cc | 166 + .../tracing/json-trace-event-listener.h | 45 + .../libplatform/tracing/perfetto-consumer.cc | 44 + .../libplatform/tracing/perfetto-consumer.h | 80 + .../libplatform/tracing/perfetto-producer.cc | 45 + .../libplatform/tracing/perfetto-producer.h | 70 + .../tracing/perfetto-shared-memory.cc | 28 + .../tracing/perfetto-shared-memory.h | 45 + .../src/libplatform/tracing/perfetto-tasks.cc | 52 + .../src/libplatform/tracing/perfetto-tasks.h | 55 + .../tracing/perfetto-tracing-controller.cc | 130 + .../tracing/perfetto-tracing-controller.h | 86 + .../tracing/trace-event-listener.h | 34 + .../src/libplatform/tracing/trace-writer.cc | 1 - .../libplatform/tracing/tracing-controller.cc | 198 +- deps/v8/src/libsampler/sampler.cc | 50 +- deps/v8/src/libsampler/sampler.h | 4 +- deps/v8/src/logging/OWNERS | 1 + deps/v8/src/{ => logging}/code-events.h | 10 +- .../src/{ => logging}/counters-definitions.h | 111 +- deps/v8/src/{ => logging}/counters-inl.h | 8 +- deps/v8/src/{ => logging}/counters.cc | 23 +- deps/v8/src/{ => logging}/counters.h | 53 +- deps/v8/src/{ => logging}/log-inl.h | 14 +- deps/v8/src/{ => logging}/log-utils.cc | 33 +- deps/v8/src/{ => logging}/log-utils.h | 12 +- deps/v8/src/{ => logging}/log.cc | 389 +- deps/v8/src/{ => logging}/log.h | 28 +- deps/v8/src/macro-assembler-inl.h | 15 - deps/v8/src/mips/OWNERS | 1 - deps/v8/src/mips64/OWNERS | 1 - deps/v8/src/numbers/OWNERS | 5 + deps/v8/src/{ => numbers}/bignum-dtoa.cc | 110 +- deps/v8/src/{ => numbers}/bignum-dtoa.h | 8 +- deps/v8/src/{ => numbers}/bignum.cc | 51 +- deps/v8/src/{ => numbers}/bignum.h | 12 +- deps/v8/src/{ => numbers}/cached-powers.cc | 13 +- deps/v8/src/{ => numbers}/cached-powers.h | 8 +- deps/v8/src/{ => numbers}/conversions-inl.h | 52 +- deps/v8/src/{ => numbers}/conversions.cc | 121 +- deps/v8/src/{ => numbers}/conversions.h | 18 +- deps/v8/src/{ => numbers}/diy-fp.cc | 2 +- deps/v8/src/{ => numbers}/diy-fp.h | 7 +- deps/v8/src/{ => numbers}/double.h | 21 +- deps/v8/src/{ => numbers}/dtoa.cc | 26 +- deps/v8/src/{ => numbers}/dtoa.h | 8 +- deps/v8/src/{ => numbers}/fast-dtoa.cc | 133 +- deps/v8/src/{ => numbers}/fast-dtoa.h | 8 +- deps/v8/src/{ => numbers}/fixed-dtoa.cc | 37 +- deps/v8/src/{ => numbers}/fixed-dtoa.h | 8 +- deps/v8/src/{ => numbers}/hash-seed-inl.h | 10 +- deps/v8/src/{ => numbers}/math-random.cc | 24 +- deps/v8/src/{ => numbers}/math-random.h | 10 +- deps/v8/src/{ => numbers}/strtod.cc | 55 +- deps/v8/src/{ => numbers}/strtod.h | 8 +- deps/v8/src/objects/allocation-site-inl.h | 22 +- .../allocation-site-scopes-inl.h | 10 +- .../{ => objects}/allocation-site-scopes.h | 20 +- deps/v8/src/objects/allocation-site.h | 45 +- deps/v8/src/objects/api-callbacks-inl.h | 10 +- deps/v8/src/objects/arguments-inl.h | 20 +- deps/v8/src/objects/arguments.h | 2 +- deps/v8/src/objects/bigint.cc | 64 +- deps/v8/src/objects/bigint.h | 8 +- deps/v8/src/objects/cell-inl.h | 2 +- deps/v8/src/objects/cell.h | 2 +- deps/v8/src/objects/code-inl.h | 207 +- deps/v8/src/objects/code.cc | 143 +- deps/v8/src/objects/code.h | 27 +- deps/v8/src/objects/compilation-cache-inl.h | 32 +- deps/v8/src/objects/compilation-cache.h | 2 +- deps/v8/src/objects/compressed-slots-inl.h | 28 +- deps/v8/src/{ => objects}/contexts-inl.h | 42 +- deps/v8/src/{ => objects}/contexts.cc | 95 +- deps/v8/src/{ => objects}/contexts.h | 17 +- deps/v8/src/objects/data-handler-inl.h | 10 +- deps/v8/src/objects/debug-objects-inl.h | 12 +- deps/v8/src/objects/debug-objects.cc | 75 +- deps/v8/src/objects/debug-objects.h | 37 +- deps/v8/src/objects/descriptor-array-inl.h | 34 +- deps/v8/src/objects/descriptor-array.h | 27 +- deps/v8/src/objects/dictionary-inl.h | 50 +- deps/v8/src/objects/dictionary.h | 16 +- deps/v8/src/{ => objects}/elements-inl.h | 14 +- deps/v8/src/{ => objects}/elements-kind.cc | 68 +- deps/v8/src/{ => objects}/elements-kind.h | 79 +- deps/v8/src/{ => objects}/elements.cc | 1819 +- deps/v8/src/{ => objects}/elements.h | 24 +- deps/v8/src/objects/embedder-data-array.cc | 2 +- deps/v8/src/objects/embedder-data-array.h | 6 +- deps/v8/src/objects/embedder-data-slot-inl.h | 8 +- deps/v8/src/objects/embedder-data-slot.h | 4 +- deps/v8/src/objects/feedback-cell-inl.h | 13 +- deps/v8/src/objects/feedback-cell.h | 19 +- .../src/{ => objects}/feedback-vector-inl.h | 65 +- deps/v8/src/{ => objects}/feedback-vector.cc | 124 +- deps/v8/src/{ => objects}/feedback-vector.h | 60 +- deps/v8/src/{ => objects}/field-index-inl.h | 20 +- deps/v8/src/{ => objects}/field-index.h | 27 +- deps/v8/src/{ => objects}/field-type.cc | 26 +- deps/v8/src/{ => objects}/field-type.h | 10 +- deps/v8/src/objects/fixed-array-inl.h | 523 +- deps/v8/src/objects/fixed-array.h | 153 +- deps/v8/src/objects/foreign-inl.h | 8 +- deps/v8/src/objects/foreign.h | 2 +- deps/v8/src/objects/frame-array-inl.h | 6 +- deps/v8/src/objects/frame-array.h | 2 +- deps/v8/src/objects/free-space-inl.h | 10 +- deps/v8/src/objects/free-space.h | 2 +- deps/v8/src/{ => objects}/function-kind.h | 8 +- deps/v8/src/objects/hash-table-inl.h | 8 +- deps/v8/src/objects/hash-table.h | 6 +- deps/v8/src/objects/heap-number-inl.h | 18 +- deps/v8/src/objects/heap-object-inl.h | 11 +- deps/v8/src/objects/heap-object.h | 14 +- deps/v8/src/objects/instance-type-inl.h | 15 +- deps/v8/src/objects/instance-type.h | 40 +- deps/v8/src/objects/intl-objects.cc | 223 +- deps/v8/src/objects/intl-objects.h | 34 +- deps/v8/src/objects/intl-objects.tq | 64 + deps/v8/src/objects/js-array-buffer-inl.h | 71 +- deps/v8/src/objects/js-array-buffer.cc | 52 +- deps/v8/src/objects/js-array-buffer.h | 56 +- deps/v8/src/objects/js-array-inl.h | 10 +- deps/v8/src/objects/js-array.h | 2 +- deps/v8/src/objects/js-break-iterator-inl.h | 2 +- deps/v8/src/objects/js-break-iterator.cc | 10 +- deps/v8/src/objects/js-break-iterator.h | 2 +- deps/v8/src/objects/js-collator-inl.h | 2 +- deps/v8/src/objects/js-collator.cc | 6 +- deps/v8/src/objects/js-collator.h | 4 +- deps/v8/src/objects/js-collection-inl.h | 8 +- deps/v8/src/objects/js-collection-iterator.h | 4 +- deps/v8/src/objects/js-collection.h | 14 +- deps/v8/src/objects/js-date-time-format-inl.h | 8 +- deps/v8/src/objects/js-date-time-format.cc | 349 +- deps/v8/src/objects/js-date-time-format.h | 15 +- deps/v8/src/objects/js-generator-inl.h | 2 +- deps/v8/src/objects/js-list-format-inl.h | 4 +- deps/v8/src/objects/js-list-format.cc | 39 +- deps/v8/src/objects/js-list-format.h | 15 +- deps/v8/src/objects/js-locale-inl.h | 6 +- deps/v8/src/objects/js-locale.cc | 215 +- deps/v8/src/objects/js-locale.h | 14 +- deps/v8/src/objects/js-number-format-inl.h | 50 +- deps/v8/src/objects/js-number-format.cc | 1151 +- deps/v8/src/objects/js-number-format.h | 101 +- deps/v8/src/objects/js-objects-inl.h | 288 +- deps/v8/src/objects/js-objects.cc | 926 +- deps/v8/src/objects/js-objects.h | 81 +- deps/v8/src/objects/js-plural-rules-inl.h | 8 +- deps/v8/src/objects/js-plural-rules.cc | 31 +- deps/v8/src/objects/js-plural-rules.h | 17 +- deps/v8/src/objects/js-promise-inl.h | 4 +- deps/v8/src/objects/js-proxy-inl.h | 4 +- deps/v8/src/objects/js-proxy.h | 2 +- deps/v8/src/objects/js-regexp-inl.h | 32 +- .../objects/js-regexp-string-iterator-inl.h | 2 +- deps/v8/src/objects/js-regexp.h | 8 +- .../src/objects/js-relative-time-format-inl.h | 4 +- .../v8/src/objects/js-relative-time-format.cc | 56 +- deps/v8/src/objects/js-relative-time-format.h | 14 +- deps/v8/src/objects/js-segment-iterator-inl.h | 4 +- deps/v8/src/objects/js-segment-iterator.cc | 16 +- deps/v8/src/objects/js-segment-iterator.h | 16 +- deps/v8/src/objects/js-segmenter-inl.h | 4 +- deps/v8/src/objects/js-segmenter.cc | 4 +- deps/v8/src/objects/js-segmenter.h | 16 +- deps/v8/src/objects/js-weak-refs-inl.h | 100 +- deps/v8/src/{ => objects}/keys.cc | 113 +- deps/v8/src/{ => objects}/keys.h | 8 +- .../src/{ => objects}/layout-descriptor-inl.h | 40 +- .../v8/src/{ => objects}/layout-descriptor.cc | 33 +- deps/v8/src/{ => objects}/layout-descriptor.h | 6 +- deps/v8/src/objects/literal-objects-inl.h | 4 +- deps/v8/src/objects/literal-objects.cc | 50 +- deps/v8/src/{ => objects}/lookup-cache-inl.h | 14 +- deps/v8/src/{ => objects}/lookup-cache.cc | 2 +- deps/v8/src/{ => objects}/lookup-cache.h | 8 +- deps/v8/src/{ => objects}/lookup-inl.h | 45 +- deps/v8/src/{ => objects}/lookup.cc | 207 +- deps/v8/src/{ => objects}/lookup.h | 20 +- deps/v8/src/objects/managed.h | 8 +- deps/v8/src/objects/map-inl.h | 142 +- deps/v8/src/{ => objects}/map-updater.cc | 91 +- deps/v8/src/{ => objects}/map-updater.h | 16 +- deps/v8/src/objects/map.cc | 672 +- deps/v8/src/objects/map.h | 83 +- deps/v8/src/objects/maybe-object-inl.h | 123 +- deps/v8/src/objects/maybe-object.h | 126 +- deps/v8/src/objects/microtask-inl.h | 2 +- deps/v8/src/objects/microtask.h | 2 +- deps/v8/src/objects/module-inl.h | 16 +- deps/v8/src/objects/module.cc | 102 +- deps/v8/src/objects/module.h | 2 +- deps/v8/src/objects/name-inl.h | 24 +- deps/v8/src/objects/name.h | 6 +- deps/v8/src/objects/object-list-macros.h | 270 + deps/v8/src/objects/object-macros-undef.h | 32 +- deps/v8/src/objects/object-macros.h | 248 +- .../objects-body-descriptors-inl.h | 181 +- .../{ => objects}/objects-body-descriptors.h | 12 +- .../src/{ => objects}/objects-definitions.h | 121 +- deps/v8/src/{ => objects}/objects-inl.h | 228 +- deps/v8/src/{ => objects}/objects.cc | 1794 +- deps/v8/src/{ => objects}/objects.h | 481 +- deps/v8/src/objects/oddball-inl.h | 29 +- deps/v8/src/objects/oddball.h | 37 +- deps/v8/src/objects/ordered-hash-table-inl.h | 10 +- deps/v8/src/objects/ordered-hash-table.cc | 204 +- deps/v8/src/objects/ordered-hash-table.h | 10 +- deps/v8/src/objects/promise.h | 12 +- deps/v8/src/objects/property-array-inl.h | 13 +- deps/v8/src/objects/property-array.h | 6 +- deps/v8/src/objects/property-cell.h | 2 +- .../objects/property-descriptor-object-inl.h | 2 +- .../src/objects/property-descriptor-object.h | 2 +- .../src/{ => objects}/property-descriptor.cc | 28 +- .../src/{ => objects}/property-descriptor.h | 12 +- deps/v8/src/{ => objects}/property-details.h | 47 +- deps/v8/src/{ => objects}/property.cc | 33 +- deps/v8/src/{ => objects}/property.h | 16 +- deps/v8/src/objects/prototype-info-inl.h | 10 +- deps/v8/src/objects/prototype-info.h | 2 +- deps/v8/src/{ => objects}/prototype-inl.h | 38 +- deps/v8/src/{ => objects}/prototype.h | 11 +- deps/v8/src/objects/regexp-match-info.h | 2 +- deps/v8/src/objects/scope-info.cc | 152 +- deps/v8/src/objects/scope-info.h | 15 +- deps/v8/src/objects/script-inl.h | 14 +- deps/v8/src/objects/script.h | 2 +- .../v8/src/objects/shared-function-info-inl.h | 186 +- deps/v8/src/objects/shared-function-info.h | 64 +- deps/v8/src/objects/slots-atomic-inl.h | 1 + deps/v8/src/objects/slots-inl.h | 19 +- deps/v8/src/objects/slots.h | 4 +- deps/v8/src/objects/smi-inl.h | 4 +- deps/v8/src/objects/smi.h | 8 +- deps/v8/src/objects/stack-frame-info-inl.h | 8 +- deps/v8/src/objects/stack-frame-info.cc | 36 +- deps/v8/src/objects/stack-frame-info.h | 16 + deps/v8/src/objects/string-comparator.cc | 2 +- deps/v8/src/objects/string-comparator.h | 4 +- deps/v8/src/objects/string-inl.h | 265 +- deps/v8/src/objects/string-table-inl.h | 31 +- deps/v8/src/objects/string-table.h | 29 +- deps/v8/src/objects/string.cc | 349 +- deps/v8/src/objects/string.h | 126 +- deps/v8/src/objects/struct-inl.h | 25 +- deps/v8/src/objects/struct.h | 37 +- deps/v8/src/objects/tagged-impl-inl.h | 257 + deps/v8/src/objects/tagged-impl.cc | 39 + deps/v8/src/objects/tagged-impl.h | 181 + deps/v8/src/objects/tagged-value-inl.h | 39 + deps/v8/src/objects/tagged-value.h | 42 + deps/v8/src/objects/template-objects-inl.h | 2 +- deps/v8/src/objects/template-objects.cc | 16 +- deps/v8/src/objects/template-objects.h | 13 +- deps/v8/src/objects/templates-inl.h | 54 +- deps/v8/src/objects/templates.h | 18 +- deps/v8/src/{ => objects}/transitions-inl.h | 110 +- deps/v8/src/{ => objects}/transitions.cc | 207 +- deps/v8/src/{ => objects}/transitions.h | 39 +- deps/v8/src/{ => objects}/type-hints.cc | 2 +- deps/v8/src/{ => objects}/type-hints.h | 8 +- deps/v8/src/{ => objects}/value-serializer.cc | 109 +- deps/v8/src/{ => objects}/value-serializer.h | 14 +- deps/v8/src/{ => objects}/visitors.cc | 4 +- deps/v8/src/{ => objects}/visitors.h | 10 +- .../parsing/expression-scope-reparenter.cc | 2 +- deps/v8/src/parsing/expression-scope.h | 4 +- deps/v8/src/parsing/func-name-inferrer.cc | 2 +- deps/v8/src/parsing/func-name-inferrer.h | 2 +- deps/v8/src/parsing/literal-buffer.cc | 80 + deps/v8/src/parsing/literal-buffer.h | 104 + deps/v8/src/parsing/parse-info.cc | 15 +- deps/v8/src/parsing/parse-info.h | 14 +- deps/v8/src/parsing/parser-base.h | 164 +- deps/v8/src/parsing/parser.cc | 103 +- deps/v8/src/parsing/parser.h | 31 +- deps/v8/src/parsing/parsing.cc | 4 +- deps/v8/src/parsing/parsing.h | 2 +- .../pending-compilation-error-handler.cc | 11 +- .../pending-compilation-error-handler.h | 12 +- deps/v8/src/parsing/preparse-data-impl.h | 2 +- deps/v8/src/parsing/preparse-data.cc | 6 +- deps/v8/src/parsing/preparse-data.h | 8 +- deps/v8/src/parsing/preparser.cc | 12 +- deps/v8/src/parsing/preparser.h | 53 +- deps/v8/src/parsing/rewriter.cc | 2 +- .../src/parsing/scanner-character-streams.cc | 41 +- .../src/parsing/scanner-character-streams.h | 2 +- deps/v8/src/parsing/scanner-inl.h | 4 +- deps/v8/src/parsing/scanner.cc | 80 +- deps/v8/src/parsing/scanner.h | 111 +- deps/v8/src/parsing/token.h | 4 +- deps/v8/src/ppc/OWNERS | 4 - deps/v8/src/profiler/OWNERS | 1 + deps/v8/src/profiler/allocation-tracker.cc | 35 +- deps/v8/src/profiler/allocation-tracker.h | 6 +- deps/v8/src/profiler/circular-queue.h | 2 +- deps/v8/src/profiler/cpu-profiler.cc | 82 +- deps/v8/src/profiler/cpu-profiler.h | 62 +- deps/v8/src/profiler/heap-profiler.cc | 22 +- deps/v8/src/profiler/heap-profiler.h | 2 +- .../profiler/heap-snapshot-generator-inl.h | 2 +- .../src/profiler/heap-snapshot-generator.cc | 653 +- .../v8/src/profiler/heap-snapshot-generator.h | 8 +- deps/v8/src/profiler/profile-generator.cc | 120 +- deps/v8/src/profiler/profile-generator.h | 46 +- deps/v8/src/profiler/profiler-listener.cc | 116 +- deps/v8/src/profiler/profiler-listener.h | 9 +- .../v8/src/profiler/sampling-heap-profiler.cc | 57 +- deps/v8/src/profiler/sampling-heap-profiler.h | 77 +- deps/v8/src/profiler/strings-storage.cc | 26 +- deps/v8/src/profiler/strings-storage.h | 2 +- deps/v8/src/profiler/tick-sample.cc | 31 +- deps/v8/src/profiler/tick-sample.h | 6 +- deps/v8/src/profiler/tracing-cpu-profiler.cc | 6 +- deps/v8/src/protobuf/DEPS | 3 + deps/v8/src/protobuf/OWNERS | 1 + .../v8/src/protobuf/protobuf-compiler-main.cc | 28 + .../regexp/arm/regexp-macro-assembler-arm.cc | 21 +- .../regexp/arm/regexp-macro-assembler-arm.h | 4 +- .../arm64/regexp-macro-assembler-arm64.cc | 20 +- .../arm64/regexp-macro-assembler-arm64.h | 4 +- deps/v8/src/regexp/gen-regexp-special-case.cc | 125 + .../ia32/regexp-macro-assembler-ia32.cc | 29 +- .../regexp/ia32/regexp-macro-assembler-ia32.h | 4 +- deps/v8/src/regexp/interpreter-irregexp.cc | 8 +- deps/v8/src/regexp/jsregexp-inl.h | 4 +- deps/v8/src/regexp/jsregexp.cc | 230 +- deps/v8/src/regexp/jsregexp.h | 4 +- deps/v8/src/regexp/mips/OWNERS | 1 - .../mips/regexp-macro-assembler-mips.cc | 17 +- .../regexp/mips/regexp-macro-assembler-mips.h | 4 +- deps/v8/src/regexp/mips64/OWNERS | 1 - .../mips64/regexp-macro-assembler-mips64.cc | 17 +- .../mips64/regexp-macro-assembler-mips64.h | 4 +- .../regexp/ppc/regexp-macro-assembler-ppc.cc | 17 +- .../regexp/ppc/regexp-macro-assembler-ppc.h | 4 +- deps/v8/src/regexp/property-sequences.h | 2 +- deps/v8/src/regexp/regexp-ast.cc | 2 +- deps/v8/src/regexp/regexp-ast.h | 4 +- .../regexp-macro-assembler-irregexp-inl.h | 8 +- .../regexp/regexp-macro-assembler-irregexp.cc | 10 +- .../regexp/regexp-macro-assembler-tracer.cc | 2 +- deps/v8/src/regexp/regexp-macro-assembler.cc | 64 +- deps/v8/src/regexp/regexp-macro-assembler.h | 2 +- deps/v8/src/regexp/regexp-parser.cc | 14 +- deps/v8/src/regexp/regexp-parser.h | 2 +- deps/v8/src/regexp/regexp-stack.cc | 3 +- deps/v8/src/regexp/regexp-stack.h | 2 +- deps/v8/src/regexp/regexp-utils.cc | 44 +- deps/v8/src/regexp/regexp-utils.h | 2 +- deps/v8/src/regexp/s390/OWNERS | 4 - .../s390/regexp-macro-assembler-s390.cc | 19 +- .../regexp/s390/regexp-macro-assembler-s390.h | 4 +- deps/v8/src/regexp/special-case.h | 79 + .../regexp/x64/regexp-macro-assembler-x64.cc | 27 +- .../regexp/x64/regexp-macro-assembler-x64.h | 4 +- deps/v8/src/register-arch.h | 31 - deps/v8/src/roots.cc | 89 - deps/v8/src/{ => roots}/roots-inl.h | 65 +- deps/v8/src/roots/roots.cc | 47 + deps/v8/src/{ => roots}/roots.h | 73 +- deps/v8/src/runtime/runtime-array.cc | 549 +- deps/v8/src/runtime/runtime-atomics.cc | 20 +- deps/v8/src/runtime/runtime-bigint.cc | 6 +- deps/v8/src/runtime/runtime-classes.cc | 125 +- deps/v8/src/runtime/runtime-collections.cc | 6 +- deps/v8/src/runtime/runtime-compiler.cc | 62 +- deps/v8/src/runtime/runtime-date.cc | 10 +- deps/v8/src/runtime/runtime-debug.cc | 62 +- deps/v8/src/runtime/runtime-forin.cc | 12 +- deps/v8/src/runtime/runtime-function.cc | 26 +- deps/v8/src/runtime/runtime-futex.cc | 12 +- deps/v8/src/runtime/runtime-generator.cc | 28 +- deps/v8/src/runtime/runtime-internal.cc | 56 +- deps/v8/src/runtime/runtime-interpreter.cc | 18 +- deps/v8/src/runtime/runtime-intl.cc | 16 +- deps/v8/src/runtime/runtime-literals.cc | 40 +- deps/v8/src/runtime/runtime-module.cc | 15 +- deps/v8/src/runtime/runtime-numbers.cc | 25 +- deps/v8/src/runtime/runtime-object.cc | 180 +- deps/v8/src/runtime/runtime-operators.cc | 10 +- deps/v8/src/runtime/runtime-promise.cc | 16 +- deps/v8/src/runtime/runtime-proxy.cc | 36 +- deps/v8/src/runtime/runtime-regexp.cc | 56 +- deps/v8/src/runtime/runtime-scopes.cc | 54 +- deps/v8/src/runtime/runtime-strings.cc | 42 +- deps/v8/src/runtime/runtime-symbol.cc | 14 +- deps/v8/src/runtime/runtime-test.cc | 268 +- deps/v8/src/runtime/runtime-typedarray.cc | 78 +- deps/v8/src/runtime/runtime-utils.h | 38 +- deps/v8/src/runtime/runtime-wasm.cc | 118 +- deps/v8/src/runtime/runtime-weak-refs.cc | 12 +- deps/v8/src/runtime/runtime.cc | 21 +- deps/v8/src/runtime/runtime.h | 48 +- deps/v8/src/s390/OWNERS | 4 - deps/v8/src/sanitizer/OWNERS | 3 + deps/v8/src/{ => sanitizer}/asan.h | 8 +- .../lsan-page-allocator.cc | 2 +- .../{base => sanitizer}/lsan-page-allocator.h | 12 +- deps/v8/src/{ => sanitizer}/msan.h | 8 +- deps/v8/src/{base => sanitizer}/tsan.h | 6 +- deps/v8/src/snapshot/code-serializer.cc | 98 +- .../v8/src/snapshot/deserializer-allocator.cc | 17 +- deps/v8/src/snapshot/deserializer-allocator.h | 2 +- deps/v8/src/snapshot/deserializer.cc | 173 +- deps/v8/src/snapshot/deserializer.h | 6 +- deps/v8/src/snapshot/embedded-file-writer.cc | 843 - deps/v8/src/snapshot/embedded-file-writer.h | 483 - .../snapshot/{ => embedded}/embedded-data.cc | 40 +- .../snapshot/{ => embedded}/embedded-data.h | 13 +- .../snapshot/{ => embedded}/embedded-empty.cc | 0 .../snapshot/embedded/embedded-file-writer.cc | 214 + .../snapshot/embedded/embedded-file-writer.h | 221 + .../platform-embedded-file-writer-aix.cc | 132 + .../platform-embedded-file-writer-aix.h | 64 + .../platform-embedded-file-writer-base.cc | 156 + .../platform-embedded-file-writer-base.h | 105 + .../platform-embedded-file-writer-generic.cc | 140 + .../platform-embedded-file-writer-generic.h | 63 + .../platform-embedded-file-writer-mac.cc | 109 + .../platform-embedded-file-writer-mac.h | 61 + .../platform-embedded-file-writer-win.cc | 615 + .../platform-embedded-file-writer-win.h | 78 + deps/v8/src/snapshot/mksnapshot.cc | 116 +- deps/v8/src/snapshot/natives-common.cc | 4 +- deps/v8/src/snapshot/natives-external.cc | 10 +- deps/v8/src/snapshot/natives.h | 4 +- deps/v8/src/snapshot/object-deserializer.cc | 18 +- deps/v8/src/snapshot/partial-deserializer.cc | 2 +- deps/v8/src/snapshot/partial-serializer.cc | 73 +- deps/v8/src/snapshot/partial-serializer.h | 4 +- .../v8/src/snapshot/read-only-deserializer.cc | 23 +- deps/v8/src/snapshot/read-only-serializer.cc | 27 +- deps/v8/src/snapshot/read-only-serializer.h | 5 + deps/v8/src/snapshot/references.h | 4 +- deps/v8/src/snapshot/roots-serializer.cc | 8 +- deps/v8/src/snapshot/roots-serializer.h | 2 +- deps/v8/src/snapshot/serializer-allocator.cc | 2 +- deps/v8/src/snapshot/serializer-common.cc | 16 +- deps/v8/src/snapshot/serializer-common.h | 22 +- deps/v8/src/snapshot/serializer.cc | 187 +- deps/v8/src/snapshot/serializer.h | 17 +- deps/v8/src/snapshot/snapshot-common.cc | 73 +- deps/v8/src/snapshot/snapshot-external.cc | 3 +- deps/v8/src/snapshot/snapshot-source-sink.cc | 4 +- deps/v8/src/snapshot/snapshot-source-sink.h | 4 +- deps/v8/src/snapshot/snapshot.h | 10 +- deps/v8/src/snapshot/startup-deserializer.cc | 6 +- deps/v8/src/snapshot/startup-serializer.cc | 67 +- deps/v8/src/string-hasher-inl.h | 164 - deps/v8/src/string-hasher.h | 102 - deps/v8/src/strings/OWNERS | 5 + .../src/{ => strings}/char-predicates-inl.h | 14 +- deps/v8/src/{ => strings}/char-predicates.cc | 2 +- deps/v8/src/{ => strings}/char-predicates.h | 10 +- .../v8/src/{ => strings}/string-builder-inl.h | 30 +- deps/v8/src/{ => strings}/string-builder.cc | 35 +- deps/v8/src/{ => strings}/string-case.cc | 8 +- deps/v8/src/{ => strings}/string-case.h | 6 +- deps/v8/src/strings/string-hasher-inl.h | 81 + deps/v8/src/strings/string-hasher.h | 58 + deps/v8/src/{ => strings}/string-search.h | 102 +- deps/v8/src/{ => strings}/string-stream.cc | 299 +- deps/v8/src/{ => strings}/string-stream.h | 16 +- deps/v8/src/strings/unicode-decoder.cc | 81 + deps/v8/src/strings/unicode-decoder.h | 74 + deps/v8/src/{ => strings}/unicode-inl.h | 38 +- deps/v8/src/{ => strings}/unicode.cc | 1213 +- deps/v8/src/{ => strings}/unicode.h | 81 +- deps/v8/src/{ => strings}/uri.cc | 10 +- deps/v8/src/{ => strings}/uri.h | 12 +- deps/v8/src/{ => tasks}/cancelable-task.cc | 4 +- deps/v8/src/{ => tasks}/cancelable-task.h | 8 +- deps/v8/src/{ => tasks}/task-utils.cc | 4 +- deps/v8/src/{ => tasks}/task-utils.h | 6 +- .../src/third_party/vtune/ittnotify_config.h | 10 +- deps/v8/src/third_party/vtune/vtune-jit.cc | 3 +- deps/v8/src/torque/OWNERS | 6 + deps/v8/src/torque/ast.h | 132 +- deps/v8/src/torque/constants.h | 82 + deps/v8/src/torque/contextual.h | 3 + deps/v8/src/torque/csa-generator.cc | 37 +- deps/v8/src/torque/declarable.cc | 17 + deps/v8/src/torque/declarable.h | 143 +- deps/v8/src/torque/declaration-visitor.cc | 478 +- deps/v8/src/torque/declaration-visitor.h | 137 +- deps/v8/src/torque/declarations.cc | 136 +- deps/v8/src/torque/declarations.h | 43 +- deps/v8/src/torque/earley-parser.h | 23 +- deps/v8/src/torque/file-visitor.cc | 34 - deps/v8/src/torque/file-visitor.h | 38 - deps/v8/src/torque/global-context.h | 33 +- deps/v8/src/torque/implementation-visitor.cc | 1499 +- deps/v8/src/torque/implementation-visitor.h | 37 +- deps/v8/src/torque/ls/json-parser.cc | 6 +- deps/v8/src/torque/ls/json-parser.h | 2 +- deps/v8/src/torque/ls/message-handler.cc | 211 +- deps/v8/src/torque/ls/message-handler.h | 13 + deps/v8/src/torque/ls/message.h | 81 + .../src/torque/ls/torque-language-server.cc | 1 + deps/v8/src/torque/server-data.cc | 24 +- deps/v8/src/torque/server-data.h | 29 + deps/v8/src/torque/torque-compiler.cc | 97 +- deps/v8/src/torque/torque-compiler.h | 16 +- deps/v8/src/torque/torque-parser.cc | 401 +- deps/v8/src/torque/torque.cc | 40 +- deps/v8/src/torque/type-oracle.cc | 7 + deps/v8/src/torque/type-oracle.h | 28 +- deps/v8/src/torque/type-visitor.cc | 292 + deps/v8/src/torque/type-visitor.h | 45 + deps/v8/src/torque/types.cc | 210 +- deps/v8/src/torque/types.h | 176 +- deps/v8/src/torque/utils.cc | 43 +- deps/v8/src/torque/utils.h | 77 +- deps/v8/src/tracing/OWNERS | 1 + deps/v8/src/tracing/trace-event.cc | 6 +- deps/v8/src/tracing/traced-value.cc | 4 +- .../src/tracing/tracing-category-observer.cc | 11 +- deps/v8/src/trap-handler/DEPS | 4 +- deps/v8/src/trap-handler/trap-handler.h | 4 +- deps/v8/src/unicode-cache.h | 33 - deps/v8/src/unicode-decoder.cc | 88 - deps/v8/src/unicode-decoder.h | 158 - deps/v8/src/utils/OWNERS | 1 + deps/v8/src/{ => utils}/address-map.cc | 8 +- deps/v8/src/{ => utils}/address-map.h | 12 +- deps/v8/src/{ => utils}/allocation.cc | 29 +- deps/v8/src/{ => utils}/allocation.h | 29 +- deps/v8/src/{ => utils}/bit-vector.cc | 6 +- deps/v8/src/{ => utils}/bit-vector.h | 8 +- deps/v8/src/{ => utils}/boxed-float.h | 8 +- deps/v8/src/{ => utils}/detachable-vector.cc | 2 +- deps/v8/src/{ => utils}/detachable-vector.h | 6 +- deps/v8/src/{ => utils}/identity-map.cc | 4 +- deps/v8/src/{ => utils}/identity-map.h | 10 +- deps/v8/src/{ => utils}/locked-queue-inl.h | 14 +- deps/v8/src/{ => utils}/locked-queue.h | 8 +- deps/v8/src/{ => utils}/memcopy.cc | 4 +- deps/v8/src/{ => utils}/memcopy.h | 22 +- deps/v8/src/{ => utils}/ostreams.cc | 14 +- deps/v8/src/{ => utils}/ostreams.h | 10 +- .../v8/src/{ => utils}/pointer-with-payload.h | 6 +- deps/v8/src/{ => utils}/splay-tree-inl.h | 8 +- deps/v8/src/{ => utils}/splay-tree.h | 23 +- deps/v8/src/{ => utils}/utils-inl.h | 12 +- deps/v8/src/{ => utils}/utils.cc | 71 +- deps/v8/src/{ => utils}/utils.h | 244 +- deps/v8/src/{ => utils}/v8dll-main.cc | 6 +- deps/v8/src/{ => utils}/vector.h | 148 +- deps/v8/src/{ => utils}/version.cc | 9 +- deps/v8/src/{ => utils}/version.h | 6 +- deps/v8/src/wasm/DEPS | 2 + .../wasm/baseline/arm/liftoff-assembler-arm.h | 49 +- .../baseline/arm64/liftoff-assembler-arm64.h | 57 +- .../baseline/ia32/liftoff-assembler-ia32.h | 44 +- .../wasm/baseline/liftoff-assembler-defs.h | 4 +- .../v8/src/wasm/baseline/liftoff-assembler.cc | 6 +- deps/v8/src/wasm/baseline/liftoff-assembler.h | 59 +- deps/v8/src/wasm/baseline/liftoff-compiler.cc | 87 +- deps/v8/src/wasm/baseline/liftoff-compiler.h | 17 +- deps/v8/src/wasm/baseline/mips/OWNERS | 1 - .../baseline/mips/liftoff-assembler-mips.h | 19 +- deps/v8/src/wasm/baseline/mips64/OWNERS | 1 - .../mips64/liftoff-assembler-mips64.h | 51 +- .../wasm/baseline/ppc/liftoff-assembler-ppc.h | 49 +- deps/v8/src/wasm/baseline/s390/OWNERS | 4 - .../baseline/s390/liftoff-assembler-s390.h | 49 +- .../wasm/baseline/x64/liftoff-assembler-x64.h | 79 +- deps/v8/src/wasm/c-api.cc | 1730 +- deps/v8/src/wasm/c-api.h | 42 + deps/v8/src/wasm/compilation-environment.h | 10 +- deps/v8/src/wasm/decoder.h | 15 +- deps/v8/src/wasm/function-body-decoder-impl.h | 310 +- deps/v8/src/wasm/function-body-decoder.cc | 8 +- deps/v8/src/wasm/function-body-decoder.h | 2 +- deps/v8/src/wasm/function-compiler.cc | 107 +- deps/v8/src/wasm/function-compiler.h | 38 +- deps/v8/src/wasm/graph-builder-interface.cc | 43 +- deps/v8/src/wasm/js-to-wasm-wrapper-cache.h | 2 +- deps/v8/src/wasm/jump-table-assembler.cc | 4 +- deps/v8/src/wasm/jump-table-assembler.h | 2 +- deps/v8/src/wasm/local-decl-encoder.cc | 2 +- deps/v8/src/wasm/local-decl-encoder.h | 2 +- deps/v8/src/wasm/memory-tracing.cc | 25 +- deps/v8/src/wasm/memory-tracing.h | 2 +- deps/v8/src/wasm/module-compiler.cc | 1046 +- deps/v8/src/wasm/module-compiler.h | 26 +- deps/v8/src/wasm/module-decoder.cc | 61 +- deps/v8/src/wasm/module-decoder.h | 2 +- deps/v8/src/wasm/module-instantiate.cc | 445 +- deps/v8/src/wasm/object-access.h | 2 +- deps/v8/src/wasm/signature-map.cc | 2 +- deps/v8/src/wasm/signature-map.h | 6 +- deps/v8/src/wasm/streaming-decoder.cc | 18 +- deps/v8/src/wasm/streaming-decoder.h | 2 +- deps/v8/src/wasm/value-type.h | 3 +- deps/v8/src/wasm/wasm-code-manager.cc | 703 +- deps/v8/src/wasm/wasm-code-manager.h | 217 +- deps/v8/src/wasm/wasm-constants.h | 6 + deps/v8/src/wasm/wasm-debug.cc | 129 +- deps/v8/src/wasm/wasm-engine.cc | 357 +- deps/v8/src/wasm/wasm-engine.h | 31 +- deps/v8/src/wasm/wasm-external-refs.cc | 51 +- deps/v8/src/wasm/wasm-external-refs.h | 2 +- deps/v8/src/wasm/wasm-features.cc | 6 +- deps/v8/src/wasm/wasm-import-wrapper-cache.cc | 41 +- deps/v8/src/wasm/wasm-import-wrapper-cache.h | 40 +- deps/v8/src/wasm/wasm-interpreter.cc | 235 +- deps/v8/src/wasm/wasm-interpreter.h | 3 + deps/v8/src/wasm/wasm-js.cc | 416 +- deps/v8/src/wasm/wasm-js.h | 2 +- deps/v8/src/wasm/wasm-linkage.h | 6 +- deps/v8/src/wasm/wasm-memory.cc | 35 +- deps/v8/src/wasm/wasm-memory.h | 10 +- deps/v8/src/wasm/wasm-module-builder.cc | 57 +- deps/v8/src/wasm/wasm-module-builder.h | 13 +- deps/v8/src/wasm/wasm-module.cc | 40 +- deps/v8/src/wasm/wasm-module.h | 20 +- deps/v8/src/wasm/wasm-objects-inl.h | 58 +- deps/v8/src/wasm/wasm-objects.cc | 532 +- deps/v8/src/wasm/wasm-objects.h | 113 +- deps/v8/src/wasm/wasm-opcodes.cc | 83 +- deps/v8/src/wasm/wasm-opcodes.h | 57 +- deps/v8/src/wasm/wasm-result.cc | 4 +- deps/v8/src/wasm/wasm-result.h | 2 +- deps/v8/src/wasm/wasm-serialization.cc | 34 +- deps/v8/src/wasm/wasm-text.cc | 8 +- deps/v8/src/wasm/wasm-tier.h | 13 + deps/v8/src/wasm/wasm-value.h | 6 +- deps/v8/src/zone/accounting-allocator.cc | 2 +- deps/v8/src/zone/zone-allocator.h | 22 +- deps/v8/src/zone/zone-chunk-list.h | 4 +- deps/v8/src/zone/zone-containers.h | 4 +- deps/v8/src/zone/zone-handle-set.h | 14 +- deps/v8/src/zone/zone-list-inl.h | 10 +- deps/v8/src/zone/zone-segment.cc | 2 +- deps/v8/src/zone/zone-segment.h | 2 +- deps/v8/src/zone/zone-splay-tree.h | 2 +- deps/v8/src/zone/zone.cc | 6 +- deps/v8/src/zone/zone.h | 12 +- deps/v8/test/BUILD.gn | 4 + deps/v8/test/OWNERS | 4 +- deps/v8/test/benchmarks/benchmarks.status | 21 + deps/v8/test/cctest/BUILD.gn | 13 +- deps/v8/test/cctest/OWNERS | 1 + deps/v8/test/cctest/assembler-helper-arm.cc | 11 +- deps/v8/test/cctest/assembler-helper-arm.h | 4 +- deps/v8/test/cctest/cctest.cc | 16 +- deps/v8/test/cctest/cctest.h | 25 +- deps/v8/test/cctest/cctest.status | 33 +- deps/v8/{src => test/cctest}/collector.h | 8 +- deps/v8/test/cctest/compiler/c-signature.h | 12 +- deps/v8/test/cctest/compiler/call-tester.h | 4 +- .../cctest/compiler/code-assembler-tester.h | 6 +- .../v8/test/cctest/compiler/codegen-tester.cc | 2 +- deps/v8/test/cctest/compiler/codegen-tester.h | 16 +- .../test/cctest/compiler/function-tester.cc | 14 +- .../v8/test/cctest/compiler/function-tester.h | 4 +- .../test/cctest/compiler/graph-and-builders.h | 43 + .../cctest/compiler/graph-builder-tester.h | 286 - .../test/cctest/compiler/serializer-tester.cc | 89 +- .../test/cctest/compiler/serializer-tester.h | 4 +- .../compiler/test-basic-block-profiler.cc | 4 +- .../cctest/compiler/test-branch-combine.cc | 2 +- .../cctest/compiler/test-code-assembler.cc | 24 +- .../cctest/compiler/test-code-generator.cc | 57 +- .../test/cctest/compiler/test-gap-resolver.cc | 4 +- .../test/cctest/compiler/test-instruction.cc | 6 +- .../cctest/compiler/test-js-constant-cache.cc | 2 +- .../test-js-context-specialization.cc | 6 +- .../cctest/compiler/test-js-typed-lowering.cc | 4 +- .../cctest/compiler/test-jump-threading.cc | 2 +- deps/v8/test/cctest/compiler/test-linkage.cc | 10 +- .../compiler/test-machine-operator-reducer.cc | 2 +- .../cctest/compiler/test-multiple-return.cc | 18 +- deps/v8/test/cctest/compiler/test-node.cc | 3 +- .../compiler/test-representation-change.cc | 18 +- .../test-run-bytecode-graph-builder.cc | 131 +- .../test-run-calls-to-external-references.cc | 2 +- .../v8/test/cctest/compiler/test-run-deopt.cc | 2 +- .../cctest/compiler/test-run-intrinsics.cc | 2 +- .../cctest/compiler/test-run-jsbranches.cc | 2 +- .../test/cctest/compiler/test-run-jscalls.cc | 12 +- .../cctest/compiler/test-run-jsexceptions.cc | 2 +- .../cctest/compiler/test-run-jsobjects.cc | 10 +- .../v8/test/cctest/compiler/test-run-jsops.cc | 2 +- .../cctest/compiler/test-run-load-store.cc | 54 +- .../test/cctest/compiler/test-run-machops.cc | 103 +- .../cctest/compiler/test-run-native-calls.cc | 14 +- .../cctest/compiler/test-run-retpoline.cc | 6 +- .../cctest/compiler/test-run-stackcheck.cc | 2 +- .../cctest/compiler/test-run-tail-calls.cc | 6 +- .../compiler/test-run-unwinding-info.cc | 8 +- .../cctest/compiler/test-run-variables.cc | 8 +- deps/v8/test/cctest/compiler/value-helper.h | 4 +- deps/v8/test/cctest/gay-fixed.cc | 2 +- deps/v8/test/cctest/gay-fixed.h | 2 +- deps/v8/test/cctest/gay-precision.cc | 2 +- deps/v8/test/cctest/gay-precision.h | 2 +- deps/v8/test/cctest/gay-shortest.cc | 2 +- deps/v8/test/cctest/gay-shortest.h | 2 +- deps/v8/test/cctest/heap/heap-utils.cc | 2 +- deps/v8/test/cctest/heap/heap-utils.h | 18 +- deps/v8/test/cctest/heap/test-alloc.cc | 26 +- .../cctest/heap/test-array-buffer-tracker.cc | 6 +- deps/v8/test/cctest/heap/test-compaction.cc | 4 +- .../cctest/heap/test-concurrent-marking.cc | 2 +- .../test/cctest/heap/test-embedder-tracing.cc | 56 +- .../heap/test-external-string-tracker.cc | 8 +- deps/v8/test/cctest/heap/test-heap.cc | 766 +- .../cctest/heap/test-incremental-marking.cc | 6 +- .../cctest/heap/test-invalidated-slots.cc | 42 +- deps/v8/test/cctest/heap/test-iterators.cc | 101 + deps/v8/test/cctest/heap/test-lab.cc | 14 +- deps/v8/test/cctest/heap/test-mark-compact.cc | 22 +- .../test/cctest/heap/test-page-promotion.cc | 4 +- deps/v8/test/cctest/heap/test-spaces.cc | 26 +- deps/v8/test/cctest/heap/test-unmapper.cc | 2 +- .../test/cctest/heap/test-weak-references.cc | 36 +- .../bytecode-expectations-printer.cc | 31 +- .../bytecode-expectations-printer.h | 2 +- .../AsyncGenerators.golden | 284 +- .../DestructuringAssignment.golden | 6 +- .../bytecode_expectations/ForAwaitOf.golden | 8 +- .../bytecode_expectations/ForOf.golden | 8 +- .../bytecode_expectations/ForOfLoop.golden | 16 +- .../bytecode_expectations/Generators.golden | 2 +- .../PrivateClassFields.golden | 1 - .../PrivateMethods.golden | 139 + .../PublicClassFields.golden | 1 - .../StaticClassFields.golden | 2 - .../generate-bytecode-expectations.cc | 38 +- .../cctest/interpreter/interpreter-tester.cc | 10 +- .../cctest/interpreter/interpreter-tester.h | 12 +- .../interpreter/source-position-matcher.cc | 4 +- .../interpreter/source-position-matcher.h | 6 +- .../interpreter/test-bytecode-generator.cc | 48 +- .../test-interpreter-intrinsics.cc | 37 +- .../cctest/interpreter/test-interpreter.cc | 100 +- .../interpreter/test-source-positions.cc | 12 +- deps/v8/test/cctest/libplatform/DEPS | 3 + .../test/cctest/libplatform/test-tracing.cc | 272 +- .../cctest/parsing/test-parse-decision.cc | 16 +- deps/v8/test/cctest/parsing/test-preparser.cc | 51 +- .../cctest/parsing/test-scanner-streams.cc | 2 +- deps/v8/test/cctest/parsing/test-scanner.cc | 4 +- deps/v8/test/cctest/setup-isolate-for-tests.h | 2 +- .../v8/test/cctest/test-accessor-assembler.cc | 4 +- deps/v8/test/cctest/test-accessors.cc | 15 +- deps/v8/test/cctest/test-allocation.cc | 4 +- deps/v8/test/cctest/test-api-accessors.cc | 16 +- deps/v8/test/cctest/test-api-interceptors.cc | 32 +- deps/v8/test/cctest/test-api-stack-traces.cc | 808 + deps/v8/test/cctest/test-api.cc | 1623 +- deps/v8/test/cctest/test-api.h | 18 +- deps/v8/test/cctest/test-array-list.cc | 2 +- deps/v8/test/cctest/test-assembler-arm.cc | 217 +- deps/v8/test/cctest/test-assembler-arm64.cc | 327 +- deps/v8/test/cctest/test-assembler-ia32.cc | 107 +- deps/v8/test/cctest/test-assembler-mips.cc | 476 +- deps/v8/test/cctest/test-assembler-mips64.cc | 507 +- deps/v8/test/cctest/test-assembler-ppc.cc | 56 +- deps/v8/test/cctest/test-assembler-s390.cc | 366 +- deps/v8/test/cctest/test-assembler-x64.cc | 91 +- deps/v8/test/cctest/test-atomicops.cc | 2 +- deps/v8/test/cctest/test-bignum-dtoa.cc | 136 +- deps/v8/test/cctest/test-bignum.cc | 10 +- deps/v8/test/cctest/test-bit-vector.cc | 4 +- deps/v8/test/cctest/test-circular-queue.cc | 8 +- deps/v8/test/cctest/test-code-layout.cc | 12 +- .../test/cctest/test-code-stub-assembler.cc | 255 +- deps/v8/test/cctest/test-compiler.cc | 126 +- deps/v8/test/cctest/test-constantpool.cc | 4 +- deps/v8/test/cctest/test-conversions.cc | 8 +- deps/v8/test/cctest/test-cpu-profiler.cc | 665 +- deps/v8/test/cctest/test-date.cc | 8 +- deps/v8/test/cctest/test-debug.cc | 220 +- deps/v8/test/cctest/test-decls.cc | 39 +- deps/v8/test/cctest/test-deoptimization.cc | 14 +- deps/v8/test/cctest/test-dictionary.cc | 40 +- deps/v8/test/cctest/test-disasm-arm.cc | 29 +- deps/v8/test/cctest/test-disasm-arm64.cc | 14 +- deps/v8/test/cctest/test-disasm-ia32.cc | 17 +- deps/v8/test/cctest/test-disasm-mips.cc | 20 +- deps/v8/test/cctest/test-disasm-mips64.cc | 20 +- deps/v8/test/cctest/test-disasm-ppc.cc | 20 +- deps/v8/test/cctest/test-disasm-s390.cc | 20 +- deps/v8/test/cctest/test-disasm-x64.cc | 19 +- deps/v8/test/cctest/test-diy-fp.cc | 4 +- deps/v8/test/cctest/test-double.cc | 6 +- deps/v8/test/cctest/test-dtoa.cc | 135 +- deps/v8/test/cctest/test-elements-kind.cc | 136 +- deps/v8/test/cctest/test-factory.cc | 94 +- deps/v8/test/cctest/test-fast-dtoa.cc | 84 +- deps/v8/test/cctest/test-feedback-vector.cc | 14 +- deps/v8/test/cctest/test-feedback-vector.h | 4 +- .../test/cctest/test-field-type-tracking.cc | 657 +- deps/v8/test/cctest/test-fixed-dtoa.cc | 226 +- deps/v8/test/cctest/test-flags.cc | 14 +- .../test/cctest/test-func-name-inference.cc | 14 +- deps/v8/test/cctest/test-fuzz-arm64.cc | 6 +- deps/v8/test/cctest/test-global-handles.cc | 252 +- deps/v8/test/cctest/test-global-object.cc | 4 +- deps/v8/test/cctest/test-hashcode.cc | 54 +- deps/v8/test/cctest/test-hashmap.cc | 4 +- deps/v8/test/cctest/test-heap-profiler.cc | 41 +- deps/v8/test/cctest/test-icache.cc | 8 +- deps/v8/test/cctest/test-identity-map.cc | 6 +- .../cctest/test-inobject-slack-tracking.cc | 121 +- deps/v8/test/cctest/test-intl.cc | 4 +- deps/v8/test/cctest/test-javascript-arm64.cc | 16 +- .../v8/test/cctest/test-js-arm64-variables.cc | 16 +- deps/v8/test/cctest/test-js-weak-refs.cc | 118 +- deps/v8/test/cctest/test-liveedit.cc | 15 +- deps/v8/test/cctest/test-lockers.cc | 17 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 18 +- deps/v8/test/cctest/test-log.cc | 91 +- .../test/cctest/test-macro-assembler-arm.cc | 26 +- .../test/cctest/test-macro-assembler-mips.cc | 54 +- .../cctest/test-macro-assembler-mips64.cc | 59 +- .../test/cctest/test-macro-assembler-x64.cc | 75 +- deps/v8/test/cctest/test-managed.cc | 2 +- deps/v8/test/cctest/test-mementos.cc | 10 +- deps/v8/test/cctest/test-modules.cc | 2 +- deps/v8/test/cctest/test-object.cc | 152 +- deps/v8/test/cctest/test-orderedhashtable.cc | 4 +- deps/v8/test/cctest/test-parsing.cc | 221 +- deps/v8/test/cctest/test-poison-disasm-arm.cc | 12 +- deps/v8/test/cctest/test-profile-generator.cc | 23 +- .../cctest/test-random-number-generator.cc | 6 +- deps/v8/test/cctest/test-regexp.cc | 44 +- deps/v8/test/cctest/test-representation.cc | 2 +- deps/v8/test/cctest/test-roots.cc | 4 +- deps/v8/test/cctest/test-sampler-api.cc | 18 +- deps/v8/test/cctest/test-serialize.cc | 158 +- .../cctest/test-smi-lexicographic-compare.cc | 8 +- .../test/cctest/test-stack-unwinding-x64.cc | 5 +- deps/v8/test/cctest/test-strings.cc | 73 +- deps/v8/test/cctest/test-strtod.cc | 32 +- deps/v8/test/cctest/test-symbols.cc | 6 +- .../test/cctest/test-sync-primitives-arm.cc | 10 +- .../test/cctest/test-sync-primitives-arm64.cc | 14 +- .../v8/test/cctest/test-thread-termination.cc | 8 +- deps/v8/test/cctest/test-threads.cc | 2 +- deps/v8/test/cctest/test-trace-event.cc | 2 +- deps/v8/test/cctest/test-transitions.cc | 20 +- deps/v8/test/cctest/test-transitions.h | 2 +- deps/v8/test/cctest/test-typedarrays.cc | 6 +- deps/v8/test/cctest/test-types.cc | 10 +- deps/v8/test/cctest/test-unboxed-doubles.cc | 175 +- .../test-unscopables-hidden-prototype.cc | 2 +- deps/v8/test/cctest/test-unwinder.cc | 34 +- deps/v8/test/cctest/test-usecounters.cc | 2 +- deps/v8/test/cctest/test-utils-arm64.cc | 16 +- deps/v8/test/cctest/test-utils-arm64.h | 9 +- deps/v8/test/cctest/test-utils.cc | 28 +- deps/v8/test/cctest/test-version.cc | 12 +- deps/v8/test/cctest/test-weakmaps.cc | 51 +- deps/v8/test/cctest/test-weaksets.cc | 39 +- deps/v8/test/cctest/torque/test-torque.cc | 39 +- deps/v8/test/cctest/trace-extension.cc | 6 +- deps/v8/test/cctest/trace-extension.h | 2 +- deps/v8/test/cctest/unicode-helpers.cc | 2 +- deps/v8/test/cctest/unicode-helpers.h | 2 +- deps/v8/test/cctest/wasm/test-c-wasm-entry.cc | 4 +- .../cctest/wasm/test-jump-table-assembler.cc | 8 +- deps/v8/test/cctest/wasm/test-run-wasm-64.cc | 4 +- .../test/cctest/wasm/test-run-wasm-asmjs.cc | 2 +- .../cctest/wasm/test-run-wasm-bulk-memory.cc | 14 +- .../cctest/wasm/test-run-wasm-exceptions.cc | 6 +- .../cctest/wasm/test-run-wasm-interpreter.cc | 9 +- deps/v8/test/cctest/wasm/test-run-wasm-js.cc | 21 +- .../test/cctest/wasm/test-run-wasm-module.cc | 247 +- .../v8/test/cctest/wasm/test-run-wasm-simd.cc | 2 +- deps/v8/test/cctest/wasm/test-run-wasm.cc | 78 +- .../cctest/wasm/test-streaming-compilation.cc | 13 +- .../test/cctest/wasm/test-wasm-breakpoints.cc | 24 +- .../wasm/test-wasm-import-wrapper-cache.cc | 60 +- .../wasm/test-wasm-interpreter-entry.cc | 6 +- .../cctest/wasm/test-wasm-serialization.cc | 8 +- .../cctest/wasm/test-wasm-shared-engine.cc | 9 +- deps/v8/test/cctest/wasm/test-wasm-stack.cc | 33 +- .../cctest/wasm/test-wasm-trap-position.cc | 27 +- deps/v8/test/cctest/wasm/wasm-run-utils.cc | 64 +- deps/v8/test/cctest/wasm/wasm-run-utils.h | 14 +- deps/v8/test/common/assembler-tester.h | 4 +- deps/v8/test/common/types-fuzz.h | 8 +- deps/v8/test/common/wasm/test-signatures.h | 41 +- deps/v8/test/common/wasm/wasm-macro-gen.h | 20 + .../v8/test/common/wasm/wasm-module-runner.cc | 23 +- deps/v8/test/common/wasm/wasm-module-runner.h | 9 +- .../debug/compiler/debug-catch-prediction.js | 6 + .../debug/compiler/osr-typing-debug-change.js | 4 + .../test/debugger/debug/debug-break-inline.js | 1 + .../debugger/debug/debug-compile-optimized.js | 3 + .../debug/debug-evaluate-arguments.js | 2 + .../debug-evaluate-locals-optimized-double.js | 1 + .../debug/debug-evaluate-locals-optimized.js | 1 + .../debugger/debug/debug-liveedit-inline.js | 3 +- .../test/debugger/debug/debug-materialized.js | 2 + deps/v8/test/debugger/debug/debug-optimize.js | 1 + deps/v8/test/debugger/debug/debug-scopes.js | 3 + .../debugger/debug/debug-step-turbofan.js | 1 + .../reject-in-constructor-opt.js | 3 + deps/v8/test/debugger/debug/for-in-opt.js | 9 + .../debug/harmony/modules-debug-scopes1.js | 1 + .../debug/ignition/optimized-debug-frame.js | 1 + .../debug/lazy-deopt-then-flush-bytecode.js | 1 + .../debugger/debug/regress/regress-392114.js | 1 + .../debugger/debug/regress/regress-4309-1.js | 2 + .../debugger/debug/regress/regress-4309-2.js | 2 + .../debugger/debug/regress/regress-4309-3.js | 2 + .../debugger/debug/regress/regress-4320.js | 1 + .../debugger/debug/regress/regress-514362.js | 1 + .../debugger/debug/regress/regress-5279.js | 12 +- .../debug/regress/regress-crbug-387599.js | 1 + .../debug/regress/regress-crbug-633999.js | 1 + .../regress-debug-code-recompilation.js | 2 + .../regress-debug-deopt-while-recompile.js | 7 +- .../regress/regress-opt-after-debug-deopt.js | 3 +- .../regress-prepare-break-while-recompile.js | 1 + .../test/debugger/regress/regress-5901-1.js | 1 + .../test/debugger/regress/regress-5901-2.js | 1 + deps/v8/test/debugger/regress/regress-5950.js | 1 + deps/v8/test/debugger/regress/regress-6526.js | 3 +- deps/v8/test/debugger/regress/regress-7421.js | 6 +- .../debugger/regress/regress-crbug-736758.js | 1 + deps/v8/test/fuzzer/fuzzer-support.cc | 2 +- deps/v8/test/fuzzer/multi-return.cc | 12 +- deps/v8/test/fuzzer/parser.cc | 4 +- deps/v8/test/fuzzer/regexp-builtins.cc | 5 +- deps/v8/test/fuzzer/regexp.cc | 2 +- deps/v8/test/fuzzer/wasm-async.cc | 9 +- deps/v8/test/fuzzer/wasm-code.cc | 8 +- deps/v8/test/fuzzer/wasm-compile.cc | 28 +- deps/v8/test/fuzzer/wasm-fuzzer-common.cc | 12 +- deps/v8/test/fuzzer/wasm.cc | 4 +- deps/v8/test/inspector/DEPS | 10 +- deps/v8/test/inspector/OWNERS | 1 + .../cpu-profiler/coverage-block-expected.txt | 85 +- ...asm-js-breakpoint-before-exec-expected.txt | 17 +- .../debugger/asm-js-breakpoint-before-exec.js | 1 + ...asm-js-breakpoint-during-exec-expected.txt | 12 +- .../debugger/asm-js-breakpoint-during-exec.js | 1 + .../debugger/framework-break-expected.txt | 6 +- .../inspector/debugger/framework-break.js | 2 + .../pause-inside-blackboxed-optimized.js | 1 + ...ipt-on-after-compile-snapshot-expected.txt | 28 + .../script-on-after-compile-snapshot.js | 39 + ...et-instrumentation-breakpoint-expected.txt | 89 + .../set-instrumentation-breakpoint.js | 131 + .../debugger/step-into-optimized-blackbox.js | 3 +- .../debugger/wasm-anyref-global-expected.txt | 7 + .../inspector/debugger/wasm-anyref-global.js | 83 + .../wasm-get-breakable-locations-expected.txt | 8 +- .../debugger/wasm-scope-info-expected.txt | 108 +- .../inspector/debugger/wasm-scope-info.js | 10 +- .../debugger/wasm-set-breakpoint-expected.txt | 6 +- .../debugger/wasm-stepping-expected.txt | 18 +- deps/v8/test/inspector/inspector-test.cc | 83 +- deps/v8/test/inspector/inspector.status | 3 + deps/v8/test/inspector/isolate-data.cc | 13 +- deps/v8/test/inspector/isolate-data.h | 4 +- .../runtime/enable-async-stack-expected.txt | 4 +- .../runtime/get-properties-expected.txt | 10 + .../test/inspector/runtime/get-properties.js | 17 +- deps/v8/test/inspector/task-runner.h | 4 +- .../test/intl/date-format/check-calendar.js | 60 + .../date-format/check-numbering-system.js | 68 + .../date-format/en-format-range-to-parts.js | 49 + .../intl/date-format/format-range-to-parts.js | 63 +- .../CanonicalizeLocaleListTakeLocale.js | 2 - .../test/intl/general/supported-locales-of.js | 10 +- deps/v8/test/intl/intl.status | 9 + deps/v8/test/intl/list-format/format.js | 4 + .../intl/locale/locale-canonicalization.js | 2 - .../v8/test/intl/locale/locale-constructor.js | 2 - deps/v8/test/intl/locale/locale-properties.js | 2 - deps/v8/test/intl/locale/maximize_minimize.js | 2 - deps/v8/test/intl/locale/property.js | 2 - deps/v8/test/intl/locale/regress-8032.js | 2 - .../number-format/check-numbering-system.js | 68 + .../number-format/unified/compact-display.js | 15 + .../unified/constructor-order.js | 70 + .../number-format/unified/currency-display.js | 39 + .../number-format/unified/currency-sign.js | 41 + .../unified/no-compact-display.js | 30 + .../intl/number-format/unified/notation.js | 89 + .../number-format/unified/sign-display.js | 28 + .../intl/number-format/unified/style-unit.js | 180 + .../number-format/unified/unit-display.js | 36 + deps/v8/test/intl/regress-7982.js | 2 - deps/v8/test/intl/regress-8604.js | 8 + deps/v8/test/intl/regress-8657.js | 2 - deps/v8/test/intl/regress-966285.js | 10 + deps/v8/test/intl/regress-971636.js | 10 + .../relative-time-format/numberingSystems.js | 46 + deps/v8/test/js-perf-test/Array/slice.js | 141 +- .../test/js-perf-test/ArraySort/sort-base.js | 4 +- deps/v8/test/js-perf-test/BigInt/run.js | 28 + .../v8/test/js-perf-test/BigInt/to-boolean.js | 59 + deps/v8/test/js-perf-test/Intl/constructor.js | 12 + deps/v8/test/js-perf-test/JSTests1.json | 29 + deps/v8/test/js-perf-test/JSTests2.json | 17 + deps/v8/test/js-perf-test/JSTests3.json | 8 +- deps/v8/test/js-perf-test/JSTests5.json | 17 +- .../ManyClosures/create-many-closures.js | 1 + .../ObjectFreeze/array-indexof-includes.js | 53 + deps/v8/test/js-perf-test/ObjectFreeze/run.js | 2 + .../js-perf-test/ObjectFreeze/spread-call.js | 59 + .../test/js-perf-test/StackTrace/capture.js | 1 + .../test/js-perf-test/StackTrace/serialize.js | 1 + .../message/fail/class-field-constructor.js | 2 - .../message/fail/class-field-constructor.out | 2 +- .../fail/class-field-static-constructor.js | 2 - .../fail/class-field-static-constructor.out | 2 +- .../fail/class-field-static-prototype.js | 2 - .../fail/class-field-static-prototype.out | 2 +- .../message/fail/class-fields-computed.js | 2 - .../message/fail/class-fields-computed.out | 4 +- .../class-fields-private-class-in-function.js | 2 - ...class-fields-private-class-in-function.out | 4 +- .../class-fields-private-outside-class.js | 6 + .../class-fields-private-outside-class.out | 4 + .../class-fields-private-source-positions.js | 2 - .../class-fields-private-source-positions.out | 4 +- .../class-fields-private-throw-early-2.js | 2 - .../class-fields-private-throw-early-2.out | 6 +- .../fail/class-fields-private-throw-early.js | 2 - .../fail/class-fields-private-throw-early.out | 4 +- .../class-fields-private-throw-in-module.js | 1 - .../class-fields-private-throw-in-module.out | 4 +- .../fail/class-fields-private-throw-read.js | 2 - .../fail/class-fields-private-throw-read.out | 6 +- .../fail/class-fields-private-throw-write.js | 2 - .../fail/class-fields-private-throw-write.out | 6 +- ...ss-fields-private-undeclared-lazy-class.js | 13 + ...s-fields-private-undeclared-lazy-class.out | 4 + ...ss-fields-private-undefined-inner-class.js | 2 - ...s-fields-private-undefined-inner-class.out | 4 +- .../message/fail/class-fields-static-throw.js | 2 - .../fail/class-fields-static-throw.out | 4 +- .../test/message/fail/class-fields-throw.js | 2 - .../test/message/fail/class-fields-throw.out | 8 +- .../fail/destructuring-object-private-name.js | 2 - .../destructuring-object-private-name.out | 2 +- .../fail/json-stringify-circular-ellipsis.out | 1 + ...n-stringify-circular-max-display-depth.out | 1 + .../fail/json-stringify-circular-proxy.out | 1 + .../json-stringify-circular-substructure.out | 1 + .../message/fail/json-stringify-circular.out | 1 + .../message/fail/wasm-async-compile-fail.js | 10 + .../message/fail/wasm-async-compile-fail.out | 5 + .../fail/wasm-async-instantiate-fail.js | 10 + .../fail/wasm-async-instantiate-fail.out | 5 + .../message/fail/wasm-exception-rethrow.js | 21 + .../message/fail/wasm-exception-rethrow.out | 4 + .../test/message/fail/wasm-exception-throw.js | 17 + .../message/fail/wasm-exception-throw.out | 4 + .../fail/wasm-streaming-compile-fail.js | 12 + .../fail/wasm-streaming-compile-fail.out | 5 + .../fail/wasm-streaming-instantiate-fail.js | 12 + .../fail/wasm-streaming-instantiate-fail.out | 5 + .../message/fail/wasm-sync-compile-fail.js | 9 + .../message/fail/wasm-sync-compile-fail.out | 6 + ...assert-promise-result-wasm-compile-fail.js | 2 + ...ssert-promise-result-wasm-compile-fail.out | 2 + deps/v8/test/mjsunit/allocation-site-info.js | 6 + deps/v8/test/mjsunit/arguments-deopt.js | 13 + .../mjsunit/array-constructor-feedback.js | 8 +- .../v8/test/mjsunit/array-literal-feedback.js | 16 +- .../test/mjsunit/array-literal-transitions.js | 10 + .../mjsunit/array-methods-read-only-length.js | 6 + .../v8/test/mjsunit/array-natives-elements.js | 1 + deps/v8/test/mjsunit/array-push12.js | 1 + deps/v8/test/mjsunit/array-push3.js | 3 +- deps/v8/test/mjsunit/array-push9.js | 1 + deps/v8/test/mjsunit/array-shift2.js | 1 + deps/v8/test/mjsunit/array-shift4.js | 1 + deps/v8/test/mjsunit/array-sort.js | 9 +- deps/v8/test/mjsunit/array-store-and-grow.js | 3 + .../mjsunit/async-stack-traces-promise-all.js | 2 + deps/v8/test/mjsunit/async-stack-traces.js | 18 + .../test/mjsunit/code-coverage-block-opt.js | 9 +- deps/v8/test/mjsunit/code-coverage-block.js | 55 +- .../mjsunit/code-coverage-class-fields.js | 144 +- .../compare-known-objects-tostringtag.js | 4 + .../test/mjsunit/compiler-regress-787301.js | 1 + deps/v8/test/mjsunit/compiler/array-access.js | 108 +- .../mjsunit/compiler/array-constructor.js | 77 +- deps/v8/test/mjsunit/compiler/array-every.js | 50 +- deps/v8/test/mjsunit/compiler/array-find.js | 50 +- .../test/mjsunit/compiler/array-findindex.js | 50 +- .../test/mjsunit/compiler/array-is-array.js | 44 + deps/v8/test/mjsunit/compiler/array-length.js | 30 +- .../mjsunit/compiler/array-slice-clone.js | 52 +- deps/v8/test/mjsunit/compiler/array-some.js | 50 +- .../concurrent-invalidate-transition-map.js | 1 - .../compiler/constant-fold-add-static.js | 16 + .../compiler/constant-fold-cow-array.js | 50 +- .../compiler/field-representation-tracking.js | 16 +- .../compiler/load-elimination-const-field.js | 156 + ...ative-context-specialization-hole-check.js | 3 +- .../compiler/number-comparison-truncations.js | 3 + .../test/mjsunit/compiler/optimized-for-in.js | 3 + .../v8/test/mjsunit/compiler/osr-alignment.js | 3 + .../v8/test/mjsunit/compiler/osr-array-len.js | 1 + deps/v8/test/mjsunit/compiler/osr-assert.js | 1 + .../mjsunit/compiler/osr-block-scope-id.js | 1 + .../test/mjsunit/compiler/osr-block-scope.js | 7 + deps/v8/test/mjsunit/compiler/osr-for-let.js | 5 + .../test/mjsunit/compiler/osr-forin-nested.js | 2 + deps/v8/test/mjsunit/compiler/osr-infinite.js | 8 + deps/v8/test/mjsunit/compiler/osr-labeled.js | 2 + .../mjsunit/compiler/osr-literals-adapted.js | 5 + deps/v8/test/mjsunit/compiler/osr-literals.js | 5 + deps/v8/test/mjsunit/compiler/osr-manual1.js | 2 + deps/v8/test/mjsunit/compiler/osr-manual2.js | 1 + deps/v8/test/mjsunit/compiler/osr-maze1.js | 1 + deps/v8/test/mjsunit/compiler/osr-maze2.js | 1 + deps/v8/test/mjsunit/compiler/osr-nested.js | 1 + deps/v8/test/mjsunit/compiler/osr-nested2b.js | 2 +- deps/v8/test/mjsunit/compiler/osr-one.js | 1 + deps/v8/test/mjsunit/compiler/osr-regex-id.js | 4 + deps/v8/test/mjsunit/compiler/osr-simple.js | 1 + .../v8/test/mjsunit/compiler/osr-try-catch.js | 3 + deps/v8/test/mjsunit/compiler/osr-two.js | 1 + .../v8/test/mjsunit/compiler/osr-while-let.js | 2 + .../test/mjsunit/compiler/regress-607493.js | 2 + .../test/mjsunit/compiler/regress-645851.js | 1 + .../test/mjsunit/compiler/regress-650215.js | 1 + .../test/mjsunit/compiler/regress-669517.js | 6 +- .../test/mjsunit/compiler/regress-673244.js | 1 + .../test/mjsunit/compiler/regress-803022.js | 1 + deps/v8/test/mjsunit/compiler/regress-9017.js | 39 + .../test/mjsunit/compiler/regress-9137-1.js | 24 + .../test/mjsunit/compiler/regress-9137-2.js | 28 + .../test/mjsunit/compiler/regress-919754.js | 1 + .../test/mjsunit/compiler/regress-957559.js | 20 + .../test/mjsunit/compiler/regress-958021.js | 22 + .../test/mjsunit/compiler/regress-958350.js | 18 + .../test/mjsunit/compiler/regress-958420.js | 18 + .../test/mjsunit/compiler/regress-961986.js | 17 + .../test/mjsunit/compiler/regress-966560-1.js | 20 + .../test/mjsunit/compiler/regress-966560-2.js | 14 + .../mjsunit/compiler/regress-crbug-965513.js | 15 + .../test/mjsunit/compiler/regress-v8-9139.js | 20 + deps/v8/test/mjsunit/compiler/spread-call.js | 3 + .../mjsunit/compiler/string-startswith.js | 81 + deps/v8/test/mjsunit/compiler/try-osr.js | 4 + .../concurrent-initial-prototype-change.js | 2 + deps/v8/test/mjsunit/const-field-tracking.js | 98 +- deps/v8/test/mjsunit/constant-folding-2.js | 1 + deps/v8/test/mjsunit/constant-folding.js | 2 - .../test/mjsunit/context-calls-maintained.js | 8 +- deps/v8/test/mjsunit/cross-realm-filtering.js | 12 +- deps/v8/test/mjsunit/dehoisted-array-index.js | 9 + .../mjsunit/deopt-recursive-eager-once.js | 6 +- .../test/mjsunit/deopt-recursive-lazy-once.js | 6 +- .../test/mjsunit/deopt-recursive-soft-once.js | 6 +- deps/v8/test/mjsunit/deopt-unlinked.js | 8 +- deps/v8/test/mjsunit/deopt-with-fp-regs.js | 1 + .../mjsunit/deserialize-optimize-inner.js | 1 + deps/v8/test/mjsunit/dictionary-prototypes.js | 11 + deps/v8/test/mjsunit/div-mul-minus-one.js | 3 +- deps/v8/test/mjsunit/elements-kind.js | 7 +- .../mjsunit/elements-transition-hoisting.js | 7 + .../test/mjsunit/elide-double-hole-check-1.js | 2 + .../mjsunit/elide-double-hole-check-10.js | 2 + .../mjsunit/elide-double-hole-check-11.js | 1 + .../mjsunit/elide-double-hole-check-12.js | 1 + .../test/mjsunit/elide-double-hole-check-4.js | 1 + .../test/mjsunit/elide-double-hole-check-5.js | 3 +- .../test/mjsunit/elide-double-hole-check-6.js | 1 + .../test/mjsunit/elide-double-hole-check-7.js | 1 + .../test/mjsunit/elide-double-hole-check-8.js | 1 + .../mjsunit/ensure-growing-store-learns.js | 4 + .../mjsunit/es6/array-iterator-detached.js | 1 + .../test/mjsunit/es6/array-iterator-turbo.js | 2 + .../es6/block-let-crankshaft-sloppy.js | 6 + .../test/mjsunit/es6/block-let-crankshaft.js | 9 + .../es6/block-let-declaration-sloppy.js | 26 +- .../test/mjsunit/es6/block-let-declaration.js | 26 +- .../test/mjsunit/es6/block-scoping-sloppy.js | 2 + deps/v8/test/mjsunit/es6/block-scoping.js | 2 + .../call-with-spread-modify-array-iterator.js | 1 + .../es6/call-with-spread-modify-next.js | 1 + deps/v8/test/mjsunit/es6/call-with-spread.js | 2 + deps/v8/test/mjsunit/es6/classes.js | 6 + .../test/mjsunit/es6/collection-iterator.js | 1 + ...collections-constructor-custom-iterator.js | 4 + ...ctions-constructor-iterator-side-effect.js | 4 + ...nstructor-with-modified-array-prototype.js | 4 + ...ions-constructor-with-modified-protoype.js | 4 + .../es6/computed-property-names-deopt.js | 1 + ...ucturing-parameters-literalcount-nolazy.js | 2 + .../destructuring-parameters-literalcount.js | 2 + .../mjsunit/es6/indexed-integer-exotics.js | 1 + .../v8/test/mjsunit/es6/instanceof-proxies.js | 2 + .../es6/map-constructor-entry-side-effect.js | 2 + .../es6/map-constructor-entry-side-effect2.js | 3 + .../es6/map-constructor-entry-side-effect3.js | 2 + .../es6/map-constructor-entry-side-effect4.js | 3 + deps/v8/test/mjsunit/es6/math-clz32.js | 1 + deps/v8/test/mjsunit/es6/math-fround.js | 1 + deps/v8/test/mjsunit/es6/math-trunc.js | 4 + .../mjsunit/es6/object-literals-method.js | 1 + .../es6/proxies-cross-realm-exception.js | 1 + .../proxies-get-own-property-descriptor.js | 4 +- deps/v8/test/mjsunit/es6/proxies.js | 1 + .../mjsunit/es6/reflect-define-property.js | 6 + .../mjsunit/es6/regress/regress-347906.js | 1 + .../test/mjsunit/es6/regress/regress-3741.js | 1 + .../mjsunit/es6/regress/regress-411237.js | 2 + .../test/mjsunit/es6/regress/regress-4160.js | 2 + .../mjsunit/es6/regress/regress-508074.js | 1 + .../test/mjsunit/es6/regress/regress-5598.js | 1 + .../mjsunit/es6/regress/regress-666622.js | 2 + .../test/mjsunit/es6/regress/regress-9234.js | 35 + .../es6/regress/regress-crbug-448730.js | 1 + .../es6/regress/regress-inlined-new-target.js | 1 + deps/v8/test/mjsunit/es6/spread-array-misc.js | 10 + .../es6/spread-array-mutated-prototype.js | 4 + .../es6/spread-array-pristine-prototype.js | 1 + .../es6/spread-array-prototype-proxy.js | 1 + .../es6/spread-array-prototype-setter1.js | 1 + .../es6/spread-array-prototype-setter2.js | 1 + deps/v8/test/mjsunit/es6/spread-call.js | 1 + ...super-with-spread-modify-array-iterator.js | 1 + .../es6/super-with-spread-modify-next.js | 1 + deps/v8/test/mjsunit/es6/super-with-spread.js | 1 + deps/v8/test/mjsunit/es6/symbols.js | 2 + ...ray-neutered.js => typedarray-detached.js} | 9 +- .../test/mjsunit/es6/typedarray-tostring.js | 6 +- deps/v8/test/mjsunit/es6/typedarray.js | 10 +- .../test/mjsunit/es9/object-spread-basic.js | 48 +- .../mjsunit/es9/regress/regress-866357.js | 1 + .../mjsunit/es9/regress/regress-866727.js | 3 +- deps/v8/test/mjsunit/fast-prototype.js | 58 +- deps/v8/test/mjsunit/field-type-tracking.js | 14 +- deps/v8/test/mjsunit/filter-element-kinds.js | 1 + .../fixed-context-shapes-when-recompiling.js | 481 +- .../test/mjsunit/generated-transition-stub.js | 4 + deps/v8/test/mjsunit/getters-on-elements.js | 9 + .../v8/test/mjsunit/global-infinity-strict.js | 2 + deps/v8/test/mjsunit/global-nan-strict.js | 2 + deps/v8/test/mjsunit/global-nan.js | 1 + .../test/mjsunit/global-undefined-strict.js | 2 + deps/v8/test/mjsunit/global-undefined.js | 2 + .../harmony/bigint/regress-tonumbercode.js | 1 + deps/v8/test/mjsunit/harmony/bigint/turbo.js | 1 + .../test/mjsunit/harmony/bigint/typedarray.js | 1 + .../mjsunit/harmony/block-lazy-compile.js | 1 + .../mjsunit/harmony/generators-reduced.js | 1 + deps/v8/test/mjsunit/harmony/generators.js | 1 + .../harmony/modules-import-namespace.js | 1 + .../test/mjsunit/harmony/private-fields-ic.js | 2 - .../harmony/private-fields-special-object.js | 2 +- .../mjsunit/harmony/private-fields-static.js | 2 +- .../v8/test/mjsunit/harmony/private-fields.js | 2 +- .../test/mjsunit/harmony/private-methods.js | 95 + .../harmony/public-instance-class-fields.js | 1 - .../harmony/public-static-class-fields.js | 2 - .../harmony/regress-generators-resume.js | 1 + .../mjsunit/harmony/regress/regress-772649.js | 1 + .../mjsunit/harmony/regress/regress-8808.js | 2 - .../harmony/regress/regress-crbug-347528.js | 1 + .../test/mjsunit/harmony/sharedarraybuffer.js | 17 +- .../string-matchAll-deleted-matchAll.js | 2 - .../test/mjsunit/harmony/string-matchAll.js | 2 - deps/v8/test/mjsunit/harmony/to-string.js | 52 +- .../weakrefs/cleanup-on-detached-realm.js | 22 + .../weakrefs/cleanupsome-after-unregister.js | 3 + .../well-formed-json-stringify-checked.js | 2 - .../well-formed-json-stringify-unchecked.js | 2 - .../mjsunit/ignition/osr-from-bytecode.js | 1 + .../mjsunit/ignition/osr-from-generator.js | 4 + .../v8/test/mjsunit/ignition/throw-if-hole.js | 4 + .../mjsunit/ignition/throw-if-not-hole.js | 6 + .../ignition/throw-super-not-called.js | 4 + .../immutable-context-slot-inlining.js | 1 + .../mjsunit/induction-variable-turbofan.js | 1 + .../mjsunit/integrity-level-map-update.js | 1 + .../test/mjsunit/interrupt-budget-override.js | 2 +- deps/v8/test/mjsunit/json-parse-slice.js | 6 + deps/v8/test/mjsunit/json-parser-recursive.js | 3 +- .../test/mjsunit/json-stringify-typedarray.js | 18 + deps/v8/test/mjsunit/json.js | 3 + deps/v8/test/mjsunit/keyed-has-ic.js | 34 +- deps/v8/test/mjsunit/keyed-ic.js | 67 + .../mjsunit/keyed-load-hole-to-undefined.js | 1 + .../test/mjsunit/keyed-load-null-receiver.js | 42 + .../mjsunit/keyed-load-with-string-key.js | 1 + .../mjsunit/keyed-load-with-symbol-key.js | 1 + .../large-object-literal-slow-elements.js | 1 + deps/v8/test/mjsunit/lea-add.js | 4 + deps/v8/test/mjsunit/lithium/DivI.js | 2 + deps/v8/test/mjsunit/lithium/MathExp.js | 1 + deps/v8/test/mjsunit/lithium/MulI.js | 3 + deps/v8/test/mjsunit/lithium/StoreKeyed.js | 2 + .../mjsunit/lithium/StoreKeyedExternal.js | 5 + deps/v8/test/mjsunit/load_poly_effect.js | 1 + deps/v8/test/mjsunit/math-abs.js | 5 +- deps/v8/test/mjsunit/math-ceil.js | 4 + deps/v8/test/mjsunit/math-deopt.js | 10 + .../mjsunit/math-floor-of-div-minus-zero.js | 1 + .../test/mjsunit/math-floor-of-div-nosudiv.js | 8 + deps/v8/test/mjsunit/math-floor-part1.js | 6 + deps/v8/test/mjsunit/math-floor-part4.js | 8 +- deps/v8/test/mjsunit/math-min-max.js | 2 + deps/v8/test/mjsunit/math-pow.js | 1 + deps/v8/test/mjsunit/math-round.js | 5 +- deps/v8/test/mjsunit/mjsunit.js | 6 + deps/v8/test/mjsunit/mjsunit.status | 99 +- deps/v8/test/mjsunit/modules-turbo1.js | 1 + deps/v8/test/mjsunit/modules-turbo2.js | 1 + deps/v8/test/mjsunit/never-optimize.js | 3 + deps/v8/test/mjsunit/number-isnan-opt.js | 5 + deps/v8/test/mjsunit/object-freeze.js | 219 + .../v8/test/mjsunit/object-keys-typedarray.js | 17 + .../test/mjsunit/object-prevent-extensions.js | 181 +- deps/v8/test/mjsunit/object-seal.js | 219 +- deps/v8/test/mjsunit/optimized-filter.js | 54 +- .../test/mjsunit/optimized-foreach-holey-2.js | 3 +- .../test/mjsunit/optimized-foreach-holey.js | 3 +- .../mjsunit/optimized-foreach-polymorph.js | 15 +- .../mjsunit/optimized-includes-polymorph.js | 1 + deps/v8/test/mjsunit/optimized-map.js | 93 +- deps/v8/test/mjsunit/optimized-reduce.js | 5 +- .../mjsunit/parallel-optimize-disabled.js | 2 + deps/v8/test/mjsunit/pixel-array-rounding.js | 1 + .../promise-perform-all-resolve-lookup.js | 28 + ...mise-perform-all-settled-resolve-lookup.js | 28 + .../promise-perfrom-race-resolve-lookup.js | 28 + .../v8/test/mjsunit/prototype-non-existing.js | 2 + .../regexp-override-symbol-match-all.js | 2 - deps/v8/test/mjsunit/regress-906893.js | 1 + deps/v8/test/mjsunit/regress-918763.js | 1 + deps/v8/test/mjsunit/regress-958725.js | 25 + deps/v8/test/mjsunit/regress-963346.js | 15 + deps/v8/test/mjsunit/regress-966460.js | 11 + deps/v8/test/mjsunit/regress-v8-8445-2.js | 2 +- deps/v8/test/mjsunit/regress-v8-8445.js | 2 +- .../regress/binop-in-effect-context-deopt.js | 2 + .../call-function-in-effect-context-deopt.js | 1 + deps/v8/test/mjsunit/regress/regress-1118.js | 4 + deps/v8/test/mjsunit/regress/regress-1257.js | 1 + deps/v8/test/mjsunit/regress/regress-2132.js | 2 + deps/v8/test/mjsunit/regress/regress-2339.js | 2 + deps/v8/test/mjsunit/regress/regress-2451.js | 1 + .../v8/test/mjsunit/regress/regress-252797.js | 1 + deps/v8/test/mjsunit/regress/regress-2618.js | 4 +- .../v8/test/mjsunit/regress/regress-298269.js | 1 + deps/v8/test/mjsunit/regress/regress-2989.js | 2 +- deps/v8/test/mjsunit/regress/regress-3032.js | 10 +- .../v8/test/mjsunit/regress/regress-3650-3.js | 1 + deps/v8/test/mjsunit/regress/regress-3709.js | 1 + .../v8/test/mjsunit/regress/regress-379770.js | 1 + .../v8/test/mjsunit/regress/regress-385565.js | 4 + deps/v8/test/mjsunit/regress/regress-3976.js | 2 +- deps/v8/test/mjsunit/regress/regress-4121.js | 1 + deps/v8/test/mjsunit/regress/regress-4380.js | 1 + deps/v8/test/mjsunit/regress/regress-5252.js | 2 + deps/v8/test/mjsunit/regress/regress-5262.js | 1 + .../v8/test/mjsunit/regress/regress-612412.js | 1 + .../v8/test/mjsunit/regress/regress-6607-1.js | 1 + .../v8/test/mjsunit/regress/regress-6607-2.js | 1 + .../v8/test/mjsunit/regress/regress-666046.js | 1 + deps/v8/test/mjsunit/regress/regress-6941.js | 1 + deps/v8/test/mjsunit/regress/regress-6948.js | 1 + deps/v8/test/mjsunit/regress/regress-6989.js | 8 + deps/v8/test/mjsunit/regress/regress-6991.js | 1 + .../v8/test/mjsunit/regress/regress-7014-1.js | 2 + .../v8/test/mjsunit/regress/regress-7014-2.js | 2 + deps/v8/test/mjsunit/regress/regress-7135.js | 2 + .../v8/test/mjsunit/regress/regress-852765.js | 16 +- deps/v8/test/mjsunit/regress/regress-8913.js | 1 + deps/v8/test/mjsunit/regress/regress-9017.js | 15 + .../v8/test/mjsunit/regress/regress-902552.js | 12 +- .../v8/test/mjsunit/regress/regress-903697.js | 14 +- deps/v8/test/mjsunit/regress/regress-9105.js | 11 + deps/v8/test/mjsunit/regress/regress-9165.js | 47 + .../v8/test/mjsunit/regress/regress-961237.js | 15 + .../v8/test/mjsunit/regress/regress-961508.js | 7 + .../v8/test/mjsunit/regress/regress-963891.js | 14 + .../v8/test/mjsunit/regress/regress-976627.js | 40 + .../mjsunit/regress/regress-crbug-150545.js | 2 + .../mjsunit/regress/regress-crbug-319860.js | 1 + .../mjsunit/regress/regress-crbug-480807.js | 2 + .../mjsunit/regress/regress-crbug-513507.js | 2 + .../mjsunit/regress/regress-crbug-522895.js | 4 +- .../mjsunit/regress/regress-crbug-554831.js | 1 + .../mjsunit/regress/regress-crbug-587068.js | 1 + .../mjsunit/regress/regress-crbug-594183.js | 3 + .../mjsunit/regress/regress-crbug-638551.js | 2 + .../mjsunit/regress/regress-crbug-640369.js | 2 + .../mjsunit/regress/regress-crbug-645888.js | 1 + .../mjsunit/regress/regress-crbug-662830.js | 1 + .../mjsunit/regress/regress-crbug-665587.js | 1 + .../mjsunit/regress/regress-crbug-668795.js | 1 + .../mjsunit/regress/regress-crbug-827013.js | 13 +- .../mjsunit/regress/regress-crbug-882233-2.js | 2 + .../mjsunit/regress/regress-crbug-899464.js | 2 - .../mjsunit/regress/regress-crbug-9161.js | 59 + .../mjsunit/regress/regress-crbug-934166.js | 22 +- .../mjsunit/regress/regress-crbug-935800.js | 12 + .../mjsunit/regress/regress-crbug-937734.js | 5 +- .../mjsunit/regress/regress-crbug-941703.js | 5 + .../mjsunit/regress/regress-crbug-951400.js | 20 + .../mjsunit/regress/regress-crbug-959645-1.js | 15 + .../mjsunit/regress/regress-crbug-959645-2.js | 15 + .../mjsunit/regress/regress-crbug-959727.js | 11 + .../mjsunit/regress/regress-crbug-961522.js | 17 + .../mjsunit/regress/regress-crbug-961709-1.js | 15 + .../mjsunit/regress/regress-crbug-961709-2.js | 19 + .../mjsunit/regress/regress-crbug-963568.js | 6 + .../mjsunit/regress/regress-crbug-964833.js | 32 + .../mjsunit/regress/regress-crbug-964869.js | 5 + .../mjsunit/regress/regress-crbug-967065.js | 16 + .../mjsunit/regress/regress-crbug-967151.js | 12 + .../mjsunit/regress/regress-crbug-967254.js | 17 + .../mjsunit/regress/regress-crbug-967434.js | 36 + .../mjsunit/regress/regress-crbug-971383.js | 7 + .../mjsunit/regress/regress-crbug-980529.js | 19 + .../mjsunit/regress/regress-osr-context.js | 1 + .../regress/regress-param-local-type.js | 2 + .../regress/regress-store-uncacheable.js | 1 + .../regress/regress-sync-optimized-lists.js | 2 +- .../regress-trap-allocation-memento.js | 5 + .../test/mjsunit/regress/regress-v8-4153-1.js | 14 + .../test/mjsunit/regress/regress-v8-7682.js | 4 +- .../test/mjsunit/regress/regress-v8-9243.js | 26 + .../test/mjsunit/regress/regress-v8-9267-1.js | 23 + .../test/mjsunit/regress/regress-v8-9267-2.js | 23 + .../mjsunit/regress/wasm/regress-834619.js | 1 + .../test/mjsunit/regress/wasm/regress-9017.js | 38 + .../mjsunit/regress/wasm/regress-952342.js | 18 + .../mjsunit/regress/wasm/regress-956771.js | 28 + .../mjsunit/regress/wasm/regress-956771b.js | 19 + .../mjsunit/regress/wasm/regress-957405.js | 20 + .../mjsunit/regress/wasm/regress-961129.js | 18 + .../mjsunit/regress/wasm/regress-964607.js | 29 + deps/v8/test/mjsunit/reindexing-in-classes.js | 72 + .../mjsunit/shared-function-tier-up-turbo.js | 3 +- deps/v8/test/mjsunit/shift-for-integer-div.js | 6 + deps/v8/test/mjsunit/sin-cos.js | 1 + deps/v8/test/mjsunit/smi-mul-const.js | 1 + deps/v8/test/mjsunit/smi-mul.js | 2 + deps/v8/test/mjsunit/smi-representation.js | 1 - .../stack-trace-cpp-function-template-1.js | 37 + .../stack-trace-cpp-function-template-2.js | 45 + deps/v8/test/mjsunit/strict-mode.js | 10 +- .../mjsunit/string-charcodeat-external.js | 1 + deps/v8/test/mjsunit/string-deopt.js | 16 +- .../v8/test/mjsunit/strong-rooted-literals.js | 13 +- deps/v8/test/mjsunit/switch.js | 1 + deps/v8/test/mjsunit/tools/trace-ic.js | 62 + deps/v8/test/mjsunit/track-fields.js | 12 +- deps/v8/test/mjsunit/ubsan-fuzzerbugs.js | 18 - deps/v8/test/mjsunit/unary-minus-deopt.js | 2 + deps/v8/test/mjsunit/unbox-double-arrays.js | 11 + deps/v8/test/mjsunit/unbox-smi-field.js | 1 + deps/v8/test/mjsunit/undetectable.js | 5 + .../v8/test/mjsunit/value-wrapper-accessor.js | 4 + deps/v8/test/mjsunit/wasm/anyfunc.js | 101 +- deps/v8/test/mjsunit/wasm/anyref-globals.js | 86 + deps/v8/test/mjsunit/wasm/anyref-table.js | 16 + .../test/mjsunit/wasm/bulk-memory-spec/README | 19 + .../mjsunit/wasm/bulk-memory-spec/binary.wast | 1047 ++ .../wasm/bulk-memory-spec/binary.wast.js | 445 + .../mjsunit/wasm/bulk-memory-spec/bulk.wast | 308 + .../wasm/bulk-memory-spec/bulk.wast.js | 470 + .../mjsunit/wasm/bulk-memory-spec/custom.wast | 130 + .../wasm/bulk-memory-spec/custom.wast.js | 170 + .../wasm/bulk-memory-spec/linking.wast | 392 + .../wasm/bulk-memory-spec/linking.wast.js | 505 + .../wasm/bulk-memory-spec/memory_copy.wast | 5685 +++++++ .../wasm/bulk-memory-spec/memory_copy.wast.js | 13859 ++++++++++++++++ .../wasm/bulk-memory-spec/memory_fill.wast | 673 + .../wasm/bulk-memory-spec/memory_fill.wast.js | 440 + .../wasm/bulk-memory-spec/memory_init.wast | 947 ++ .../wasm/bulk-memory-spec/memory_init.wast.js | 866 + .../wasm/bulk-memory-spec/table_copy.wast | 1469 ++ .../wasm/bulk-memory-spec/table_copy.wast.js | 2651 +++ .../wasm/bulk-memory-spec/table_init.wast | 1602 ++ .../wasm/bulk-memory-spec/table_init.wast.js | 2096 +++ deps/v8/test/mjsunit/wasm/bulk-memory.js | 11 +- .../compilation-hints-async-compilation.js | 32 +- .../mjsunit/wasm/compilation-hints-decoder.js | 56 +- .../mjsunit/wasm/compilation-hints-ignored.js | 6 +- .../wasm/compilation-hints-interpreter.js | 113 + .../wasm/compilation-hints-lazy-validation.js | 38 + ...compilation-hints-streaming-compilation.js | 53 +- ...ilation-hints-streaming-lazy-validation.js | 33 + .../compilation-hints-sync-compilation.js | 30 +- .../wasm/compiled-module-serialization.js | 2 +- .../v8/test/mjsunit/wasm/exceptions-anyref.js | 45 + deps/v8/test/mjsunit/wasm/import-table.js | 36 +- .../wasm/indirect-call-non-zero-table.js | 8 +- deps/v8/test/mjsunit/wasm/indirect-tables.js | 8 +- deps/v8/test/mjsunit/wasm/interpreter.js | 2 +- deps/v8/test/mjsunit/wasm/js-api.js | 2 +- .../wasm/multi-table-element-section.js | 134 +- deps/v8/test/mjsunit/wasm/return-calls.js | 4 +- deps/v8/test/mjsunit/wasm/streaming-api.js | 43 +- deps/v8/test/mjsunit/wasm/table-access.js | 30 +- deps/v8/test/mjsunit/wasm/table-fill.js | 200 + deps/v8/test/mjsunit/wasm/table-get.js | 18 +- .../test/mjsunit/wasm/table-grow-from-wasm.js | 240 + deps/v8/test/mjsunit/wasm/table-grow.js | 4 +- deps/v8/test/mjsunit/wasm/type-reflection.js | 100 +- .../test/mjsunit/wasm/wasm-module-builder.js | 57 +- deps/v8/test/mkgrokdump/mkgrokdump.cc | 158 +- deps/v8/test/mozilla/mozilla.status | 30 +- deps/v8/test/test262/test262.status | 42 +- deps/v8/test/test262/testcfg.py | 14 +- deps/v8/test/torque/test-torque.tq | 111 +- deps/v8/test/unittests/BUILD.gn | 46 +- .../test/unittests/api/exception-unittest.cc | 2 +- .../v8/test/unittests/api/isolate-unittest.cc | 8 +- .../unittests/api/remote-object-unittest.cc | 8 +- .../test/unittests/api/v8-object-unittest.cc | 5 +- .../unittests/asmjs/asm-scanner-unittest.cc | 2 +- .../assembler/turbo-assembler-arm-unittest.cc | 118 +- .../turbo-assembler-arm64-unittest.cc | 119 +- .../turbo-assembler-ia32-unittest.cc | 4 +- .../turbo-assembler-mips-unittest.cc | 6 +- .../turbo-assembler-mips64-unittest.cc | 6 +- .../assembler/turbo-assembler-ppc-unittest.cc | 6 +- .../turbo-assembler-s390-unittest.cc | 6 +- .../assembler/turbo-assembler-x64-unittest.cc | 4 +- .../base/division-by-constant-unittest.cc | 5 +- deps/v8/test/unittests/base/flags-unittest.cc | 7 +- .../unittests/base/functional-unittest.cc | 19 +- .../test/unittests/base/iterator-unittest.cc | 2 +- .../test/unittests/base/logging-unittest.cc | 2 +- .../test/unittests/base/ostreams-unittest.cc | 2 +- .../unittests/base/platform/time-unittest.cc | 2 +- .../unittests/base/threaded-list-unittest.cc | 2 +- .../code-stub-assembler-unittest.cc | 10 +- .../code-stub-assembler-unittest.h | 2 +- .../register-configuration-unittest.cc | 2 +- .../source-position-table-unittest.cc | 6 +- .../compiler-dispatcher-unittest.cc | 12 +- .../optimizing-compile-dispatcher-unittest.cc | 14 +- .../arm/instruction-selector-arm-unittest.cc | 47 +- .../instruction-selector-arm64-unittest.cc | 362 +- .../backend/instruction-selector-unittest.cc | 10 +- .../backend/instruction-selector-unittest.h | 91 +- .../backend/instruction-sequence-unittest.h | 12 +- .../compiler/backend/instruction-unittest.cc | 2 +- .../compiler/bytecode-analysis-unittest.cc | 4 +- .../compiler/code-assembler-unittest.cc | 8 +- .../common-operator-reducer-unittest.cc | 4 +- .../constant-folding-reducer-unittest.cc | 4 +- .../compiler/control-equivalence-unittest.cc | 2 +- .../decompression-elimination-unittest.cc | 1094 ++ .../effect-control-linearizer-unittest.cc | 30 +- .../test/unittests/compiler/graph-unittest.cc | 3 +- .../test/unittests/compiler/graph-unittest.h | 2 +- .../instruction-selector-ia32-unittest.cc | 12 +- .../compiler/int64-lowering-unittest.cc | 4 +- .../compiler/js-call-reducer-unittest.cc | 4 +- .../compiler/js-create-lowering-unittest.cc | 8 +- .../js-intrinsic-lowering-unittest.cc | 31 - ...-native-context-specialization-unittest.cc | 2 +- .../compiler/js-typed-lowering-unittest.cc | 4 +- .../machine-operator-reducer-unittest.cc | 35 +- .../compiler/machine-operator-unittest.cc | 14 +- deps/v8/test/unittests/compiler/mips/OWNERS | 1 - .../instruction-selector-mips-unittest.cc | 90 +- deps/v8/test/unittests/compiler/mips64/OWNERS | 1 - .../instruction-selector-mips64-unittest.cc | 77 +- .../unittests/compiler/node-cache-unittest.cc | 2 +- .../unittests/compiler/node-test-utils.cc | 6 +- .../test/unittests/compiler/node-test-utils.h | 2 +- .../test/unittests/compiler/node-unittest.cc | 3 +- .../ppc/instruction-selector-ppc-unittest.cc | 2 +- .../compiler/regalloc/live-range-unittest.cc | 4 +- .../regalloc/move-optimizer-unittest.cc | 2 +- .../regalloc/register-allocator-unittest.cc | 21 +- deps/v8/test/unittests/compiler/s390/OWNERS | 4 - .../instruction-selector-s390-unittest.cc | 2 +- .../unittests/compiler/schedule-unittest.cc | 7 +- .../simplified-operator-reducer-unittest.cc | 6 +- .../compiler/simplified-operator-unittest.cc | 19 +- .../compiler/state-values-utils-unittest.cc | 2 +- .../compiler/typed-optimization-unittest.cc | 4 +- .../test/unittests/compiler/typer-unittest.cc | 6 +- .../x64/instruction-selector-x64-unittest.cc | 27 +- .../unittests/date/date-cache-unittest.cc | 109 + .../eh-frame-iterator-unittest.cc | 2 +- .../eh-frame-writer-unittest.cc | 2 +- .../microtask-queue-unittest.cc | 14 +- .../heap/code-object-registry-unittest.cc | 92 + .../heap/embedder-tracing-unittest.cc | 21 +- .../test/unittests/heap/gc-tracer-unittest.cc | 176 +- .../heap/heap-controller-unittest.cc | 121 +- deps/v8/test/unittests/heap/heap-unittest.cc | 4 +- .../heap/item-parallel-job-unittest.cc | 2 +- .../test/unittests/heap/marking-unittest.cc | 2 +- .../unittests/heap/memory-reducer-unittest.cc | 2 +- .../unittests/heap/object-stats-unittest.cc | 2 +- .../unittests/heap/scavenge-job-unittest.cc | 4 +- .../test/unittests/heap/slot-set-unittest.cc | 6 +- .../v8/test/unittests/heap/spaces-unittest.cc | 4 +- .../test/unittests/heap/unmapper-unittest.cc | 8 +- .../bytecode-array-builder-unittest.cc | 8 +- .../bytecode-array-iterator-unittest.cc | 10 +- ...bytecode-array-random-iterator-unittest.cc | 18 +- .../bytecode-array-writer-unittest.cc | 12 +- .../interpreter/bytecode-decoder-unittest.cc | 4 +- .../interpreter/bytecode-node-unittest.cc | 2 +- .../interpreter/bytecode-operands-unittest.cc | 4 +- .../bytecode-register-allocator-unittest.cc | 4 +- .../bytecode-register-optimizer-unittest.cc | 2 +- .../bytecode-source-info-unittest.cc | 2 +- .../unittests/interpreter/bytecode-utils.h | 2 +- .../interpreter/bytecodes-unittest.cc | 2 +- .../constant-array-builder-unittest.cc | 28 +- .../interpreter-assembler-unittest.cc | 8 +- ...ult-worker-threads-task-runner-unittest.cc | 20 + .../{ => logging}/counters-unittest.cc | 25 +- .../{ => numbers}/bigint-unittest.cc | 8 +- .../{ => numbers}/conversions-unittest.cc | 4 +- .../{ => objects}/object-unittest.cc | 14 +- .../value-serializer-unittest.cc | 6 +- .../unittests/parser/ast-value-unittest.cc | 4 +- .../unittests/parser/preparser-unittest.cc | 4 +- .../strings-storage-unittest.cc | 2 +- .../regress/regress-crbug-938251-unittest.cc | 2 +- deps/v8/test/unittests/run-all-unittests.cc | 1 + .../{ => strings}/char-predicates-unittest.cc | 9 +- .../{ => strings}/unicode-unittest.cc | 39 +- .../background-compile-task-unittest.cc | 14 +- .../{ => tasks}/cancelable-tasks-unittest.cc | 2 +- deps/v8/test/unittests/test-helpers.cc | 10 +- deps/v8/test/unittests/test-utils.cc | 14 +- deps/v8/test/unittests/test-utils.h | 12 +- .../unittests/torque/ls-message-unittest.cc | 93 +- .../torque/ls-server-data-unittest.cc | 156 +- .../test/unittests/torque/torque-unittest.cc | 197 + .../unittests/torque/torque-utils-unittest.cc | 11 +- deps/v8/test/unittests/unittests.status | 5 + .../{ => utils}/allocation-unittest.cc | 2 +- .../{ => utils}/detachable-vector-unittest.cc | 2 +- .../{ => utils}/locked-queue-unittest.cc | 8 +- .../unittests/{ => utils}/utils-unittest.cc | 22 +- .../wasm/control-transfer-unittest.cc | 2 +- .../test/unittests/wasm/decoder-unittest.cc | 2 +- .../wasm/function-body-decoder-unittest.cc | 154 +- .../unittests/wasm/leb-helper-unittest.cc | 2 +- .../wasm/loop-assignment-analysis-unittest.cc | 8 +- .../unittests/wasm/module-decoder-unittest.cc | 87 +- .../wasm/streaming-decoder-unittest.cc | 2 +- .../wasm/trap-handler-win-unittest.cc | 2 +- .../wasm/trap-handler-x64-unittest.cc | 10 +- .../wasm/wasm-code-manager-unittest.cc | 102 +- .../unittests/wasm/wasm-compiler-unittest.cc | 4 +- .../wasm/wasm-module-builder-unittest.cc | 4 +- deps/v8/test/wasm-api-tests/BUILD.gn | 35 + deps/v8/test/wasm-api-tests/DEPS | 5 + deps/v8/test/wasm-api-tests/OWNERS | 1 + deps/v8/test/wasm-api-tests/callbacks.cc | 195 + .../wasm-api-tests/run-all-wasm-api-tests.cc | 17 + deps/v8/test/wasm-api-tests/testcfg.py | 85 + .../test/wasm-api-tests/wasm-api-tests.status | 16 + deps/v8/test/wasm-spec-tests/OWNERS | 1 - .../v8/test/wasm-spec-tests/tests.tar.gz.sha1 | 2 +- deps/v8/test/webkit/webkit.status | 9 +- .../inspector_protocol/.clang-format | 36 + .../third_party/inspector_protocol/BUILD.gn | 34 + .../third_party/inspector_protocol/README.v8 | 2 +- .../inspector_protocol/code_generator.py | 32 +- .../convert_protocol_to_json.py | 2 - .../inspector_protocol/encoding/encoding.cc | 2190 +++ .../inspector_protocol/encoding/encoding.h | 510 + .../encoding/encoding_test.cc | 1878 +++ .../encoding/encoding_test_helper.h | 33 + .../lib/Values_cpp.template | 9 +- .../lib/base_string_adapter_cc.template | 69 - .../lib/base_string_adapter_h.template | 6 - .../lib/encoding_cpp.template | 395 +- .../lib/encoding_h.template | 60 +- deps/v8/third_party/inspector_protocol/pdl.py | 24 +- .../v8/third_party/inspector_protocol/roll.py | 47 +- .../templates/TypeBuilder_cpp.template | 4 +- .../templates/TypeBuilder_h.template | 4 +- deps/v8/third_party/v8/builtins/array-sort.tq | 395 +- deps/v8/tools/BUILD.gn | 1 + deps/v8/tools/OWNERS | 4 +- deps/v8/tools/bash-completion.sh | 6 +- deps/v8/tools/cfi/blacklist.txt | 2 +- deps/v8/tools/check-static-initializers.sh | 4 +- deps/v8/tools/clusterfuzz/OWNERS | 4 +- .../clusterfuzz/testdata/failure_output.txt | 4 +- .../testdata/sanity_check_output.txt | 7 +- deps/v8/tools/clusterfuzz/v8_foozzie.py | 13 +- deps/v8/tools/clusterfuzz/v8_foozzie_test.py | 2 +- deps/v8/tools/clusterfuzz/v8_fuzz_config.py | 7 +- deps/v8/tools/clusterfuzz/v8_sanity_checks.js | 3 +- deps/v8/tools/codemap.js | 14 +- deps/v8/tools/dev/gm.py | 10 +- deps/v8/tools/dumpcpp-driver.js | 3 +- deps/v8/tools/gcmole/BUILD.gn | 2 + deps/v8/tools/gcmole/README | 2 +- deps/v8/tools/gcmole/gcmole-test.cc | 6 +- deps/v8/tools/gcmole/package.sh | 0 deps/v8/tools/gcmole/run-gcmole.py | 2 +- deps/v8/tools/gdbinit | 85 + deps/v8/tools/gen-postmortem-metadata.py | 23 +- .../tools/generate-header-include-checks.py | 4 +- deps/v8/tools/js2c.py | 13 +- deps/v8/tools/mb/mb.py | 54 +- deps/v8/tools/mb/mb_unittest.py | 26 +- deps/v8/tools/node/build_gn.py | 143 - deps/v8/tools/node/test_update_node.py | 125 - .../node/testdata/node/deps/v8/.gitignore | 7 - .../node/testdata/node/deps/v8/baz/delete_me | 1 - .../node/testdata/node/deps/v8/baz/v8_foo | 1 - .../node/testdata/node/deps/v8/delete_me | 1 - .../node/deps/v8/include/v8-version.h | 20 - .../tools/node/testdata/node/deps/v8/v8_foo | 1 - deps/v8/tools/node/testdata/v8/.gitignore | 3 - .../v8/base/trace_event/common/common | 0 deps/v8/tools/node/testdata/v8/baz/v8_foo | 1 - deps/v8/tools/node/testdata/v8/baz/v8_new | 1 - deps/v8/tools/node/testdata/v8/new/v8_new | 1 - .../testdata/v8/testing/gtest/baz/gtest_foo | 1 - .../testdata/v8/testing/gtest/baz/gtest_new | 1 - .../node/testdata/v8/testing/gtest/gtest_bar | 1 - .../node/testdata/v8/testing/gtest/gtest_new | 1 - .../testdata/v8/testing/gtest/new/gtest_new | 1 - deps/v8/tools/node/testdata/v8/v8_foo | 1 - deps/v8/tools/node/testdata/v8/v8_new | 1 - deps/v8/tools/node/update_node.py | 180 - deps/v8/tools/profviz/worker.js | 2 +- deps/v8/tools/run-wasm-api-tests.py | 16 +- deps/v8/tools/run_perf.py | 937 +- deps/v8/tools/shell-utils.h | 2 +- deps/v8/tools/testrunner/OWNERS | 4 +- deps/v8/tools/testrunner/base_runner.py | 27 +- deps/v8/tools/testrunner/local/command.py | 9 +- .../v8/tools/testrunner/local/junit_output.py | 49 - deps/v8/tools/testrunner/local/variants.py | 4 +- deps/v8/tools/testrunner/objects/output.py | 16 +- deps/v8/tools/testrunner/objects/testcase.py | 9 +- deps/v8/tools/testrunner/standard_runner.py | 5 +- deps/v8/tools/testrunner/testproc/progress.py | 63 +- deps/v8/tools/tick-processor.html | 3 +- deps/v8/tools/tickprocessor-driver.js | 3 +- deps/v8/tools/tickprocessor.js | 15 +- deps/v8/tools/torque/format-torque.py | 21 +- deps/v8/tools/torque/make-torque-parser.py | 71 - .../tools/torque/vim-torque/syntax/torque.vim | 2 +- .../tools/torque/vscode-torque/package.json | 8 +- .../syntaxes/torque.tmLanguage.json | 350 +- deps/v8/tools/unittests/run_perf_test.py | 277 +- .../testdata/testroot1/v8_build_config.json | 1 + .../testdata/testroot2/v8_build_config.json | 1 + deps/v8/tools/v8_presubmit.py | 8 +- deps/v8/tools/v8heapconst.py | 462 +- deps/v8/tools/vim/ninja-build.vim | 5 +- deps/v8/tools/wasm-compilation-hints/OWNERS | 2 + .../inject-compilation-hints.py | 60 + .../wasm-objdump-compilation-hints.py | 47 + deps/v8/tools/wasm-compilation-hints/wasm.py | 108 + deps/v8/tools/whitespace.txt | 2 +- 2692 files changed, 122870 insertions(+), 67915 deletions(-) create mode 100644 deps/v8/COMMON_OWNERS create mode 100644 deps/v8/ENG_REVIEW_OWNERS create mode 100644 deps/v8/INFRA_OWNERS rename deps/v8/{src/builtins/mips/OWNERS => MIPS_OWNERS} (100%) rename deps/v8/{src/builtins/ppc/OWNERS => PPC_OWNERS} (100%) rename deps/v8/{src/builtins/s390/OWNERS => S390_OWNERS} (100%) delete mode 100644 deps/v8/benchmarks/micro/slice-perf.js create mode 100644 deps/v8/build_overrides/OWNERS create mode 100644 deps/v8/docs/OWNERS create mode 100644 deps/v8/gni/OWNERS rename deps/v8/{ => gni}/snapshot_toolchain.gni (100%) create mode 100644 deps/v8/samples/OWNERS rename deps/v8/src/{ => api}/api-arguments-inl.h (97%) rename deps/v8/src/{ => api}/api-arguments.cc (87%) rename deps/v8/src/{ => api}/api-arguments.h (95%) rename deps/v8/src/{ => api}/api-inl.h (93%) rename deps/v8/src/{ => api}/api-natives.cc (89%) rename deps/v8/src/{ => api}/api-natives.h (89%) rename deps/v8/src/{ => api}/api.cc (92%) rename deps/v8/src/{ => api}/api.h (97%) delete mode 100644 deps/v8/src/arm64/cpu-arm64.cc delete mode 100644 deps/v8/src/assembler-arch.h delete mode 100644 deps/v8/src/assembler-inl.h delete mode 100644 deps/v8/src/base/format-macros.h rename deps/v8/src/{ => base}/type-traits.h (91%) rename deps/v8/src/{ => builtins}/accessors.cc (94%) rename deps/v8/src/{ => builtins}/accessors.h (93%) create mode 100644 deps/v8/src/builtins/boolean.tq delete mode 100644 deps/v8/src/builtins/builtins-boolean.cc create mode 100644 deps/v8/src/builtins/internal-coverage.tq create mode 100644 deps/v8/src/builtins/math.tq delete mode 100644 deps/v8/src/builtins/mips64/OWNERS create mode 100644 deps/v8/src/builtins/proxy-get-property.tq create mode 100644 deps/v8/src/builtins/proxy-has-property.tq create mode 100644 deps/v8/src/builtins/proxy-set-property.tq create mode 100644 deps/v8/src/builtins/string-iterator.tq create mode 100644 deps/v8/src/builtins/string-slice.tq create mode 100644 deps/v8/src/builtins/string-substring.tq create mode 100644 deps/v8/src/builtins/string.tq create mode 100644 deps/v8/src/codegen/OWNERS rename deps/v8/src/{ => codegen}/arm/assembler-arm-inl.h (80%) rename deps/v8/src/{ => codegen}/arm/assembler-arm.cc (90%) rename deps/v8/src/{ => codegen}/arm/assembler-arm.h (82%) rename deps/v8/src/{ => codegen}/arm/constants-arm.cc (74%) rename deps/v8/src/{ => codegen}/arm/constants-arm.h (79%) rename deps/v8/src/{ => codegen}/arm/cpu-arm.cc (64%) rename deps/v8/src/{ => codegen}/arm/interface-descriptors-arm.cc (99%) rename deps/v8/src/{ => codegen}/arm/macro-assembler-arm.cc (93%) rename deps/v8/src/{ => codegen}/arm/macro-assembler-arm.h (92%) rename deps/v8/src/{ => codegen}/arm/register-arm.h (97%) rename deps/v8/src/{ => codegen}/arm64/assembler-arm64-inl.h (90%) rename deps/v8/src/{ => codegen}/arm64/assembler-arm64.cc (92%) rename deps/v8/src/{ => codegen}/arm64/assembler-arm64.h (92%) rename deps/v8/src/{ => codegen}/arm64/constants-arm64.h (79%) create mode 100644 deps/v8/src/codegen/arm64/cpu-arm64.cc rename deps/v8/src/{ => codegen}/arm64/decoder-arm64-inl.h (92%) rename deps/v8/src/{ => codegen}/arm64/decoder-arm64.cc (95%) rename deps/v8/src/{ => codegen}/arm64/decoder-arm64.h (93%) rename deps/v8/src/{ => codegen}/arm64/instructions-arm64-constants.cc (100%) rename deps/v8/src/{ => codegen}/arm64/instructions-arm64.cc (96%) rename deps/v8/src/{ => codegen}/arm64/instructions-arm64.h (94%) rename deps/v8/src/{ => codegen}/arm64/instrument-arm64.cc (92%) rename deps/v8/src/{ => codegen}/arm64/instrument-arm64.h (72%) rename deps/v8/src/{ => codegen}/arm64/interface-descriptors-arm64.cc (99%) rename deps/v8/src/{ => codegen}/arm64/macro-assembler-arm64-inl.h (84%) rename deps/v8/src/{ => codegen}/arm64/macro-assembler-arm64.cc (88%) rename deps/v8/src/{ => codegen}/arm64/macro-assembler-arm64.h (89%) rename deps/v8/src/{ => codegen}/arm64/register-arm64.cc (99%) rename deps/v8/src/{ => codegen}/arm64/register-arm64.h (98%) rename deps/v8/src/{ => codegen}/arm64/utils-arm64.cc (98%) rename deps/v8/src/{ => codegen}/arm64/utils-arm64.h (94%) create mode 100644 deps/v8/src/codegen/assembler-arch.h create mode 100644 deps/v8/src/codegen/assembler-inl.h rename deps/v8/src/{ => codegen}/assembler.cc (81%) rename deps/v8/src/{ => codegen}/assembler.h (90%) rename deps/v8/src/{ => codegen}/bailout-reason.cc (96%) rename deps/v8/src/{ => codegen}/bailout-reason.h (97%) rename deps/v8/src/{ => codegen}/callable.h (79%) rename deps/v8/src/{ => codegen}/code-comments.cc (97%) rename deps/v8/src/{ => codegen}/code-comments.h (94%) rename deps/v8/src/{ => codegen}/code-desc.cc (96%) rename deps/v8/src/{ => codegen}/code-desc.h (95%) rename deps/v8/src/{ => codegen}/code-factory.cc (95%) rename deps/v8/src/{ => codegen}/code-factory.h (93%) rename deps/v8/src/{ => codegen}/code-reference.cc (90%) rename deps/v8/src/{ => codegen}/code-reference.h (91%) rename deps/v8/src/{ => codegen}/code-stub-assembler.cc (94%) rename deps/v8/src/{ => codegen}/code-stub-assembler.h (95%) rename deps/v8/src/{ => codegen}/compilation-cache.cc (92%) rename deps/v8/src/{ => codegen}/compilation-cache.h (92%) rename deps/v8/src/{ => codegen}/compiler.cc (96%) rename deps/v8/src/{ => codegen}/compiler.h (97%) rename deps/v8/src/{ => codegen}/constant-pool.cc (98%) rename deps/v8/src/{ => codegen}/constant-pool.h (95%) create mode 100644 deps/v8/src/codegen/constants-arch.h rename deps/v8/src/{ => codegen}/cpu-features.h (94%) rename deps/v8/src/{ => codegen}/external-reference-table.cc (98%) rename deps/v8/src/{ => codegen}/external-reference-table.h (93%) rename deps/v8/src/{ => codegen}/external-reference.cc (97%) rename deps/v8/src/{ => codegen}/external-reference.h (97%) rename deps/v8/src/{ => codegen}/flush-instruction-cache.cc (83%) rename deps/v8/src/{ => codegen}/flush-instruction-cache.h (80%) rename deps/v8/src/{ => codegen}/handler-table.cc (84%) rename deps/v8/src/{ => codegen}/handler-table.h (93%) rename deps/v8/src/{ => codegen}/ia32/assembler-ia32-inl.h (90%) rename deps/v8/src/{ => codegen}/ia32/assembler-ia32.cc (98%) rename deps/v8/src/{ => codegen}/ia32/assembler-ia32.h (96%) rename deps/v8/src/{ => codegen}/ia32/constants-ia32.h (80%) rename deps/v8/src/{ => codegen}/ia32/cpu-ia32.cc (97%) rename deps/v8/src/{ => codegen}/ia32/interface-descriptors-ia32.cc (99%) rename deps/v8/src/{ => codegen}/ia32/macro-assembler-ia32.cc (97%) rename deps/v8/src/{ => codegen}/ia32/macro-assembler-ia32.h (95%) rename deps/v8/src/{ => codegen}/ia32/register-ia32.h (94%) rename deps/v8/src/{ => codegen}/ia32/sse-instr.h (95%) rename deps/v8/src/{ => codegen}/interface-descriptors.cc (99%) rename deps/v8/src/{ => codegen}/interface-descriptors.h (99%) rename deps/v8/src/{ => codegen}/label.h (97%) rename deps/v8/src/{ => codegen}/machine-type.cc (97%) rename deps/v8/src/{ => codegen}/machine-type.h (85%) create mode 100644 deps/v8/src/codegen/macro-assembler-inl.h rename deps/v8/src/{ => codegen}/macro-assembler.h (85%) rename deps/v8/src/{ => codegen}/mips/assembler-mips-inl.h (92%) rename deps/v8/src/{ => codegen}/mips/assembler-mips.cc (94%) rename deps/v8/src/{ => codegen}/mips/assembler-mips.h (97%) rename deps/v8/src/{ => codegen}/mips/constants-mips.cc (86%) rename deps/v8/src/{ => codegen}/mips/constants-mips.h (96%) rename deps/v8/src/{ => codegen}/mips/cpu-mips.cc (82%) rename deps/v8/src/{ => codegen}/mips/interface-descriptors-mips.cc (94%) rename deps/v8/src/{ => codegen}/mips/macro-assembler-mips.cc (97%) rename deps/v8/src/{ => codegen}/mips/macro-assembler-mips.h (94%) rename deps/v8/src/{ => codegen}/mips/register-mips.h (97%) rename deps/v8/src/{ => codegen}/mips64/assembler-mips64-inl.h (90%) rename deps/v8/src/{ => codegen}/mips64/assembler-mips64.cc (94%) rename deps/v8/src/{ => codegen}/mips64/assembler-mips64.h (97%) rename deps/v8/src/{ => codegen}/mips64/constants-mips64.cc (86%) rename deps/v8/src/{ => codegen}/mips64/constants-mips64.h (97%) rename deps/v8/src/{ => codegen}/mips64/cpu-mips64.cc (83%) rename deps/v8/src/{ => codegen}/mips64/interface-descriptors-mips64.cc (97%) rename deps/v8/src/{ => codegen}/mips64/macro-assembler-mips64.cc (97%) rename deps/v8/src/{ => codegen}/mips64/macro-assembler-mips64.h (94%) rename deps/v8/src/{ => codegen}/mips64/register-mips64.h (97%) rename deps/v8/src/{ => codegen}/optimized-compilation-info.cc (95%) rename deps/v8/src/{ => codegen}/optimized-compilation-info.h (95%) rename deps/v8/src/{ => codegen}/ppc/assembler-ppc-inl.h (90%) rename deps/v8/src/{ => codegen}/ppc/assembler-ppc.cc (97%) rename deps/v8/src/{ => codegen}/ppc/assembler-ppc.h (96%) rename deps/v8/src/{ => codegen}/ppc/code-stubs-ppc.cc (60%) rename deps/v8/src/{ => codegen}/ppc/constants-ppc.cc (97%) rename deps/v8/src/{ => codegen}/ppc/constants-ppc.h (72%) rename deps/v8/src/{ => codegen}/ppc/cpu-ppc.cc (81%) rename deps/v8/src/{ => codegen}/ppc/interface-descriptors-ppc.cc (99%) rename deps/v8/src/{ => codegen}/ppc/macro-assembler-ppc.cc (97%) rename deps/v8/src/{ => codegen}/ppc/macro-assembler-ppc.h (97%) rename deps/v8/src/{ => codegen}/ppc/register-ppc.h (96%) create mode 100644 deps/v8/src/codegen/register-arch.h rename deps/v8/src/{ => codegen}/register-configuration.cc (96%) rename deps/v8/src/{ => codegen}/register-configuration.h (95%) rename deps/v8/src/{ => codegen}/register.h (96%) rename deps/v8/src/{ => codegen}/reglist.h (88%) rename deps/v8/src/{ => codegen}/reloc-info.cc (90%) rename deps/v8/src/{ => codegen}/reloc-info.h (91%) rename deps/v8/src/{ => codegen}/s390/assembler-s390-inl.h (91%) rename deps/v8/src/{ => codegen}/s390/assembler-s390.cc (96%) rename deps/v8/src/{ => codegen}/s390/assembler-s390.h (70%) rename deps/v8/src/{ => codegen}/s390/code-stubs-s390.cc (62%) rename deps/v8/src/{ => codegen}/s390/constants-s390.cc (99%) rename deps/v8/src/{ => codegen}/s390/constants-s390.h (97%) rename deps/v8/src/{ => codegen}/s390/cpu-s390.cc (95%) rename deps/v8/src/{ => codegen}/s390/interface-descriptors-s390.cc (99%) rename deps/v8/src/{ => codegen}/s390/macro-assembler-s390.cc (97%) rename deps/v8/src/{ => codegen}/s390/macro-assembler-s390.h (97%) rename deps/v8/src/{ => codegen}/s390/register-s390.h (97%) rename deps/v8/src/{ => codegen}/safepoint-table.cc (68%) rename deps/v8/src/{ => codegen}/safepoint-table.h (68%) rename deps/v8/src/{ => codegen}/signature.h (94%) rename deps/v8/src/{ => codegen}/source-position-table.cc (96%) rename deps/v8/src/{ => codegen}/source-position-table.h (93%) rename deps/v8/src/{ => codegen}/source-position.cc (80%) rename deps/v8/src/{ => codegen}/source-position.h (91%) rename deps/v8/src/{ => codegen}/string-constants.cc (98%) rename deps/v8/src/{ => codegen}/string-constants.h (95%) rename deps/v8/src/{ => codegen}/turbo-assembler.cc (97%) rename deps/v8/src/{ => codegen}/turbo-assembler.h (93%) rename deps/v8/src/{ => codegen}/unoptimized-compilation-info.cc (93%) rename deps/v8/src/{ => codegen}/unoptimized-compilation-info.h (91%) rename deps/v8/src/{ => codegen}/x64/assembler-x64-inl.h (81%) rename deps/v8/src/{ => codegen}/x64/assembler-x64.cc (98%) rename deps/v8/src/{ => codegen}/x64/assembler-x64.h (97%) rename deps/v8/src/{ => codegen}/x64/constants-x64.h (76%) rename deps/v8/src/{ => codegen}/x64/cpu-x64.cc (97%) rename deps/v8/src/{ => codegen}/x64/interface-descriptors-x64.cc (99%) rename deps/v8/src/{ => codegen}/x64/macro-assembler-x64.cc (95%) rename deps/v8/src/{ => codegen}/x64/macro-assembler-x64.h (94%) rename deps/v8/src/{ => codegen}/x64/register-x64.h (96%) rename deps/v8/src/{ => codegen}/x64/sse-instr.h (96%) rename deps/v8/src/{ => common}/assert-scope.cc (98%) rename deps/v8/src/{ => common}/assert-scope.h (69%) rename deps/v8/src/{ => common}/checks.h (82%) rename deps/v8/src/{ => common}/globals.h (92%) rename deps/v8/src/{ => common}/ptr-compr-inl.h (52%) rename deps/v8/src/{ => common}/ptr-compr.h (82%) rename deps/v8/src/{ => common}/v8memory.h (83%) delete mode 100644 deps/v8/src/compiler/backend/mips/OWNERS delete mode 100644 deps/v8/src/compiler/backend/mips64/OWNERS delete mode 100644 deps/v8/src/compiler/backend/s390/OWNERS create mode 100644 deps/v8/src/compiler/decompression-elimination.cc create mode 100644 deps/v8/src/compiler/decompression-elimination.h create mode 100644 deps/v8/src/compiler/map-inference.cc create mode 100644 deps/v8/src/compiler/map-inference.h rename deps/v8/src/{ => compiler}/vector-slot-pair.cc (92%) rename deps/v8/src/{ => compiler}/vector-slot-pair.h (85%) create mode 100644 deps/v8/src/compiler/write-barrier-kind.h delete mode 100644 deps/v8/src/constants-arch.h create mode 100644 deps/v8/src/d8/OWNERS rename deps/v8/src/{ => d8}/async-hooks-wrapper.cc (98%) rename deps/v8/src/{ => d8}/async-hooks-wrapper.h (93%) rename deps/v8/src/{ => d8}/d8-console.cc (98%) rename deps/v8/src/{ => d8}/d8-console.h (95%) rename deps/v8/src/{ => d8}/d8-js.cc (99%) rename deps/v8/src/{ => d8}/d8-platforms.cc (99%) rename deps/v8/src/{ => d8}/d8-platforms.h (90%) rename deps/v8/src/{ => d8}/d8-posix.cc (92%) rename deps/v8/src/{ => d8}/d8-windows.cc (94%) rename deps/v8/src/{ => d8}/d8.cc (97%) rename deps/v8/src/{ => d8}/d8.h (88%) create mode 100644 deps/v8/src/date/OWNERS rename deps/v8/src/{ => date}/date.cc (91%) rename deps/v8/src/{ => date}/date.h (97%) rename deps/v8/src/{ => date}/dateparser-inl.h (93%) rename deps/v8/src/{ => date}/dateparser.cc (61%) rename deps/v8/src/{ => date}/dateparser.h (91%) delete mode 100644 deps/v8/src/debug/mips/OWNERS delete mode 100644 deps/v8/src/debug/mips64/OWNERS delete mode 100644 deps/v8/src/debug/s390/OWNERS create mode 100644 deps/v8/src/deoptimizer/OWNERS rename deps/v8/src/{ => deoptimizer}/arm/deoptimizer-arm.cc (93%) rename deps/v8/src/{ => deoptimizer}/arm64/deoptimizer-arm64.cc (92%) rename deps/v8/src/{ => deoptimizer}/deoptimize-reason.cc (95%) rename deps/v8/src/{ => deoptimizer}/deoptimize-reason.h (96%) rename deps/v8/src/{ => deoptimizer}/deoptimizer.cc (92%) rename deps/v8/src/{ => deoptimizer}/deoptimizer.h (96%) rename deps/v8/src/{ => deoptimizer}/ia32/deoptimizer-ia32.cc (95%) rename deps/v8/src/{ => deoptimizer}/mips/deoptimizer-mips.cc (97%) rename deps/v8/src/{ => deoptimizer}/mips64/deoptimizer-mips64.cc (97%) rename deps/v8/src/{ => deoptimizer}/ppc/deoptimizer-ppc.cc (97%) rename deps/v8/src/{ => deoptimizer}/s390/deoptimizer-s390.cc (98%) rename deps/v8/src/{ => deoptimizer}/x64/deoptimizer-x64.cc (94%) create mode 100644 deps/v8/src/diagnostics/OWNERS rename deps/v8/src/{ => diagnostics}/arm/disasm-arm.cc (95%) rename deps/v8/src/{ => diagnostics}/arm/eh-frame-arm.cc (97%) rename deps/v8/src/{ => diagnostics}/arm64/disasm-arm64.cc (87%) rename deps/v8/src/{ => diagnostics}/arm64/disasm-arm64.h (82%) rename deps/v8/src/{ => diagnostics}/arm64/eh-frame-arm64.cc (94%) rename deps/v8/src/{ => diagnostics}/basic-block-profiler.cc (94%) rename deps/v8/src/{ => diagnostics}/basic-block-profiler.h (90%) rename deps/v8/src/{ => diagnostics}/code-tracer.h (80%) rename deps/v8/src/{ => diagnostics}/compilation-statistics.cc (86%) rename deps/v8/src/{ => diagnostics}/compilation-statistics.h (86%) rename deps/v8/src/{ => diagnostics}/disasm.h (94%) rename deps/v8/src/{ => diagnostics}/disassembler.cc (88%) rename deps/v8/src/{ => diagnostics}/disassembler.h (83%) rename deps/v8/src/{ => diagnostics}/eh-frame.cc (98%) rename deps/v8/src/{ => diagnostics}/eh-frame.h (97%) rename deps/v8/src/{ => diagnostics}/gdb-jit.cc (86%) rename deps/v8/src/{ => diagnostics}/gdb-jit.h (93%) rename deps/v8/src/{ => diagnostics}/ia32/disasm-ia32.cc (78%) rename deps/v8/src/{ => diagnostics}/mips/disasm-mips.cc (97%) rename deps/v8/src/{ => diagnostics}/mips64/disasm-mips64.cc (98%) rename deps/v8/src/{ => diagnostics}/objects-debug.cc (54%) rename deps/v8/src/{ => diagnostics}/objects-printer.cc (83%) rename deps/v8/src/{ => diagnostics}/perf-jit.cc (86%) rename deps/v8/src/{ => diagnostics}/perf-jit.h (97%) rename deps/v8/src/{ => diagnostics}/ppc/disasm-ppc.cc (98%) rename deps/v8/src/{ => diagnostics}/s390/disasm-s390.cc (79%) rename deps/v8/src/{ => diagnostics}/unwinder.cc (95%) rename deps/v8/src/{ => diagnostics}/unwinding-info-win64.cc (82%) rename deps/v8/src/{ => diagnostics}/unwinding-info-win64.h (94%) rename deps/v8/src/{ => diagnostics}/x64/disasm-x64.cc (87%) rename deps/v8/src/{ => diagnostics}/x64/eh-frame-x64.cc (97%) create mode 100644 deps/v8/src/execution/OWNERS rename deps/v8/src/{ => execution}/arguments-inl.h (57%) rename deps/v8/src/{ => execution}/arguments.cc (94%) rename deps/v8/src/{ => execution}/arguments.h (92%) rename deps/v8/src/{ => execution}/arm/frame-constants-arm.cc (80%) rename deps/v8/src/{ => execution}/arm/frame-constants-arm.h (92%) rename deps/v8/src/{ => execution}/arm/simulator-arm.cc (95%) rename deps/v8/src/{ => execution}/arm/simulator-arm.h (88%) rename deps/v8/src/{ => execution}/arm64/frame-constants-arm64.cc (81%) rename deps/v8/src/{ => execution}/arm64/frame-constants-arm64.h (91%) rename deps/v8/src/{ => execution}/arm64/simulator-arm64.cc (89%) rename deps/v8/src/{ => execution}/arm64/simulator-arm64.h (97%) rename deps/v8/src/{ => execution}/arm64/simulator-logic-arm64.cc (99%) rename deps/v8/src/{ => execution}/execution.cc (94%) rename deps/v8/src/{ => execution}/execution.h (91%) rename deps/v8/src/{ => execution}/frame-constants.h (94%) rename deps/v8/src/{ => execution}/frames-inl.h (94%) rename deps/v8/src/{ => execution}/frames.cc (86%) rename deps/v8/src/{ => execution}/frames.h (95%) rename deps/v8/src/{ => execution}/futex-emulation.cc (97%) rename deps/v8/src/{ => execution}/futex-emulation.h (96%) rename deps/v8/src/{ => execution}/ia32/frame-constants-ia32.cc (76%) rename deps/v8/src/{ => execution}/ia32/frame-constants-ia32.h (93%) rename deps/v8/src/{ => execution}/isolate-data.h (96%) rename deps/v8/src/{ => execution}/isolate-inl.h (68%) rename deps/v8/src/{ => execution}/isolate.cc (92%) rename deps/v8/src/{ => execution}/isolate.h (94%) rename deps/v8/src/{ => execution}/message-template.h (97%) rename deps/v8/src/{ => execution}/messages.cc (90%) rename deps/v8/src/{ => execution}/messages.h (92%) rename deps/v8/src/{ => execution}/microtask-queue.cc (97%) rename deps/v8/src/{ => execution}/microtask-queue.h (97%) rename deps/v8/src/{ => execution}/mips/frame-constants-mips.cc (76%) rename deps/v8/src/{ => execution}/mips/frame-constants-mips.h (92%) rename deps/v8/src/{ => execution}/mips/simulator-mips.cc (95%) rename deps/v8/src/{ => execution}/mips/simulator-mips.h (94%) rename deps/v8/src/{ => execution}/mips64/frame-constants-mips64.cc (75%) rename deps/v8/src/{ => execution}/mips64/frame-constants-mips64.h (91%) rename deps/v8/src/{ => execution}/mips64/simulator-mips64.cc (96%) rename deps/v8/src/{ => execution}/mips64/simulator-mips64.h (94%) rename deps/v8/src/{ => execution}/ppc/frame-constants-ppc.cc (82%) rename deps/v8/src/{ => execution}/ppc/frame-constants-ppc.h (91%) rename deps/v8/src/{ => execution}/ppc/simulator-ppc.cc (98%) rename deps/v8/src/{ => execution}/ppc/simulator-ppc.h (96%) rename deps/v8/src/{ => execution}/runtime-profiler.cc (75%) rename deps/v8/src/{ => execution}/runtime-profiler.h (88%) rename deps/v8/src/{ => execution}/s390/frame-constants-s390.cc (80%) rename deps/v8/src/{ => execution}/s390/frame-constants-s390.h (91%) rename deps/v8/src/{ => execution}/s390/simulator-s390.cc (85%) rename deps/v8/src/{ => execution}/s390/simulator-s390.h (92%) rename deps/v8/src/{ => execution}/simulator-base.cc (96%) rename deps/v8/src/{ => execution}/simulator-base.h (96%) rename deps/v8/src/{ => execution}/simulator.h (91%) rename deps/v8/src/{ => execution}/thread-id.cc (96%) rename deps/v8/src/{ => execution}/thread-id.h (93%) rename deps/v8/src/{ => execution}/thread-local-top.cc (86%) rename deps/v8/src/{ => execution}/thread-local-top.h (94%) rename deps/v8/src/{ => execution}/v8threads.cc (88%) rename deps/v8/src/{ => execution}/v8threads.h (84%) rename deps/v8/src/{ => execution}/vm-state-inl.h (80%) rename deps/v8/src/{ => execution}/vm-state.h (89%) rename deps/v8/src/{ => execution}/x64/frame-constants-x64.cc (83%) rename deps/v8/src/{ => execution}/x64/frame-constants-x64.h (94%) rename deps/v8/src/{ => flags}/flag-definitions.h (93%) rename deps/v8/src/{ => flags}/flags.cc (89%) rename deps/v8/src/{ => flags}/flags.h (86%) create mode 100644 deps/v8/src/handles/OWNERS rename deps/v8/src/{ => handles}/global-handles.cc (93%) rename deps/v8/src/{ => handles}/global-handles.h (97%) rename deps/v8/src/{ => handles}/handles-inl.h (81%) rename deps/v8/src/{ => handles}/handles.cc (94%) rename deps/v8/src/{ => handles}/handles.h (89%) rename deps/v8/src/{ => handles}/maybe-handles-inl.h (89%) rename deps/v8/src/{ => handles}/maybe-handles.h (94%) create mode 100644 deps/v8/src/heap/combined-heap.cc create mode 100644 deps/v8/src/heap/combined-heap.h create mode 100644 deps/v8/src/init/OWNERS rename deps/v8/src/{ => init}/bootstrapper.cc (93%) rename deps/v8/src/{ => init}/bootstrapper.h (94%) rename deps/v8/src/{ => init}/heap-symbols.h (90%) rename deps/v8/src/{ => init}/icu_util.cc (95%) rename deps/v8/src/{ => init}/icu_util.h (88%) rename deps/v8/src/{ => init}/isolate-allocator.cc (97%) rename deps/v8/src/{ => init}/isolate-allocator.h (91%) rename deps/v8/src/{ => init}/setup-isolate-deserialize.cc (85%) rename deps/v8/src/{ => init}/setup-isolate-full.cc (92%) rename deps/v8/src/{ => init}/setup-isolate.h (94%) rename deps/v8/src/{ => init}/startup-data-util.cc (96%) rename deps/v8/src/{ => init}/startup-data-util.h (87%) rename deps/v8/src/{ => init}/v8.cc (89%) rename deps/v8/src/{ => init}/v8.h (93%) create mode 100644 deps/v8/src/inspector/v8-inspector-protocol-encoding.cc create mode 100644 deps/v8/src/inspector/v8-inspector-protocol-encoding.h create mode 100644 deps/v8/src/inspector/v8-string-conversions.cc create mode 100644 deps/v8/src/inspector/v8-string-conversions.h delete mode 100644 deps/v8/src/json-parser.cc delete mode 100644 deps/v8/src/json-parser.h create mode 100644 deps/v8/src/json/OWNERS create mode 100644 deps/v8/src/json/json-parser.cc create mode 100644 deps/v8/src/json/json-parser.h rename deps/v8/src/{ => json}/json-stringifier.cc (94%) rename deps/v8/src/{ => json}/json-stringifier.h (79%) create mode 100644 deps/v8/src/libplatform/tracing/DEPS create mode 100644 deps/v8/src/libplatform/tracing/json-trace-event-listener.cc create mode 100644 deps/v8/src/libplatform/tracing/json-trace-event-listener.h create mode 100644 deps/v8/src/libplatform/tracing/perfetto-consumer.cc create mode 100644 deps/v8/src/libplatform/tracing/perfetto-consumer.h create mode 100644 deps/v8/src/libplatform/tracing/perfetto-producer.cc create mode 100644 deps/v8/src/libplatform/tracing/perfetto-producer.h create mode 100644 deps/v8/src/libplatform/tracing/perfetto-shared-memory.cc create mode 100644 deps/v8/src/libplatform/tracing/perfetto-shared-memory.h create mode 100644 deps/v8/src/libplatform/tracing/perfetto-tasks.cc create mode 100644 deps/v8/src/libplatform/tracing/perfetto-tasks.h create mode 100644 deps/v8/src/libplatform/tracing/perfetto-tracing-controller.cc create mode 100644 deps/v8/src/libplatform/tracing/perfetto-tracing-controller.h create mode 100644 deps/v8/src/libplatform/tracing/trace-event-listener.h create mode 100644 deps/v8/src/logging/OWNERS rename deps/v8/src/{ => logging}/code-events.h (97%) rename deps/v8/src/{ => logging}/counters-definitions.h (91%) rename deps/v8/src/{ => logging}/counters-inl.h (92%) rename deps/v8/src/{ => logging}/counters.cc (97%) rename deps/v8/src/{ => logging}/counters.h (98%) rename deps/v8/src/{ => logging}/log-inl.h (84%) rename deps/v8/src/{ => logging}/log-utils.cc (92%) rename deps/v8/src/{ => logging}/log-utils.h (96%) rename deps/v8/src/{ => logging}/log.cc (87%) rename deps/v8/src/{ => logging}/log.h (97%) delete mode 100644 deps/v8/src/macro-assembler-inl.h delete mode 100644 deps/v8/src/mips/OWNERS delete mode 100644 deps/v8/src/mips64/OWNERS create mode 100644 deps/v8/src/numbers/OWNERS rename deps/v8/src/{ => numbers}/bignum-dtoa.cc (88%) rename deps/v8/src/{ => numbers}/bignum-dtoa.h (95%) rename deps/v8/src/{ => numbers}/bignum.cc (97%) rename deps/v8/src/{ => numbers}/bignum.h (95%) rename deps/v8/src/{ => numbers}/cached-powers.cc (96%) rename deps/v8/src/{ => numbers}/cached-powers.h (91%) rename deps/v8/src/{ => numbers}/conversions-inl.h (89%) rename deps/v8/src/{ => numbers}/conversions.cc (94%) rename deps/v8/src/{ => numbers}/conversions.h (97%) rename deps/v8/src/{ => numbers}/diy-fp.cc (97%) rename deps/v8/src/{ => numbers}/diy-fp.h (96%) rename deps/v8/src/{ => numbers}/double.h (94%) rename deps/v8/src/{ => numbers}/dtoa.cc (79%) rename deps/v8/src/{ => numbers}/dtoa.h (96%) rename deps/v8/src/{ => numbers}/fast-dtoa.cc (89%) rename deps/v8/src/{ => numbers}/fast-dtoa.h (94%) rename deps/v8/src/{ => numbers}/fixed-dtoa.cc (95%) rename deps/v8/src/{ => numbers}/fixed-dtoa.h (90%) rename deps/v8/src/{ => numbers}/hash-seed-inl.h (85%) rename deps/v8/src/{ => numbers}/math-random.cc (79%) rename deps/v8/src/{ => numbers}/math-random.h (82%) rename deps/v8/src/{ => numbers}/strtod.cc (92%) rename deps/v8/src/{ => numbers}/strtod.h (79%) rename deps/v8/src/{ => objects}/allocation-site-scopes-inl.h (86%) rename deps/v8/src/{ => objects}/allocation-site-scopes.h (82%) rename deps/v8/src/{ => objects}/contexts-inl.h (88%) rename deps/v8/src/{ => objects}/contexts.cc (87%) rename deps/v8/src/{ => objects}/contexts.h (98%) rename deps/v8/src/{ => objects}/elements-inl.h (78%) rename deps/v8/src/{ => objects}/elements-kind.cc (77%) rename deps/v8/src/{ => objects}/elements-kind.h (81%) rename deps/v8/src/{ => objects}/elements.cc (80%) rename deps/v8/src/{ => objects}/elements.h (95%) rename deps/v8/src/{ => objects}/feedback-vector-inl.h (88%) rename deps/v8/src/{ => objects}/feedback-vector.cc (93%) rename deps/v8/src/{ => objects}/feedback-vector.h (94%) rename deps/v8/src/{ => objects}/field-index-inl.h (83%) rename deps/v8/src/{ => objects}/field-index.h (86%) rename deps/v8/src/{ => objects}/field-type.cc (74%) rename deps/v8/src/{ => objects}/field-type.h (88%) rename deps/v8/src/{ => objects}/function-kind.h (97%) create mode 100644 deps/v8/src/objects/intl-objects.tq rename deps/v8/src/{ => objects}/keys.cc (92%) rename deps/v8/src/{ => objects}/keys.h (98%) rename deps/v8/src/{ => objects}/layout-descriptor-inl.h (88%) rename deps/v8/src/{ => objects}/layout-descriptor.cc (92%) rename deps/v8/src/{ => objects}/layout-descriptor.h (98%) rename deps/v8/src/{ => objects}/lookup-cache-inl.h (78%) rename deps/v8/src/{ => objects}/lookup-cache.cc (90%) rename deps/v8/src/{ => objects}/lookup-cache.h (90%) rename deps/v8/src/{ => objects}/lookup-inl.h (80%) rename deps/v8/src/{ => objects}/lookup.cc (88%) rename deps/v8/src/{ => objects}/lookup.h (96%) rename deps/v8/src/{ => objects}/map-updater.cc (91%) rename deps/v8/src/{ => objects}/map-updater.h (96%) create mode 100644 deps/v8/src/objects/object-list-macros.h rename deps/v8/src/{ => objects}/objects-body-descriptors-inl.h (90%) rename deps/v8/src/{ => objects}/objects-body-descriptors.h (96%) rename deps/v8/src/{ => objects}/objects-definitions.h (92%) rename deps/v8/src/{ => objects}/objects-inl.h (87%) rename deps/v8/src/{ => objects}/objects.cc (85%) rename deps/v8/src/{ => objects}/objects.h (64%) rename deps/v8/src/{ => objects}/property-descriptor.cc (95%) rename deps/v8/src/{ => objects}/property-descriptor.h (94%) rename deps/v8/src/{ => objects}/property-details.h (92%) rename deps/v8/src/{ => objects}/property.cc (88%) rename deps/v8/src/{ => objects}/property.h (89%) rename deps/v8/src/{ => objects}/prototype-inl.h (79%) rename deps/v8/src/{ => objects}/prototype.h (93%) create mode 100644 deps/v8/src/objects/tagged-impl-inl.h create mode 100644 deps/v8/src/objects/tagged-impl.cc create mode 100644 deps/v8/src/objects/tagged-impl.h create mode 100644 deps/v8/src/objects/tagged-value-inl.h create mode 100644 deps/v8/src/objects/tagged-value.h rename deps/v8/src/{ => objects}/transitions-inl.h (70%) rename deps/v8/src/{ => objects}/transitions.cc (77%) rename deps/v8/src/{ => objects}/transitions.h (94%) rename deps/v8/src/{ => objects}/type-hints.cc (98%) rename deps/v8/src/{ => objects}/type-hints.h (92%) rename deps/v8/src/{ => objects}/value-serializer.cc (96%) rename deps/v8/src/{ => objects}/value-serializer.h (97%) rename deps/v8/src/{ => objects}/visitors.cc (90%) rename deps/v8/src/{ => objects}/visitors.h (97%) create mode 100644 deps/v8/src/parsing/literal-buffer.cc create mode 100644 deps/v8/src/parsing/literal-buffer.h rename deps/v8/src/{ => parsing}/pending-compilation-error-handler.cc (96%) rename deps/v8/src/{ => parsing}/pending-compilation-error-handler.h (92%) delete mode 100644 deps/v8/src/ppc/OWNERS create mode 100644 deps/v8/src/protobuf/DEPS create mode 100644 deps/v8/src/protobuf/OWNERS create mode 100644 deps/v8/src/protobuf/protobuf-compiler-main.cc create mode 100644 deps/v8/src/regexp/gen-regexp-special-case.cc delete mode 100644 deps/v8/src/regexp/mips/OWNERS delete mode 100644 deps/v8/src/regexp/mips64/OWNERS delete mode 100644 deps/v8/src/regexp/s390/OWNERS create mode 100644 deps/v8/src/regexp/special-case.h delete mode 100644 deps/v8/src/register-arch.h delete mode 100644 deps/v8/src/roots.cc rename deps/v8/src/{ => roots}/roots-inl.h (63%) create mode 100644 deps/v8/src/roots/roots.cc rename deps/v8/src/{ => roots}/roots.h (90%) delete mode 100644 deps/v8/src/s390/OWNERS create mode 100644 deps/v8/src/sanitizer/OWNERS rename deps/v8/src/{ => sanitizer}/asan.h (85%) rename deps/v8/src/{base => sanitizer}/lsan-page-allocator.cc (97%) rename deps/v8/src/{base => sanitizer}/lsan-page-allocator.h (82%) rename deps/v8/src/{ => sanitizer}/msan.h (90%) rename deps/v8/src/{base => sanitizer}/tsan.h (93%) delete mode 100644 deps/v8/src/snapshot/embedded-file-writer.cc delete mode 100644 deps/v8/src/snapshot/embedded-file-writer.h rename deps/v8/src/snapshot/{ => embedded}/embedded-data.cc (90%) rename deps/v8/src/snapshot/{ => embedded}/embedded-data.h (93%) rename deps/v8/src/snapshot/{ => embedded}/embedded-empty.cc (100%) create mode 100644 deps/v8/src/snapshot/embedded/embedded-file-writer.cc create mode 100644 deps/v8/src/snapshot/embedded/embedded-file-writer.h create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-win.cc create mode 100644 deps/v8/src/snapshot/embedded/platform-embedded-file-writer-win.h delete mode 100644 deps/v8/src/string-hasher-inl.h delete mode 100644 deps/v8/src/string-hasher.h create mode 100644 deps/v8/src/strings/OWNERS rename deps/v8/src/{ => strings}/char-predicates-inl.h (93%) rename deps/v8/src/{ => strings}/char-predicates.cc (97%) rename deps/v8/src/{ => strings}/char-predicates.h (93%) rename deps/v8/src/{ => strings}/string-builder-inl.h (93%) rename deps/v8/src/{ => strings}/string-builder.cc (93%) rename deps/v8/src/{ => strings}/string-case.cc (97%) rename deps/v8/src/{ => strings}/string-case.h (77%) create mode 100644 deps/v8/src/strings/string-hasher-inl.h create mode 100644 deps/v8/src/strings/string-hasher.h rename deps/v8/src/{ => strings}/string-search.h (89%) rename deps/v8/src/{ => strings}/string-stream.cc (63%) rename deps/v8/src/{ => strings}/string-stream.h (95%) create mode 100644 deps/v8/src/strings/unicode-decoder.cc create mode 100644 deps/v8/src/strings/unicode-decoder.h rename deps/v8/src/{ => strings}/unicode-inl.h (86%) rename deps/v8/src/{ => strings}/unicode.cc (79%) rename deps/v8/src/{ => strings}/unicode.h (81%) rename deps/v8/src/{ => strings}/uri.cc (98%) rename deps/v8/src/{ => strings}/uri.h (89%) rename deps/v8/src/{ => tasks}/cancelable-task.cc (98%) rename deps/v8/src/{ => tasks}/cancelable-task.h (97%) rename deps/v8/src/{ => tasks}/task-utils.cc (96%) rename deps/v8/src/{ => tasks}/task-utils.h (90%) create mode 100644 deps/v8/src/torque/OWNERS create mode 100644 deps/v8/src/torque/constants.h delete mode 100644 deps/v8/src/torque/file-visitor.cc delete mode 100644 deps/v8/src/torque/file-visitor.h create mode 100644 deps/v8/src/torque/type-visitor.cc create mode 100644 deps/v8/src/torque/type-visitor.h delete mode 100644 deps/v8/src/unicode-cache.h delete mode 100644 deps/v8/src/unicode-decoder.cc delete mode 100644 deps/v8/src/unicode-decoder.h create mode 100644 deps/v8/src/utils/OWNERS rename deps/v8/src/{ => utils}/address-map.cc (91%) rename deps/v8/src/{ => utils}/address-map.h (89%) rename deps/v8/src/{ => utils}/allocation.cc (94%) rename deps/v8/src/{ => utils}/allocation.h (94%) rename deps/v8/src/{ => utils}/bit-vector.cc (94%) rename deps/v8/src/{ => utils}/bit-vector.h (98%) rename deps/v8/src/{ => utils}/boxed-float.h (96%) rename deps/v8/src/{ => utils}/detachable-vector.cc (93%) rename deps/v8/src/{ => utils}/detachable-vector.h (95%) rename deps/v8/src/{ => utils}/identity-map.cc (99%) rename deps/v8/src/{ => utils}/identity-map.h (97%) rename deps/v8/src/{ => utils}/locked-queue-inl.h (92%) rename deps/v8/src/{ => utils}/locked-queue.h (88%) rename deps/v8/src/{ => utils}/memcopy.cc (96%) rename deps/v8/src/{ => utils}/memcopy.h (95%) rename deps/v8/src/{ => utils}/ostreams.cc (98%) rename deps/v8/src/{ => utils}/ostreams.h (97%) rename deps/v8/src/{ => utils}/pointer-with-payload.h (96%) rename deps/v8/src/{ => utils}/splay-tree-inl.h (98%) rename deps/v8/src/{ => utils}/splay-tree.h (93%) rename deps/v8/src/{ => utils}/utils-inl.h (89%) rename deps/v8/src/{ => utils}/utils.cc (91%) rename deps/v8/src/{ => utils}/utils.h (83%) rename deps/v8/src/{ => utils}/v8dll-main.cc (74%) rename deps/v8/src/{ => utils}/vector.h (66%) rename deps/v8/src/{ => utils}/version.cc (95%) rename deps/v8/src/{ => utils}/version.h (94%) delete mode 100644 deps/v8/src/wasm/baseline/mips/OWNERS delete mode 100644 deps/v8/src/wasm/baseline/mips64/OWNERS delete mode 100644 deps/v8/src/wasm/baseline/s390/OWNERS create mode 100644 deps/v8/src/wasm/c-api.h rename deps/v8/{src => test/cctest}/collector.h (97%) create mode 100644 deps/v8/test/cctest/compiler/graph-and-builders.h delete mode 100644 deps/v8/test/cctest/compiler/graph-builder-tester.h create mode 100644 deps/v8/test/cctest/heap/test-iterators.cc create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethods.golden create mode 100644 deps/v8/test/cctest/libplatform/DEPS create mode 100644 deps/v8/test/cctest/test-api-stack-traces.cc create mode 100644 deps/v8/test/inspector/debugger/script-on-after-compile-snapshot-expected.txt create mode 100644 deps/v8/test/inspector/debugger/script-on-after-compile-snapshot.js create mode 100644 deps/v8/test/inspector/debugger/set-instrumentation-breakpoint-expected.txt create mode 100644 deps/v8/test/inspector/debugger/set-instrumentation-breakpoint.js create mode 100644 deps/v8/test/inspector/debugger/wasm-anyref-global-expected.txt create mode 100644 deps/v8/test/inspector/debugger/wasm-anyref-global.js create mode 100644 deps/v8/test/intl/date-format/check-calendar.js create mode 100644 deps/v8/test/intl/date-format/check-numbering-system.js create mode 100644 deps/v8/test/intl/date-format/en-format-range-to-parts.js create mode 100644 deps/v8/test/intl/number-format/check-numbering-system.js create mode 100644 deps/v8/test/intl/number-format/unified/compact-display.js create mode 100644 deps/v8/test/intl/number-format/unified/constructor-order.js create mode 100644 deps/v8/test/intl/number-format/unified/currency-display.js create mode 100644 deps/v8/test/intl/number-format/unified/currency-sign.js create mode 100644 deps/v8/test/intl/number-format/unified/no-compact-display.js create mode 100644 deps/v8/test/intl/number-format/unified/notation.js create mode 100644 deps/v8/test/intl/number-format/unified/sign-display.js create mode 100644 deps/v8/test/intl/number-format/unified/style-unit.js create mode 100644 deps/v8/test/intl/number-format/unified/unit-display.js create mode 100644 deps/v8/test/intl/regress-8604.js create mode 100644 deps/v8/test/intl/regress-966285.js create mode 100644 deps/v8/test/intl/regress-971636.js create mode 100644 deps/v8/test/intl/relative-time-format/numberingSystems.js create mode 100644 deps/v8/test/js-perf-test/BigInt/run.js create mode 100644 deps/v8/test/js-perf-test/BigInt/to-boolean.js create mode 100644 deps/v8/test/js-perf-test/ObjectFreeze/array-indexof-includes.js create mode 100644 deps/v8/test/js-perf-test/ObjectFreeze/spread-call.js create mode 100644 deps/v8/test/message/fail/class-fields-private-outside-class.js create mode 100644 deps/v8/test/message/fail/class-fields-private-outside-class.out create mode 100644 deps/v8/test/message/fail/class-fields-private-undeclared-lazy-class.js create mode 100644 deps/v8/test/message/fail/class-fields-private-undeclared-lazy-class.out create mode 100644 deps/v8/test/message/fail/wasm-async-compile-fail.js create mode 100644 deps/v8/test/message/fail/wasm-async-compile-fail.out create mode 100644 deps/v8/test/message/fail/wasm-async-instantiate-fail.js create mode 100644 deps/v8/test/message/fail/wasm-async-instantiate-fail.out create mode 100644 deps/v8/test/message/fail/wasm-exception-rethrow.js create mode 100644 deps/v8/test/message/fail/wasm-exception-rethrow.out create mode 100644 deps/v8/test/message/fail/wasm-exception-throw.js create mode 100644 deps/v8/test/message/fail/wasm-exception-throw.out create mode 100644 deps/v8/test/message/fail/wasm-streaming-compile-fail.js create mode 100644 deps/v8/test/message/fail/wasm-streaming-compile-fail.out create mode 100644 deps/v8/test/message/fail/wasm-streaming-instantiate-fail.js create mode 100644 deps/v8/test/message/fail/wasm-streaming-instantiate-fail.out create mode 100644 deps/v8/test/message/fail/wasm-sync-compile-fail.js create mode 100644 deps/v8/test/message/fail/wasm-sync-compile-fail.out create mode 100644 deps/v8/test/mjsunit/compiler/constant-fold-add-static.js create mode 100644 deps/v8/test/mjsunit/compiler/load-elimination-const-field.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-9017.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-9137-1.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-9137-2.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-957559.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-958021.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-958350.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-958420.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-961986.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-966560-1.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-966560-2.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-crbug-965513.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-v8-9139.js create mode 100644 deps/v8/test/mjsunit/compiler/string-startswith.js create mode 100644 deps/v8/test/mjsunit/es6/regress/regress-9234.js rename deps/v8/test/mjsunit/es6/{typedarray-neutered.js => typedarray-detached.js} (99%) create mode 100644 deps/v8/test/mjsunit/harmony/private-methods.js create mode 100644 deps/v8/test/mjsunit/harmony/weakrefs/cleanup-on-detached-realm.js create mode 100644 deps/v8/test/mjsunit/json-parse-slice.js create mode 100644 deps/v8/test/mjsunit/json-stringify-typedarray.js create mode 100644 deps/v8/test/mjsunit/keyed-load-null-receiver.js create mode 100644 deps/v8/test/mjsunit/object-keys-typedarray.js create mode 100644 deps/v8/test/mjsunit/promise-perform-all-resolve-lookup.js create mode 100644 deps/v8/test/mjsunit/promise-perform-all-settled-resolve-lookup.js create mode 100644 deps/v8/test/mjsunit/promise-perfrom-race-resolve-lookup.js create mode 100644 deps/v8/test/mjsunit/regress-958725.js create mode 100644 deps/v8/test/mjsunit/regress-963346.js create mode 100644 deps/v8/test/mjsunit/regress-966460.js create mode 100644 deps/v8/test/mjsunit/regress/regress-9017.js create mode 100644 deps/v8/test/mjsunit/regress/regress-9105.js create mode 100644 deps/v8/test/mjsunit/regress/regress-9165.js create mode 100644 deps/v8/test/mjsunit/regress/regress-961237.js create mode 100644 deps/v8/test/mjsunit/regress/regress-961508.js create mode 100644 deps/v8/test/mjsunit/regress/regress-963891.js create mode 100644 deps/v8/test/mjsunit/regress/regress-976627.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-9161.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-935800.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-941703.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-951400.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-959645-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-959645-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-959727.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-961522.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-961709-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-961709-2.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-963568.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-964833.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-964869.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-967065.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-967151.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-967254.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-967434.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-971383.js create mode 100644 deps/v8/test/mjsunit/regress/regress-crbug-980529.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-4153-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-9243.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-9267-1.js create mode 100644 deps/v8/test/mjsunit/regress/regress-v8-9267-2.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-9017.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-952342.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-956771.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-956771b.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-957405.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-961129.js create mode 100644 deps/v8/test/mjsunit/regress/wasm/regress-964607.js create mode 100644 deps/v8/test/mjsunit/reindexing-in-classes.js create mode 100644 deps/v8/test/mjsunit/stack-trace-cpp-function-template-1.js create mode 100644 deps/v8/test/mjsunit/stack-trace-cpp-function-template-2.js create mode 100644 deps/v8/test/mjsunit/tools/trace-ic.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/README create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/binary.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/binary.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/bulk.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/bulk.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/custom.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/custom.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/linking.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/linking.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/memory_copy.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/memory_copy.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/memory_fill.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/memory_fill.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/memory_init.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/memory_init.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/table_copy.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/table_copy.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/table_init.wast create mode 100644 deps/v8/test/mjsunit/wasm/bulk-memory-spec/table_init.wast.js create mode 100644 deps/v8/test/mjsunit/wasm/compilation-hints-interpreter.js create mode 100644 deps/v8/test/mjsunit/wasm/compilation-hints-lazy-validation.js create mode 100644 deps/v8/test/mjsunit/wasm/compilation-hints-streaming-lazy-validation.js create mode 100644 deps/v8/test/mjsunit/wasm/table-fill.js create mode 100644 deps/v8/test/mjsunit/wasm/table-grow-from-wasm.js rename deps/v8/test/unittests/{ => codegen}/code-stub-assembler-unittest.cc (89%) rename deps/v8/test/unittests/{ => codegen}/code-stub-assembler-unittest.h (95%) rename deps/v8/test/unittests/{ => codegen}/register-configuration-unittest.cc (99%) rename deps/v8/test/unittests/{ => codegen}/source-position-table-unittest.cc (96%) create mode 100644 deps/v8/test/unittests/compiler/decompression-elimination-unittest.cc delete mode 100644 deps/v8/test/unittests/compiler/mips/OWNERS delete mode 100644 deps/v8/test/unittests/compiler/mips64/OWNERS delete mode 100644 deps/v8/test/unittests/compiler/s390/OWNERS create mode 100644 deps/v8/test/unittests/date/date-cache-unittest.cc rename deps/v8/test/unittests/{ => diagnostics}/eh-frame-iterator-unittest.cc (98%) rename deps/v8/test/unittests/{ => diagnostics}/eh-frame-writer-unittest.cc (99%) rename deps/v8/test/unittests/{ => execution}/microtask-queue-unittest.cc (98%) create mode 100644 deps/v8/test/unittests/heap/code-object-registry-unittest.cc rename deps/v8/test/unittests/{ => logging}/counters-unittest.cc (99%) rename deps/v8/test/unittests/{ => numbers}/bigint-unittest.cc (96%) rename deps/v8/test/unittests/{ => numbers}/conversions-unittest.cc (97%) rename deps/v8/test/unittests/{ => objects}/object-unittest.cc (95%) rename deps/v8/test/unittests/{ => objects}/value-serializer-unittest.cc (99%) rename deps/v8/test/unittests/{ => profiler}/strings-storage-unittest.cc (98%) rename deps/v8/test/unittests/{ => strings}/char-predicates-unittest.cc (98%) rename deps/v8/test/unittests/{ => strings}/unicode-unittest.cc (96%) rename deps/v8/test/unittests/{ => tasks}/background-compile-task-unittest.cc (97%) rename deps/v8/test/unittests/{ => tasks}/cancelable-tasks-unittest.cc (99%) rename deps/v8/test/unittests/{ => utils}/allocation-unittest.cc (99%) rename deps/v8/test/unittests/{ => utils}/detachable-vector-unittest.cc (98%) rename deps/v8/test/unittests/{ => utils}/locked-queue-unittest.cc (96%) rename deps/v8/test/unittests/{ => utils}/utils-unittest.cc (91%) create mode 100644 deps/v8/test/wasm-api-tests/BUILD.gn create mode 100644 deps/v8/test/wasm-api-tests/DEPS create mode 100644 deps/v8/test/wasm-api-tests/OWNERS create mode 100644 deps/v8/test/wasm-api-tests/callbacks.cc create mode 100644 deps/v8/test/wasm-api-tests/run-all-wasm-api-tests.cc create mode 100644 deps/v8/test/wasm-api-tests/testcfg.py create mode 100644 deps/v8/test/wasm-api-tests/wasm-api-tests.status create mode 100644 deps/v8/third_party/inspector_protocol/.clang-format create mode 100644 deps/v8/third_party/inspector_protocol/BUILD.gn create mode 100644 deps/v8/third_party/inspector_protocol/encoding/encoding.cc create mode 100644 deps/v8/third_party/inspector_protocol/encoding/encoding.h create mode 100644 deps/v8/third_party/inspector_protocol/encoding/encoding_test.cc create mode 100644 deps/v8/third_party/inspector_protocol/encoding/encoding_test_helper.h mode change 100644 => 100755 deps/v8/tools/gcmole/package.sh delete mode 100755 deps/v8/tools/node/build_gn.py delete mode 100755 deps/v8/tools/node/test_update_node.py delete mode 100644 deps/v8/tools/node/testdata/node/deps/v8/.gitignore delete mode 100644 deps/v8/tools/node/testdata/node/deps/v8/baz/delete_me delete mode 100644 deps/v8/tools/node/testdata/node/deps/v8/baz/v8_foo delete mode 100644 deps/v8/tools/node/testdata/node/deps/v8/delete_me delete mode 100644 deps/v8/tools/node/testdata/node/deps/v8/include/v8-version.h delete mode 100644 deps/v8/tools/node/testdata/node/deps/v8/v8_foo delete mode 100644 deps/v8/tools/node/testdata/v8/.gitignore delete mode 100644 deps/v8/tools/node/testdata/v8/base/trace_event/common/common delete mode 100644 deps/v8/tools/node/testdata/v8/baz/v8_foo delete mode 100644 deps/v8/tools/node/testdata/v8/baz/v8_new delete mode 100644 deps/v8/tools/node/testdata/v8/new/v8_new delete mode 100644 deps/v8/tools/node/testdata/v8/testing/gtest/baz/gtest_foo delete mode 100644 deps/v8/tools/node/testdata/v8/testing/gtest/baz/gtest_new delete mode 100644 deps/v8/tools/node/testdata/v8/testing/gtest/gtest_bar delete mode 100644 deps/v8/tools/node/testdata/v8/testing/gtest/gtest_new delete mode 100644 deps/v8/tools/node/testdata/v8/testing/gtest/new/gtest_new delete mode 100644 deps/v8/tools/node/testdata/v8/v8_foo delete mode 100644 deps/v8/tools/node/testdata/v8/v8_new delete mode 100755 deps/v8/tools/node/update_node.py mode change 100644 => 100755 deps/v8/tools/run-wasm-api-tests.py mode change 100755 => 100644 deps/v8/tools/run_perf.py delete mode 100644 deps/v8/tools/testrunner/local/junit_output.py delete mode 100755 deps/v8/tools/torque/make-torque-parser.py create mode 100644 deps/v8/tools/wasm-compilation-hints/OWNERS create mode 100755 deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py create mode 100755 deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py create mode 100644 deps/v8/tools/wasm-compilation-hints/wasm.py diff --git a/deps/v8/.git-blame-ignore-revs b/deps/v8/.git-blame-ignore-revs index 58d0039ab911f4..5ae39770316425 100644 --- a/deps/v8/.git-blame-ignore-revs +++ b/deps/v8/.git-blame-ignore-revs @@ -20,3 +20,6 @@ # Update of quotations in DEPS file. e50b49a0e38b34e2b28e026f4d1c7e0da0c7bb1a + +# Rewrite code base to use "." instead of "->" to access Object members. +878ccb33bd3cf0e6dc018ff8d15843f585ac07be diff --git a/deps/v8/.gitignore b/deps/v8/.gitignore index 7fc0f66b373003..6350393ebf376e 100644 --- a/deps/v8/.gitignore +++ b/deps/v8/.gitignore @@ -94,7 +94,6 @@ GTAGS TAGS bsuite compile_commands.json -d8 !/test/mjsunit/d8 d8_g gccauses diff --git a/deps/v8/.gn b/deps/v8/.gn index 573fd030d80cf1..328778fb46bcdf 100644 --- a/deps/v8/.gn +++ b/deps/v8/.gn @@ -7,11 +7,6 @@ import("//build/dotfile_settings.gni") # The location of the build configuration file. buildconfig = "//build/config/BUILDCONFIG.gn" -# The secondary source root is a parallel directory tree where -# GN build files are placed when they can not be placed directly -# in the source tree, e.g. for third party source trees. -secondary_source = "//build/secondary/" - # These are the targets to check headers for by default. The files in targets # matching these patterns (see "gn help label_pattern" for format) will have # their includes checked for proper dependencies when you run either diff --git a/deps/v8/.vpython b/deps/v8/.vpython index f8d3b7278a466e..3b7cb32468e1f5 100644 --- a/deps/v8/.vpython +++ b/deps/v8/.vpython @@ -66,3 +66,11 @@ wheel: < name: "infra/python/wheels/mock-py2_py3" version: "version:2.0.0" > + +# Used by: +# tools/run_perf.py +# tools/unittests/run_perf_test.py +wheel: < + name: "infra/python/wheels/numpy/${vpython_platform}" + version: "version:1.11.3" +> diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 5182ae52014ac8..1c8424243d5e9e 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -22,8 +22,10 @@ Wave Computing, Inc. <*@wavecomp.com> Loongson Technology Corporation Limited <*@loongson.cn> Code Aurora Forum <*@codeaurora.org> Home Jinni Inc. <*@homejinni.com> -IBM Inc. <*@*ibm.com> +IBM Inc. <*@*.ibm.com> +IBM Inc. <*@ibm.com> Samsung <*@*.samsung.com> +Samsung <*@samsung.com> Joyent, Inc <*@joyent.com> RT-RK Computer Based System <*@rt-rk.com> Amazon, Inc <*@amazon.com> @@ -44,6 +46,7 @@ Alessandro Pignotti Alex Kodat Alexander Botero-Lowry Alexander Karpinsky +Alexander Neville Alexandre Vassalotti Alexis Campailla Allan Sandfeld Jensen @@ -99,6 +102,7 @@ Jay Freeman James Pike James M Snell Jianghua Yang +Jiawen Geng Joel Stanley Johan Bergström Jonathan Liu @@ -136,6 +140,7 @@ Noj Vek Oleksandr Chekhovskyi Paolo Giarrusso Patrick Gansterer +Peng Fei Peter Rybin Peter Varga Peter Wong @@ -145,11 +150,13 @@ PhistucK Qingyan Li Qiuyi Zhang Rafal Krypa +Raul Tambre Ray Glover Refael Ackermann Rene Rebe Rick Waldron Rob Wu +Robert Meijer Robert Mustacchi Robert Nagy Ruben Bridgewater diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn index 10fee264203ae0..8640517ae5c23d 100644 --- a/deps/v8/BUILD.gn +++ b/deps/v8/BUILD.gn @@ -15,8 +15,8 @@ if (is_android) { import("//build/config/android/rules.gni") } +import("gni/snapshot_toolchain.gni") import("gni/v8.gni") -import("snapshot_toolchain.gni") # Specifies if the target build is a simulator build. Comparing target cpu # with v8 target cpu to not affect simulator builds for making cross-compile @@ -85,11 +85,14 @@ declare_args() { # Enable fast mksnapshot runs. v8_enable_fast_mksnapshot = false + # Optimize code for Torque executable, even during a debug build. + v8_enable_fast_torque = "" + # Enable embedded builtins. v8_enable_embedded_builtins = true # Enable the registration of unwinding info for Windows/x64. - v8_win64_unwinding_info = false + v8_win64_unwinding_info = true # Enable code comments for builtins in the snapshot (impacts performance). v8_enable_snapshot_code_comments = false @@ -136,10 +139,6 @@ declare_args() { # Use Siphash as added protection against hash flooding attacks. v8_use_siphash = false - # Use Perfetto (https://perfetto.dev) as the default TracingController. Not - # currently implemented. - v8_use_perfetto = false - # Switches off inlining in V8. v8_no_inline = false @@ -186,7 +185,8 @@ declare_args() { v8_check_header_includes = false # Enable sharing read-only space across isolates. - v8_enable_shared_ro_heap = false + # Sets -DV8_SHARED_RO_HEAP. + v8_enable_shared_ro_heap = "" } # We reuse the snapshot toolchain for building torque and other generators to @@ -224,6 +224,12 @@ if (v8_check_microtasks_scopes_consistency == "") { if (v8_enable_snapshot_native_code_counters == "") { v8_enable_snapshot_native_code_counters = v8_enable_debugging_features } +if (v8_enable_shared_ro_heap == "") { + v8_enable_shared_ro_heap = v8_enable_lite_mode +} +if (v8_enable_fast_torque == "") { + v8_enable_fast_torque = v8_enable_fast_mksnapshot +} assert(v8_current_cpu != "x86" || !v8_untrusted_code_mitigations, "Untrusted code mitigations are unsupported on ia32") @@ -233,8 +239,9 @@ assert(!v8_enable_lite_mode || v8_enable_embedded_builtins, assert(!v8_enable_lite_mode || v8_use_snapshot, "Lite mode requires a snapshot build") -assert(v8_use_snapshot || !v8_enable_shared_ro_heap, - "Nosnapshot builds are not supported with shared read-only heap enabled") +assert( + !v8_enable_pointer_compression || !v8_enable_shared_ro_heap, + "Pointer compression is not supported with shared read-only heap enabled") v8_random_seed = "314159265" v8_toolset_for_shell = "host" @@ -850,8 +857,8 @@ action("postmortem-metadata") { # NOSORT sources = [ - "src/objects.h", - "src/objects-inl.h", + "src/objects/objects.h", + "src/objects/objects-inl.h", "src/objects/allocation-site-inl.h", "src/objects/allocation-site.h", "src/objects/cell-inl.h", @@ -912,11 +919,7 @@ action("postmortem-metadata") { } torque_files = [ - "src/builtins/base.tq", - "src/builtins/growable-fixed-array.tq", - "src/builtins/frames.tq", "src/builtins/arguments.tq", - "src/builtins/array.tq", "src/builtins/array-copywithin.tq", "src/builtins/array-every.tq", "src/builtins/array-filter.tq", @@ -925,32 +928,45 @@ torque_files = [ "src/builtins/array-foreach.tq", "src/builtins/array-join.tq", "src/builtins/array-lastindexof.tq", - "src/builtins/array-of.tq", "src/builtins/array-map.tq", - "src/builtins/array-reduce.tq", + "src/builtins/array-of.tq", "src/builtins/array-reduce-right.tq", + "src/builtins/array-reduce.tq", "src/builtins/array-reverse.tq", "src/builtins/array-shift.tq", "src/builtins/array-slice.tq", "src/builtins/array-some.tq", "src/builtins/array-splice.tq", "src/builtins/array-unshift.tq", + "src/builtins/array.tq", + "src/builtins/base.tq", + "src/builtins/boolean.tq", "src/builtins/collections.tq", "src/builtins/data-view.tq", "src/builtins/extras-utils.tq", + "src/builtins/frames.tq", + "src/builtins/growable-fixed-array.tq", + "src/builtins/internal-coverage.tq", "src/builtins/iterator.tq", + "src/builtins/math.tq", "src/builtins/object-fromentries.tq", - "src/builtins/proxy.tq", "src/builtins/proxy-constructor.tq", + "src/builtins/proxy-get-property.tq", + "src/builtins/proxy-has-property.tq", "src/builtins/proxy-revocable.tq", "src/builtins/proxy-revoke.tq", - "src/builtins/regexp.tq", + "src/builtins/proxy-set-property.tq", + "src/builtins/proxy.tq", "src/builtins/regexp-replace.tq", + "src/builtins/regexp.tq", + "src/builtins/string.tq", "src/builtins/string-endswith.tq", "src/builtins/string-html.tq", + "src/builtins/string-iterator.tq", "src/builtins/string-repeat.tq", + "src/builtins/string-slice.tq", "src/builtins/string-startswith.tq", - "src/builtins/typed-array.tq", + "src/builtins/string-substring.tq", "src/builtins/typed-array-createtypedarray.tq", "src/builtins/typed-array-every.tq", "src/builtins/typed-array-filter.tq", @@ -962,10 +978,16 @@ torque_files = [ "src/builtins/typed-array-slice.tq", "src/builtins/typed-array-some.tq", "src/builtins/typed-array-subarray.tq", + "src/builtins/typed-array.tq", + "src/objects/intl-objects.tq", "test/torque/test-torque.tq", "third_party/v8/builtins/array-sort.tq", ] +if (!v8_enable_i18n_support) { + torque_files -= [ "src/objects/intl-objects.tq" ] +} + torque_namespaces = [ "arguments", "array", @@ -984,18 +1006,24 @@ torque_namespaces = [ "array-unshift", "array-lastindexof", "base", + "boolean", "collections", "data-view", "extras-utils", "growable-fixed-array", + "internal-coverage", "iterator", + "math", "object", "proxy", "regexp", "regexp-replace", "string", "string-html", + "string-iterator", "string-repeat", + "string-slice", + "string-substring", "test", "typed-array", "typed-array-createtypedarray", @@ -1027,14 +1055,22 @@ action("run_torque") { sources = torque_files outputs = [ - "$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h", - "$target_gen_dir/torque-generated/class-definitions-from-dsl.h", - "$target_gen_dir/torque-generated/objects-printer-from-dsl.cc", + "$target_gen_dir/torque-generated/builtin-definitions-tq.h", + "$target_gen_dir/torque-generated/field-offsets-tq.h", + "$target_gen_dir/torque-generated/class-verifiers-tq.cc", + "$target_gen_dir/torque-generated/class-verifiers-tq.h", + "$target_gen_dir/torque-generated/objects-printer-tq.cc", + "$target_gen_dir/torque-generated/class-definitions-tq.cc", + "$target_gen_dir/torque-generated/class-definitions-tq-inl.h", + "$target_gen_dir/torque-generated/class-definitions-tq.h", + "$target_gen_dir/torque-generated/exported-macros-assembler-tq.cc", + "$target_gen_dir/torque-generated/exported-macros-assembler-tq.h", + "$target_gen_dir/torque-generated/csa-types-tq.h", ] foreach(namespace, torque_namespaces) { outputs += [ - "$target_gen_dir/torque-generated/builtins-$namespace-from-dsl-gen.cc", - "$target_gen_dir/torque-generated/builtins-$namespace-from-dsl-gen.h", + "$target_gen_dir/torque-generated/builtins-$namespace-gen-tq.cc", + "$target_gen_dir/torque-generated/builtins-$namespace-gen-tq.h", ] } @@ -1071,11 +1107,15 @@ v8_source_set("torque_generated_initializers") { ":v8_maybe_icu", ] - sources = [] + sources = [ + "$target_gen_dir/torque-generated/csa-types-tq.h", + "$target_gen_dir/torque-generated/exported-macros-assembler-tq.cc", + "$target_gen_dir/torque-generated/exported-macros-assembler-tq.h", + ] foreach(namespace, torque_namespaces) { sources += [ - "$target_gen_dir/torque-generated/builtins-$namespace-from-dsl-gen.cc", - "$target_gen_dir/torque-generated/builtins-$namespace-from-dsl-gen.h", + "$target_gen_dir/torque-generated/builtins-$namespace-gen-tq.cc", + "$target_gen_dir/torque-generated/builtins-$namespace-gen-tq.h", ] } @@ -1095,7 +1135,10 @@ v8_source_set("torque_generated_definitions") { ] sources = [ - "$target_gen_dir/torque-generated/objects-printer-from-dsl.cc", + "$target_gen_dir/torque-generated/class-definitions-tq.cc", + "$target_gen_dir/torque-generated/class-verifiers-tq.cc", + "$target_gen_dir/torque-generated/class-verifiers-tq.h", + "$target_gen_dir/torque-generated/objects-printer-tq.cc", ] configs = [ ":internal_config" ] @@ -1163,14 +1206,11 @@ template("run_mksnapshot") { # mksnapshot needs to know which target OS to use at runtime. It's weird, # but the target OS is really |current_os|. "--target_os=$current_os", + "--target_arch=$current_cpu", ] args += invoker.args - if (v8_win64_unwinding_info) { - args += [ "--win64-unwinding-info" ] - } - if (v8_enable_embedded_builtins) { outputs += [ "$target_gen_dir/embedded${suffix}.S" ] args += [ @@ -1278,6 +1318,7 @@ action("v8_dump_build_config") { "$root_out_dir/v8_build_config.json", ] is_gcov_coverage = v8_code_coverage && !is_clang + is_full_debug = v8_enable_debugging_features && !v8_optimized_debug args = [ rebase_path("$root_out_dir/v8_build_config.json", root_build_dir), "current_cpu=\"$current_cpu\"", @@ -1288,6 +1329,7 @@ action("v8_dump_build_config") { "is_clang=$is_clang", "is_component_build=$is_component_build", "is_debug=$v8_enable_debugging_features", + "is_full_debug=$is_full_debug", "is_gcov_coverage=$is_gcov_coverage", "is_msan=$is_msan", "is_tsan=$is_tsan", @@ -1349,7 +1391,7 @@ v8_source_set("v8_nosnapshot") { sources = [ "$target_gen_dir/extras-libraries.cc", - "src/snapshot/embedded-empty.cc", + "src/snapshot/embedded/embedded-empty.cc", "src/snapshot/snapshot-empty.cc", ] @@ -1382,7 +1424,7 @@ if (v8_use_snapshot && !v8_use_external_startup_data) { sources = [ "$target_gen_dir/extras-libraries.cc", "$target_gen_dir/snapshot.cc", - "src/setup-isolate-deserialize.cc", + "src/init/setup-isolate-deserialize.cc", ] if (v8_enable_embedded_builtins && emit_builtins_as_inline_asm) { @@ -1391,7 +1433,7 @@ if (v8_use_snapshot && !v8_use_external_startup_data) { } else if (v8_enable_embedded_builtins) { sources += [ "$target_gen_dir/embedded.S" ] } else { - sources += [ "src/snapshot/embedded-empty.cc" ] + sources += [ "src/snapshot/embedded/embedded-empty.cc" ] } configs = [ ":internal_config" ] @@ -1416,7 +1458,7 @@ if (v8_use_snapshot && v8_use_external_startup_data) { } sources = [ - "src/setup-isolate-deserialize.cc", + "src/init/setup-isolate-deserialize.cc", "src/snapshot/natives-external.cc", "src/snapshot/snapshot-external.cc", ] @@ -1444,7 +1486,7 @@ if (v8_use_snapshot && v8_use_external_startup_data) { ] } } else { - sources += [ "src/snapshot/embedded-empty.cc" ] + sources += [ "src/snapshot/embedded/embedded-empty.cc" ] } configs = [ ":internal_config" ] @@ -1520,8 +1562,8 @@ v8_source_set("v8_initializers") { "src/builtins/growable-fixed-array-gen.cc", "src/builtins/growable-fixed-array-gen.h", "src/builtins/setup-builtins-internal.cc", - "src/code-stub-assembler.cc", - "src/code-stub-assembler.h", + "src/codegen/code-stub-assembler.cc", + "src/codegen/code-stub-assembler.h", "src/heap/setup-heap-internal.cc", "src/ic/accessor-assembler.cc", "src/ic/accessor-assembler.h", @@ -1545,7 +1587,7 @@ v8_source_set("v8_initializers") { # These source files take an unusually large amount of time to # compile. Build them separately to avoid bottlenecks. "src/builtins/builtins-regexp-gen.cc", - "src/code-stub-assembler.cc", + "src/codegen/code-stub-assembler.cc", ] if (v8_current_cpu == "x86") { @@ -1606,7 +1648,7 @@ v8_source_set("v8_init") { sources = [ ### gcmole(all) ### - "src/setup-isolate-full.cc", + "src/init/setup-isolate-full.cc", ] public_deps = [ @@ -1659,7 +1701,7 @@ v8_header_set("v8_shared_internal_headers") { configs = [ ":internal_config" ] sources = [ - "src/globals.h", + "src/common/globals.h", ] deps = [ @@ -1668,6 +1710,7 @@ v8_header_set("v8_shared_internal_headers") { } v8_compiler_sources = [ + ### gcmole(all) ### "src/compiler/access-builder.cc", "src/compiler/access-builder.h", "src/compiler/access-info.cc", @@ -1735,6 +1778,8 @@ v8_compiler_sources = [ "src/compiler/control-flow-optimizer.h", "src/compiler/dead-code-elimination.cc", "src/compiler/dead-code-elimination.h", + "src/compiler/decompression-elimination.cc", + "src/compiler/decompression-elimination.h", "src/compiler/diamond.h", "src/compiler/effect-control-linearizer.cc", "src/compiler/effect-control-linearizer.h", @@ -1805,6 +1850,8 @@ v8_compiler_sources = [ "src/compiler/machine-operator-reducer.h", "src/compiler/machine-operator.cc", "src/compiler/machine-operator.h", + "src/compiler/map-inference.cc", + "src/compiler/map-inference.h", "src/compiler/memory-optimizer.cc", "src/compiler/memory-optimizer.h", "src/compiler/node-aux-data.h", @@ -1878,10 +1925,13 @@ v8_compiler_sources = [ "src/compiler/types.h", "src/compiler/value-numbering-reducer.cc", "src/compiler/value-numbering-reducer.h", + "src/compiler/vector-slot-pair.cc", + "src/compiler/vector-slot-pair.h", "src/compiler/verifier.cc", "src/compiler/verifier.h", "src/compiler/wasm-compiler.cc", "src/compiler/wasm-compiler.h", + "src/compiler/write-barrier-kind.h", "src/compiler/zone-stats.cc", "src/compiler/zone-stats.h", ] @@ -1958,25 +2008,13 @@ v8_source_set("v8_base_without_compiler") { "include/v8-wasm-trap-handler-posix.h", "include/v8.h", "include/v8config.h", - "src/accessors.cc", - "src/accessors.h", - "src/address-map.cc", - "src/address-map.h", - "src/allocation-site-scopes-inl.h", - "src/allocation-site-scopes.h", - "src/allocation.cc", - "src/allocation.h", - "src/api-arguments-inl.h", - "src/api-arguments.cc", - "src/api-arguments.h", - "src/api-natives.cc", - "src/api-natives.h", - "src/api.cc", - "src/api.h", - "src/arguments-inl.h", - "src/arguments.cc", - "src/arguments.h", - "src/asan.h", + "src/api/api-arguments-inl.h", + "src/api/api-arguments.cc", + "src/api/api-arguments.h", + "src/api/api-natives.cc", + "src/api/api-natives.h", + "src/api/api.cc", + "src/api/api.h", "src/asmjs/asm-js.cc", "src/asmjs/asm-js.h", "src/asmjs/asm-names.h", @@ -1986,12 +2024,6 @@ v8_source_set("v8_base_without_compiler") { "src/asmjs/asm-scanner.h", "src/asmjs/asm-types.cc", "src/asmjs/asm-types.h", - "src/assembler-arch.h", - "src/assembler-inl.h", - "src/assembler.cc", - "src/assembler.h", - "src/assert-scope.cc", - "src/assert-scope.h", "src/ast/ast-function-literal-id-reindexer.cc", "src/ast/ast-function-literal-id-reindexer.h", "src/ast/ast-source-ranges.h", @@ -2010,24 +2042,12 @@ v8_source_set("v8_base_without_compiler") { "src/ast/source-range-ast-visitor.h", "src/ast/variables.cc", "src/ast/variables.h", - "src/bailout-reason.cc", - "src/bailout-reason.h", - "src/basic-block-profiler.cc", - "src/basic-block-profiler.h", - "src/bignum-dtoa.cc", - "src/bignum-dtoa.h", - "src/bignum.cc", - "src/bignum.h", - "src/bit-vector.cc", - "src/bit-vector.h", - "src/bootstrapper.cc", - "src/bootstrapper.h", - "src/boxed-float.h", + "src/builtins/accessors.cc", + "src/builtins/accessors.h", "src/builtins/builtins-api.cc", "src/builtins/builtins-array.cc", "src/builtins/builtins-arraybuffer.cc", "src/builtins/builtins-bigint.cc", - "src/builtins/builtins-boolean.cc", "src/builtins/builtins-call.cc", "src/builtins/builtins-callsite.cc", "src/builtins/builtins-collections.cc", @@ -2063,55 +2083,81 @@ v8_source_set("v8_base_without_compiler") { "src/builtins/builtins.h", "src/builtins/constants-table-builder.cc", "src/builtins/constants-table-builder.h", - "src/cached-powers.cc", - "src/cached-powers.h", - "src/callable.h", - "src/cancelable-task.cc", - "src/cancelable-task.h", - "src/char-predicates-inl.h", - "src/char-predicates.cc", - "src/char-predicates.h", - "src/checks.h", - "src/code-comments.cc", - "src/code-comments.h", - "src/code-desc.cc", - "src/code-desc.h", - "src/code-events.h", - "src/code-factory.cc", - "src/code-factory.h", - "src/code-reference.cc", - "src/code-reference.h", - "src/code-tracer.h", - "src/collector.h", - "src/compilation-cache.cc", - "src/compilation-cache.h", - "src/compilation-statistics.cc", - "src/compilation-statistics.h", + "src/codegen/assembler-arch.h", + "src/codegen/assembler-inl.h", + "src/codegen/assembler.cc", + "src/codegen/assembler.h", + "src/codegen/bailout-reason.cc", + "src/codegen/bailout-reason.h", + "src/codegen/callable.h", + "src/codegen/code-comments.cc", + "src/codegen/code-comments.h", + "src/codegen/code-desc.cc", + "src/codegen/code-desc.h", + "src/codegen/code-factory.cc", + "src/codegen/code-factory.h", + "src/codegen/code-reference.cc", + "src/codegen/code-reference.h", + "src/codegen/compilation-cache.cc", + "src/codegen/compilation-cache.h", + "src/codegen/compiler.cc", + "src/codegen/compiler.h", + "src/codegen/constant-pool.cc", + "src/codegen/constant-pool.h", + "src/codegen/constants-arch.h", + "src/codegen/cpu-features.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.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/optimized-compilation-info.cc", + "src/codegen/optimized-compilation-info.h", + "src/codegen/register-arch.h", + "src/codegen/register-configuration.cc", + "src/codegen/register-configuration.h", + "src/codegen/register.h", + "src/codegen/reglist.h", + "src/codegen/reloc-info.cc", + "src/codegen/reloc-info.h", + "src/codegen/safepoint-table.cc", + "src/codegen/safepoint-table.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/string-constants.cc", + "src/codegen/string-constants.h", + "src/codegen/turbo-assembler.cc", + "src/codegen/turbo-assembler.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/ptr-compr-inl.h", + "src/common/ptr-compr.h", + "src/common/v8memory.h", "src/compiler-dispatcher/compiler-dispatcher.cc", "src/compiler-dispatcher/compiler-dispatcher.h", "src/compiler-dispatcher/optimizing-compile-dispatcher.cc", "src/compiler-dispatcher/optimizing-compile-dispatcher.h", - "src/compiler.cc", - "src/compiler.h", - "src/constant-pool.cc", - "src/constant-pool.h", - "src/constants-arch.h", - "src/contexts-inl.h", - "src/contexts.cc", - "src/contexts.h", - "src/conversions-inl.h", - "src/conversions.cc", - "src/conversions.h", - "src/counters-definitions.h", - "src/counters-inl.h", - "src/counters.cc", - "src/counters.h", - "src/cpu-features.h", - "src/date.cc", - "src/date.h", - "src/dateparser-inl.h", - "src/dateparser.cc", - "src/dateparser.h", + "src/date/date.cc", + "src/date/date.h", + "src/date/dateparser-inl.h", + "src/date/dateparser.cc", + "src/date/dateparser.h", "src/debug/debug-coverage.cc", "src/debug/debug-coverage.h", "src/debug/debug-evaluate.cc", @@ -2134,29 +2180,60 @@ v8_source_set("v8_base_without_compiler") { "src/debug/interface-types.h", "src/debug/liveedit.cc", "src/debug/liveedit.h", - "src/deoptimize-reason.cc", - "src/deoptimize-reason.h", - "src/deoptimizer.cc", - "src/deoptimizer.h", - "src/detachable-vector.cc", - "src/detachable-vector.h", - "src/disasm.h", - "src/disassembler.cc", - "src/disassembler.h", - "src/diy-fp.cc", - "src/diy-fp.h", - "src/double.h", - "src/dtoa.cc", - "src/dtoa.h", - "src/eh-frame.cc", - "src/eh-frame.h", - "src/elements-inl.h", - "src/elements-kind.cc", - "src/elements-kind.h", - "src/elements.cc", - "src/elements.h", - "src/execution.cc", - "src/execution.h", + "src/deoptimizer/deoptimize-reason.cc", + "src/deoptimizer/deoptimize-reason.h", + "src/deoptimizer/deoptimizer.cc", + "src/deoptimizer/deoptimizer.h", + "src/diagnostics/basic-block-profiler.cc", + "src/diagnostics/basic-block-profiler.h", + "src/diagnostics/code-tracer.h", + "src/diagnostics/compilation-statistics.cc", + "src/diagnostics/compilation-statistics.h", + "src/diagnostics/disasm.h", + "src/diagnostics/disassembler.cc", + "src/diagnostics/disassembler.h", + "src/diagnostics/eh-frame.cc", + "src/diagnostics/eh-frame.h", + "src/diagnostics/gdb-jit.cc", + "src/diagnostics/gdb-jit.h", + "src/diagnostics/objects-debug.cc", + "src/diagnostics/objects-printer.cc", + "src/diagnostics/perf-jit.cc", + "src/diagnostics/perf-jit.h", + "src/diagnostics/unwinder.cc", + "src/execution/arguments-inl.h", + "src/execution/arguments.cc", + "src/execution/arguments.h", + "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/futex-emulation.cc", + "src/execution/futex-emulation.h", + "src/execution/isolate-data.h", + "src/execution/isolate-inl.h", + "src/execution/isolate.cc", + "src/execution/isolate.h", + "src/execution/message-template.h", + "src/execution/messages.cc", + "src/execution/messages.h", + "src/execution/microtask-queue.cc", + "src/execution/microtask-queue.h", + "src/execution/runtime-profiler.cc", + "src/execution/runtime-profiler.h", + "src/execution/simulator-base.cc", + "src/execution/simulator-base.h", + "src/execution/simulator.h", + "src/execution/thread-id.cc", + "src/execution/thread-id.h", + "src/execution/thread-local-top.cc", + "src/execution/thread-local-top.h", + "src/execution/v8threads.cc", + "src/execution/v8threads.h", + "src/execution/vm-state-inl.h", + "src/execution/vm-state.h", "src/extensions/externalize-string-extension.cc", "src/extensions/externalize-string-extension.h", "src/extensions/free-buffer-extension.cc", @@ -2169,44 +2246,16 @@ v8_source_set("v8_base_without_compiler") { "src/extensions/statistics-extension.h", "src/extensions/trigger-failure-extension.cc", "src/extensions/trigger-failure-extension.h", - "src/external-reference-table.cc", - "src/external-reference-table.h", - "src/external-reference.cc", - "src/external-reference.h", - "src/fast-dtoa.cc", - "src/fast-dtoa.h", - "src/feedback-vector-inl.h", - "src/feedback-vector.cc", - "src/feedback-vector.h", - "src/field-index-inl.h", - "src/field-index.h", - "src/field-type.cc", - "src/field-type.h", - "src/fixed-dtoa.cc", - "src/fixed-dtoa.h", - "src/flag-definitions.h", - "src/flags.cc", - "src/flags.h", - "src/flush-instruction-cache.cc", - "src/flush-instruction-cache.h", - "src/frame-constants.h", - "src/frames-inl.h", - "src/frames.cc", - "src/frames.h", - "src/function-kind.h", - "src/futex-emulation.cc", - "src/futex-emulation.h", - "src/gdb-jit.cc", - "src/gdb-jit.h", - "src/global-handles.cc", - "src/global-handles.h", - "src/handler-table.cc", - "src/handler-table.h", - "src/handles-inl.h", - "src/handles.cc", - "src/handles.h", - "src/hash-seed-inl.h", - "src/heap-symbols.h", + "src/flags/flag-definitions.h", + "src/flags/flags.cc", + "src/flags/flags.h", + "src/handles/global-handles.cc", + "src/handles/global-handles.h", + "src/handles/handles-inl.h", + "src/handles/handles.cc", + "src/handles/handles.h", + "src/handles/maybe-handles-inl.h", + "src/handles/maybe-handles.h", "src/heap/array-buffer-collector.cc", "src/heap/array-buffer-collector.h", "src/heap/array-buffer-tracker-inl.h", @@ -2215,6 +2264,8 @@ v8_source_set("v8_base_without_compiler") { "src/heap/barrier.h", "src/heap/code-stats.cc", "src/heap/code-stats.h", + "src/heap/combined-heap.cc", + "src/heap/combined-heap.h", "src/heap/concurrent-marking.cc", "src/heap/concurrent-marking.h", "src/heap/embedder-tracing.cc", @@ -2292,12 +2343,18 @@ v8_source_set("v8_base_without_compiler") { "src/ic/ic.h", "src/ic/stub-cache.cc", "src/ic/stub-cache.h", - "src/icu_util.cc", - "src/icu_util.h", - "src/identity-map.cc", - "src/identity-map.h", - "src/interface-descriptors.cc", - "src/interface-descriptors.h", + "src/init/bootstrapper.cc", + "src/init/bootstrapper.h", + "src/init/heap-symbols.h", + "src/init/icu_util.cc", + "src/init/icu_util.h", + "src/init/isolate-allocator.cc", + "src/init/isolate-allocator.h", + "src/init/setup-isolate.h", + "src/init/startup-data-util.cc", + "src/init/startup-data-util.h", + "src/init/v8.cc", + "src/init/v8.h", "src/interpreter/block-coverage-builder.h", "src/interpreter/bytecode-array-accessor.cc", "src/interpreter/bytecode-array-accessor.h", @@ -2343,61 +2400,46 @@ v8_source_set("v8_base_without_compiler") { "src/interpreter/interpreter-intrinsics.h", "src/interpreter/interpreter.cc", "src/interpreter/interpreter.h", - "src/isolate-allocator.cc", - "src/isolate-allocator.h", - "src/isolate-data.h", - "src/isolate-inl.h", - "src/isolate.cc", - "src/isolate.h", - "src/json-parser.cc", - "src/json-parser.h", - "src/json-stringifier.cc", - "src/json-stringifier.h", - "src/keys.cc", - "src/keys.h", - "src/label.h", - "src/layout-descriptor-inl.h", - "src/layout-descriptor.cc", - "src/layout-descriptor.h", - "src/locked-queue-inl.h", - "src/locked-queue.h", - "src/log-inl.h", - "src/log-utils.cc", - "src/log-utils.h", - "src/log.cc", - "src/log.h", - "src/lookup-cache-inl.h", - "src/lookup-cache.cc", - "src/lookup-cache.h", - "src/lookup-inl.h", - "src/lookup.cc", - "src/lookup.h", - "src/machine-type.cc", - "src/machine-type.h", - "src/macro-assembler-inl.h", - "src/macro-assembler.h", - "src/map-updater.cc", - "src/map-updater.h", - "src/math-random.cc", - "src/math-random.h", - "src/maybe-handles-inl.h", - "src/maybe-handles.h", - "src/memcopy.cc", - "src/memcopy.h", - "src/message-template.h", - "src/messages.cc", - "src/messages.h", - "src/microtask-queue.cc", - "src/microtask-queue.h", - "src/msan.h", - "src/objects-body-descriptors-inl.h", - "src/objects-body-descriptors.h", - "src/objects-debug.cc", - "src/objects-inl.h", - "src/objects-printer.cc", - "src/objects.cc", - "src/objects.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-inl.h", + "src/logging/counters.cc", + "src/logging/counters.h", + "src/logging/log-inl.h", + "src/logging/log-utils.cc", + "src/logging/log-utils.h", + "src/logging/log.cc", + "src/logging/log.h", + "src/numbers/bignum-dtoa.cc", + "src/numbers/bignum-dtoa.h", + "src/numbers/bignum.cc", + "src/numbers/bignum.h", + "src/numbers/cached-powers.cc", + "src/numbers/cached-powers.h", + "src/numbers/conversions-inl.h", + "src/numbers/conversions.cc", + "src/numbers/conversions.h", + "src/numbers/diy-fp.cc", + "src/numbers/diy-fp.h", + "src/numbers/double.h", + "src/numbers/dtoa.cc", + "src/numbers/dtoa.h", + "src/numbers/fast-dtoa.cc", + "src/numbers/fast-dtoa.h", + "src/numbers/fixed-dtoa.cc", + "src/numbers/fixed-dtoa.h", + "src/numbers/hash-seed-inl.h", + "src/numbers/math-random.cc", + "src/numbers/math-random.h", + "src/numbers/strtod.cc", + "src/numbers/strtod.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/api-callbacks.h", @@ -2414,6 +2456,9 @@ v8_source_set("v8_base_without_compiler") { "src/objects/compilation-cache.h", "src/objects/compressed-slots-inl.h", "src/objects/compressed-slots.h", + "src/objects/contexts-inl.h", + "src/objects/contexts.cc", + "src/objects/contexts.h", "src/objects/data-handler.h", "src/objects/debug-objects-inl.h", "src/objects/debug-objects.cc", @@ -2422,6 +2467,11 @@ v8_source_set("v8_base_without_compiler") { "src/objects/descriptor-array.h", "src/objects/dictionary-inl.h", "src/objects/dictionary.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", @@ -2429,10 +2479,18 @@ v8_source_set("v8_base_without_compiler") { "src/objects/embedder-data-slot.h", "src/objects/feedback-cell-inl.h", "src/objects/feedback-cell.h", + "src/objects/feedback-vector-inl.h", + "src/objects/feedback-vector.cc", + "src/objects/feedback-vector.h", + "src/objects/field-index-inl.h", + "src/objects/field-index.h", + "src/objects/field-type.cc", + "src/objects/field-type.h", "src/objects/fixed-array-inl.h", "src/objects/fixed-array.h", "src/objects/frame-array-inl.h", "src/objects/frame-array.h", + "src/objects/function-kind.h", "src/objects/hash-table-inl.h", "src/objects/hash-table.h", "src/objects/heap-number-inl.h", @@ -2496,12 +2554,25 @@ v8_source_set("v8_base_without_compiler") { "src/objects/js-segmenter.h", "src/objects/js-weak-refs-inl.h", "src/objects/js-weak-refs.h", + "src/objects/keys.cc", + "src/objects/keys.h", + "src/objects/layout-descriptor-inl.h", + "src/objects/layout-descriptor.cc", + "src/objects/layout-descriptor.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/lookup-cache.cc", + "src/objects/lookup-cache.h", + "src/objects/lookup-inl.h", + "src/objects/lookup.cc", + "src/objects/lookup.h", "src/objects/managed.cc", "src/objects/managed.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", @@ -2513,8 +2584,14 @@ v8_source_set("v8_base_without_compiler") { "src/objects/module.h", "src/objects/name-inl.h", "src/objects/name.h", + "src/objects/object-list-macros.h", "src/objects/object-macros-undef.h", "src/objects/object-macros.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/oddball-inl.h", "src/objects/oddball.h", "src/objects/ordered-hash-table-inl.h", @@ -2528,8 +2605,14 @@ v8_source_set("v8_base_without_compiler") { "src/objects/property-cell.h", "src/objects/property-descriptor-object-inl.h", "src/objects/property-descriptor-object.h", + "src/objects/property-descriptor.cc", + "src/objects/property-descriptor.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/regexp-match-info.h", "src/objects/scope-info.cc", "src/objects/scope-info.h", @@ -2552,20 +2635,32 @@ v8_source_set("v8_base_without_compiler") { "src/objects/string.h", "src/objects/struct-inl.h", "src/objects/struct.h", + "src/objects/tagged-impl-inl.h", + "src/objects/tagged-impl.cc", + "src/objects/tagged-impl.h", + "src/objects/tagged-value-inl.h", + "src/objects/tagged-value.h", "src/objects/template-objects-inl.h", "src/objects/template-objects.cc", "src/objects/template-objects.h", "src/objects/templates-inl.h", "src/objects/templates.h", - "src/optimized-compilation-info.cc", - "src/optimized-compilation-info.h", - "src/ostreams.cc", - "src/ostreams.h", + "src/objects/transitions-inl.h", + "src/objects/transitions.cc", + "src/objects/transitions.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.h", "src/parsing/expression-scope-reparenter.cc", "src/parsing/expression-scope-reparenter.h", "src/parsing/expression-scope.h", "src/parsing/func-name-inferrer.cc", "src/parsing/func-name-inferrer.h", + "src/parsing/literal-buffer.cc", + "src/parsing/literal-buffer.h", "src/parsing/parse-info.cc", "src/parsing/parse-info.h", "src/parsing/parser-base.h", @@ -2573,6 +2668,8 @@ v8_source_set("v8_base_without_compiler") { "src/parsing/parser.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", @@ -2587,11 +2684,6 @@ v8_source_set("v8_base_without_compiler") { "src/parsing/scanner.h", "src/parsing/token.cc", "src/parsing/token.h", - "src/pending-compilation-error-handler.cc", - "src/pending-compilation-error-handler.h", - "src/perf-jit.cc", - "src/perf-jit.h", - "src/pointer-with-payload.h", "src/profiler/allocation-tracker.cc", "src/profiler/allocation-tracker.h", "src/profiler/circular-queue-inl.h", @@ -2617,14 +2709,6 @@ v8_source_set("v8_base_without_compiler") { "src/profiler/tick-sample.h", "src/profiler/tracing-cpu-profiler.cc", "src/profiler/tracing-cpu-profiler.h", - "src/property-descriptor.cc", - "src/property-descriptor.h", - "src/property-details.h", - "src/property.cc", - "src/property.h", - "src/prototype.h", - "src/ptr-compr-inl.h", - "src/ptr-compr.h", "src/regexp/bytecodes-irregexp.h", "src/regexp/interpreter-irregexp.cc", "src/regexp/interpreter-irregexp.h", @@ -2644,22 +2728,14 @@ v8_source_set("v8_base_without_compiler") { "src/regexp/regexp-macro-assembler.h", "src/regexp/regexp-parser.cc", "src/regexp/regexp-parser.h", + "src/regexp/regexp-special-case.h", "src/regexp/regexp-stack.cc", "src/regexp/regexp-stack.h", "src/regexp/regexp-utils.cc", "src/regexp/regexp-utils.h", - "src/register-arch.h", - "src/register-configuration.cc", - "src/register-configuration.h", - "src/register.h", - "src/reglist.h", - "src/reloc-info.cc", - "src/reloc-info.h", - "src/roots-inl.h", - "src/roots.cc", - "src/roots.h", - "src/runtime-profiler.cc", - "src/runtime-profiler.h", + "src/roots/roots-inl.h", + "src/roots/roots.cc", + "src/roots/roots.h", "src/runtime/runtime-array.cc", "src/runtime/runtime-atomics.cc", "src/runtime/runtime-bigint.cc", @@ -2693,21 +2769,19 @@ v8_source_set("v8_base_without_compiler") { "src/runtime/runtime-weak-refs.cc", "src/runtime/runtime.cc", "src/runtime/runtime.h", - "src/safepoint-table.cc", - "src/safepoint-table.h", - "src/setup-isolate.h", - "src/signature.h", - "src/simulator-base.cc", - "src/simulator-base.h", - "src/simulator.h", + "src/sanitizer/asan.h", + "src/sanitizer/lsan-page-allocator.cc", + "src/sanitizer/lsan-page-allocator.h", + "src/sanitizer/msan.h", + "src/sanitizer/tsan.h", "src/snapshot/code-serializer.cc", "src/snapshot/code-serializer.h", "src/snapshot/deserializer-allocator.cc", "src/snapshot/deserializer-allocator.h", "src/snapshot/deserializer.cc", "src/snapshot/deserializer.h", - "src/snapshot/embedded-data.cc", - "src/snapshot/embedded-data.h", + "src/snapshot/embedded/embedded-data.cc", + "src/snapshot/embedded/embedded-data.h", "src/snapshot/natives-common.cc", "src/snapshot/natives.h", "src/snapshot/object-deserializer.cc", @@ -2737,85 +2811,69 @@ v8_source_set("v8_base_without_compiler") { "src/snapshot/startup-deserializer.h", "src/snapshot/startup-serializer.cc", "src/snapshot/startup-serializer.h", - "src/source-position-table.cc", - "src/source-position-table.h", - "src/source-position.cc", - "src/source-position.h", - "src/splay-tree-inl.h", - "src/splay-tree.h", - "src/startup-data-util.cc", - "src/startup-data-util.h", - "src/string-builder-inl.h", - "src/string-builder.cc", - "src/string-case.cc", - "src/string-case.h", - "src/string-constants.cc", - "src/string-constants.h", - "src/string-hasher-inl.h", - "src/string-hasher.h", - "src/string-search.h", - "src/string-stream.cc", - "src/string-stream.h", - "src/strtod.cc", - "src/strtod.h", - "src/task-utils.cc", - "src/task-utils.h", + "src/strings/char-predicates-inl.h", + "src/strings/char-predicates.cc", + "src/strings/char-predicates.h", + "src/strings/string-builder-inl.h", + "src/strings/string-builder.cc", + "src/strings/string-case.cc", + "src/strings/string-case.h", + "src/strings/string-hasher-inl.h", + "src/strings/string-hasher.h", + "src/strings/string-search.h", + "src/strings/string-stream.cc", + "src/strings/string-stream.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", + "src/tasks/cancelable-task.h", + "src/tasks/task-utils.cc", + "src/tasks/task-utils.h", "src/third_party/siphash/halfsiphash.cc", "src/third_party/siphash/halfsiphash.h", "src/third_party/utf8-decoder/utf8-decoder.h", - "src/thread-id.cc", - "src/thread-id.h", - "src/thread-local-top.cc", - "src/thread-local-top.h", "src/tracing/trace-event.cc", "src/tracing/trace-event.h", "src/tracing/traced-value.cc", "src/tracing/traced-value.h", "src/tracing/tracing-category-observer.cc", "src/tracing/tracing-category-observer.h", - "src/transitions-inl.h", - "src/transitions.cc", - "src/transitions.h", "src/trap-handler/handler-inside.cc", "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/turbo-assembler.cc", - "src/turbo-assembler.h", - "src/type-hints.cc", - "src/type-hints.h", - "src/type-traits.h", - "src/unicode-cache.h", - "src/unicode-decoder.cc", - "src/unicode-decoder.h", - "src/unicode-inl.h", - "src/unicode.cc", - "src/unicode.h", - "src/unoptimized-compilation-info.cc", - "src/unoptimized-compilation-info.h", - "src/unwinder.cc", - "src/uri.cc", - "src/uri.h", - "src/utils-inl.h", - "src/utils.cc", - "src/utils.h", - "src/v8.cc", - "src/v8.h", - "src/v8memory.h", - "src/v8threads.cc", - "src/v8threads.h", - "src/value-serializer.cc", - "src/value-serializer.h", - "src/vector-slot-pair.cc", - "src/vector-slot-pair.h", - "src/vector.h", - "src/version.cc", - "src/version.h", - "src/visitors.cc", - "src/visitors.h", - "src/vm-state-inl.h", - "src/vm-state.h", + "src/utils/address-map.cc", + "src/utils/address-map.h", + "src/utils/allocation.cc", + "src/utils/allocation.h", + "src/utils/bit-vector.cc", + "src/utils/bit-vector.h", + "src/utils/boxed-float.h", + "src/utils/detachable-vector.cc", + "src/utils/detachable-vector.h", + "src/utils/identity-map.cc", + "src/utils/identity-map.h", + "src/utils/locked-queue-inl.h", + "src/utils/locked-queue.h", + "src/utils/memcopy.cc", + "src/utils/memcopy.h", + "src/utils/ostreams.cc", + "src/utils/ostreams.h", + "src/utils/pointer-with-payload.h", + "src/utils/splay-tree-inl.h", + "src/utils/splay-tree.h", + "src/utils/utils-inl.h", + "src/utils/utils.cc", + "src/utils/utils.h", + "src/utils/vector.h", + "src/utils/version.cc", + "src/utils/version.h", "src/wasm/baseline/liftoff-assembler-defs.h", "src/wasm/baseline/liftoff-assembler.cc", "src/wasm/baseline/liftoff-assembler.h", @@ -2916,40 +2974,50 @@ v8_source_set("v8_base_without_compiler") { # These source files take an unusually large amount of time to # compile. Build them separately to avoid bottlenecks. - "src/api.cc", - "src/elements.cc", + "src/api/api.cc", "src/heap/heap.cc", - "src/objects.cc", + "src/objects/elements.cc", + "src/objects/objects.cc", "src/parsing/parser.cc", ] if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### + "src/codegen/ia32/assembler-ia32-inl.h", + "src/codegen/ia32/assembler-ia32.cc", + "src/codegen/ia32/assembler-ia32.h", + "src/codegen/ia32/constants-ia32.h", + "src/codegen/ia32/cpu-ia32.cc", + "src/codegen/ia32/interface-descriptors-ia32.cc", + "src/codegen/ia32/macro-assembler-ia32.cc", + "src/codegen/ia32/macro-assembler-ia32.h", + "src/codegen/ia32/register-ia32.h", + "src/codegen/ia32/sse-instr.h", "src/compiler/backend/ia32/code-generator-ia32.cc", "src/compiler/backend/ia32/instruction-codes-ia32.h", "src/compiler/backend/ia32/instruction-scheduler-ia32.cc", "src/compiler/backend/ia32/instruction-selector-ia32.cc", "src/debug/ia32/debug-ia32.cc", - "src/ia32/assembler-ia32-inl.h", - "src/ia32/assembler-ia32.cc", - "src/ia32/assembler-ia32.h", - "src/ia32/constants-ia32.h", - "src/ia32/cpu-ia32.cc", - "src/ia32/deoptimizer-ia32.cc", - "src/ia32/disasm-ia32.cc", - "src/ia32/frame-constants-ia32.cc", - "src/ia32/frame-constants-ia32.h", - "src/ia32/interface-descriptors-ia32.cc", - "src/ia32/macro-assembler-ia32.cc", - "src/ia32/macro-assembler-ia32.h", - "src/ia32/register-ia32.h", - "src/ia32/sse-instr.h", + "src/deoptimizer/ia32/deoptimizer-ia32.cc", + "src/diagnostics/ia32/disasm-ia32.cc", + "src/execution/ia32/frame-constants-ia32.cc", + "src/execution/ia32/frame-constants-ia32.h", "src/regexp/ia32/regexp-macro-assembler-ia32.cc", "src/regexp/ia32/regexp-macro-assembler-ia32.h", "src/wasm/baseline/ia32/liftoff-assembler-ia32.h", ] } else if (v8_current_cpu == "x64") { sources += [ ### gcmole(arch:x64) ### + "src/codegen/x64/assembler-x64-inl.h", + "src/codegen/x64/assembler-x64.cc", + "src/codegen/x64/assembler-x64.h", + "src/codegen/x64/constants-x64.h", + "src/codegen/x64/cpu-x64.cc", + "src/codegen/x64/interface-descriptors-x64.cc", + "src/codegen/x64/macro-assembler-x64.cc", + "src/codegen/x64/macro-assembler-x64.h", + "src/codegen/x64/register-x64.h", + "src/codegen/x64/sse-instr.h", "src/compiler/backend/x64/code-generator-x64.cc", "src/compiler/backend/x64/instruction-codes-x64.h", "src/compiler/backend/x64/instruction-scheduler-x64.cc", @@ -2957,26 +3025,17 @@ v8_source_set("v8_base_without_compiler") { "src/compiler/backend/x64/unwinding-info-writer-x64.cc", "src/compiler/backend/x64/unwinding-info-writer-x64.h", "src/debug/x64/debug-x64.cc", + "src/deoptimizer/x64/deoptimizer-x64.cc", + "src/diagnostics/x64/disasm-x64.cc", + "src/diagnostics/x64/eh-frame-x64.cc", + "src/execution/x64/frame-constants-x64.cc", + "src/execution/x64/frame-constants-x64.h", "src/regexp/x64/regexp-macro-assembler-x64.cc", "src/regexp/x64/regexp-macro-assembler-x64.h", "src/third_party/valgrind/valgrind.h", "src/wasm/baseline/x64/liftoff-assembler-x64.h", - "src/x64/assembler-x64-inl.h", - "src/x64/assembler-x64.cc", - "src/x64/assembler-x64.h", - "src/x64/constants-x64.h", - "src/x64/cpu-x64.cc", - "src/x64/deoptimizer-x64.cc", - "src/x64/disasm-x64.cc", - "src/x64/eh-frame-x64.cc", - "src/x64/frame-constants-x64.cc", - "src/x64/frame-constants-x64.h", - "src/x64/interface-descriptors-x64.cc", - "src/x64/macro-assembler-x64.cc", - "src/x64/macro-assembler-x64.h", - "src/x64/register-x64.h", - "src/x64/sse-instr.h", ] + # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both # based on Darwin and thus POSIX-compliant to a similar degree. if (is_linux || is_mac || is_ios) { @@ -2988,32 +3047,25 @@ v8_source_set("v8_base_without_compiler") { } if (is_win) { sources += [ + "src/diagnostics/unwinding-info-win64.cc", + "src/diagnostics/unwinding-info-win64.h", "src/trap-handler/handler-inside-win.cc", "src/trap-handler/handler-inside-win.h", "src/trap-handler/handler-outside-win.cc", - "src/unwinding-info-win64.cc", - "src/unwinding-info-win64.h", ] } } else if (v8_current_cpu == "arm") { sources += [ ### gcmole(arch:arm) ### - "src/arm/assembler-arm-inl.h", - "src/arm/assembler-arm.cc", - "src/arm/assembler-arm.h", - "src/arm/constants-arm.cc", - "src/arm/constants-arm.h", - "src/arm/cpu-arm.cc", - "src/arm/deoptimizer-arm.cc", - "src/arm/disasm-arm.cc", - "src/arm/eh-frame-arm.cc", - "src/arm/frame-constants-arm.cc", - "src/arm/frame-constants-arm.h", - "src/arm/interface-descriptors-arm.cc", - "src/arm/macro-assembler-arm.cc", - "src/arm/macro-assembler-arm.h", - "src/arm/register-arm.h", - "src/arm/simulator-arm.cc", - "src/arm/simulator-arm.h", + "src/codegen/arm/assembler-arm-inl.h", + "src/codegen/arm/assembler-arm.cc", + "src/codegen/arm/assembler-arm.h", + "src/codegen/arm/constants-arm.cc", + "src/codegen/arm/constants-arm.h", + "src/codegen/arm/cpu-arm.cc", + "src/codegen/arm/interface-descriptors-arm.cc", + "src/codegen/arm/macro-assembler-arm.cc", + "src/codegen/arm/macro-assembler-arm.h", + "src/codegen/arm/register-arm.h", "src/compiler/backend/arm/code-generator-arm.cc", "src/compiler/backend/arm/instruction-codes-arm.h", "src/compiler/backend/arm/instruction-scheduler-arm.cc", @@ -3021,42 +3073,40 @@ v8_source_set("v8_base_without_compiler") { "src/compiler/backend/arm/unwinding-info-writer-arm.cc", "src/compiler/backend/arm/unwinding-info-writer-arm.h", "src/debug/arm/debug-arm.cc", + "src/deoptimizer/arm/deoptimizer-arm.cc", + "src/diagnostics/arm/disasm-arm.cc", + "src/diagnostics/arm/eh-frame-arm.cc", + "src/execution/arm/frame-constants-arm.cc", + "src/execution/arm/frame-constants-arm.h", + "src/execution/arm/simulator-arm.cc", + "src/execution/arm/simulator-arm.h", "src/regexp/arm/regexp-macro-assembler-arm.cc", "src/regexp/arm/regexp-macro-assembler-arm.h", "src/wasm/baseline/arm/liftoff-assembler-arm.h", ] } else if (v8_current_cpu == "arm64") { sources += [ ### gcmole(arch:arm64) ### - "src/arm64/assembler-arm64-inl.h", - "src/arm64/assembler-arm64.cc", - "src/arm64/assembler-arm64.h", - "src/arm64/constants-arm64.h", - "src/arm64/cpu-arm64.cc", - "src/arm64/decoder-arm64-inl.h", - "src/arm64/decoder-arm64.cc", - "src/arm64/decoder-arm64.h", - "src/arm64/deoptimizer-arm64.cc", - "src/arm64/disasm-arm64.cc", - "src/arm64/disasm-arm64.h", - "src/arm64/eh-frame-arm64.cc", - "src/arm64/frame-constants-arm64.cc", - "src/arm64/frame-constants-arm64.h", - "src/arm64/instructions-arm64-constants.cc", - "src/arm64/instructions-arm64.cc", - "src/arm64/instructions-arm64.h", - "src/arm64/instrument-arm64.cc", - "src/arm64/instrument-arm64.h", - "src/arm64/interface-descriptors-arm64.cc", - "src/arm64/macro-assembler-arm64-inl.h", - "src/arm64/macro-assembler-arm64.cc", - "src/arm64/macro-assembler-arm64.h", - "src/arm64/register-arm64.cc", - "src/arm64/register-arm64.h", - "src/arm64/simulator-arm64.cc", - "src/arm64/simulator-arm64.h", - "src/arm64/simulator-logic-arm64.cc", - "src/arm64/utils-arm64.cc", - "src/arm64/utils-arm64.h", + "src/codegen/arm64/assembler-arm64-inl.h", + "src/codegen/arm64/assembler-arm64.cc", + "src/codegen/arm64/assembler-arm64.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/instructions-arm64-constants.cc", + "src/codegen/arm64/instructions-arm64.cc", + "src/codegen/arm64/instructions-arm64.h", + "src/codegen/arm64/instrument-arm64.cc", + "src/codegen/arm64/instrument-arm64.h", + "src/codegen/arm64/interface-descriptors-arm64.cc", + "src/codegen/arm64/macro-assembler-arm64-inl.h", + "src/codegen/arm64/macro-assembler-arm64.cc", + "src/codegen/arm64/macro-assembler-arm64.h", + "src/codegen/arm64/register-arm64.cc", + "src/codegen/arm64/register-arm64.h", + "src/codegen/arm64/utils-arm64.cc", + "src/codegen/arm64/utils-arm64.h", "src/compiler/backend/arm64/code-generator-arm64.cc", "src/compiler/backend/arm64/instruction-codes-arm64.h", "src/compiler/backend/arm64/instruction-scheduler-arm64.cc", @@ -3064,6 +3114,15 @@ v8_source_set("v8_base_without_compiler") { "src/compiler/backend/arm64/unwinding-info-writer-arm64.cc", "src/compiler/backend/arm64/unwinding-info-writer-arm64.h", "src/debug/arm64/debug-arm64.cc", + "src/deoptimizer/arm64/deoptimizer-arm64.cc", + "src/diagnostics/arm64/disasm-arm64.cc", + "src/diagnostics/arm64/disasm-arm64.h", + "src/diagnostics/arm64/eh-frame-arm64.cc", + "src/execution/arm64/frame-constants-arm64.cc", + "src/execution/arm64/frame-constants-arm64.h", + "src/execution/arm64/simulator-arm64.cc", + "src/execution/arm64/simulator-arm64.h", + "src/execution/arm64/simulator-logic-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.cc", "src/regexp/arm64/regexp-macro-assembler-arm64.h", "src/wasm/baseline/arm64/liftoff-assembler-arm64.h", @@ -3071,114 +3130,114 @@ v8_source_set("v8_base_without_compiler") { jumbo_excluded_sources += [ # TODO(mostynb@vewd.com): fix this code so it doesn't need # to be excluded, see the comments inside. - "src/arm64/instructions-arm64-constants.cc", + "src/codegen/arm64/instructions-arm64-constants.cc", ] } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { sources += [ ### gcmole(arch:mipsel) ### + "src/codegen/mips/assembler-mips-inl.h", + "src/codegen/mips/assembler-mips.cc", + "src/codegen/mips/assembler-mips.h", + "src/codegen/mips/constants-mips.cc", + "src/codegen/mips/constants-mips.h", + "src/codegen/mips/cpu-mips.cc", + "src/codegen/mips/interface-descriptors-mips.cc", + "src/codegen/mips/macro-assembler-mips.cc", + "src/codegen/mips/macro-assembler-mips.h", + "src/codegen/mips/register-mips.h", "src/compiler/backend/mips/code-generator-mips.cc", "src/compiler/backend/mips/instruction-codes-mips.h", "src/compiler/backend/mips/instruction-scheduler-mips.cc", "src/compiler/backend/mips/instruction-selector-mips.cc", "src/debug/mips/debug-mips.cc", - "src/mips/assembler-mips-inl.h", - "src/mips/assembler-mips.cc", - "src/mips/assembler-mips.h", - "src/mips/constants-mips.cc", - "src/mips/constants-mips.h", - "src/mips/cpu-mips.cc", - "src/mips/deoptimizer-mips.cc", - "src/mips/disasm-mips.cc", - "src/mips/frame-constants-mips.cc", - "src/mips/frame-constants-mips.h", - "src/mips/interface-descriptors-mips.cc", - "src/mips/macro-assembler-mips.cc", - "src/mips/macro-assembler-mips.h", - "src/mips/register-mips.h", - "src/mips/simulator-mips.cc", - "src/mips/simulator-mips.h", + "src/deoptimizer/mips/deoptimizer-mips.cc", + "src/diagnostics/mips/disasm-mips.cc", + "src/execution/mips/frame-constants-mips.cc", + "src/execution/mips/frame-constants-mips.h", + "src/execution/mips/simulator-mips.cc", + "src/execution/mips/simulator-mips.h", "src/regexp/mips/regexp-macro-assembler-mips.cc", "src/regexp/mips/regexp-macro-assembler-mips.h", "src/wasm/baseline/mips/liftoff-assembler-mips.h", ] } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") { sources += [ ### gcmole(arch:mips64el) ### + "src/codegen/mips64/assembler-mips64-inl.h", + "src/codegen/mips64/assembler-mips64.cc", + "src/codegen/mips64/assembler-mips64.h", + "src/codegen/mips64/constants-mips64.cc", + "src/codegen/mips64/constants-mips64.h", + "src/codegen/mips64/cpu-mips64.cc", + "src/codegen/mips64/interface-descriptors-mips64.cc", + "src/codegen/mips64/macro-assembler-mips64.cc", + "src/codegen/mips64/macro-assembler-mips64.h", + "src/codegen/mips64/register-mips64.h", "src/compiler/backend/mips64/code-generator-mips64.cc", "src/compiler/backend/mips64/instruction-codes-mips64.h", "src/compiler/backend/mips64/instruction-scheduler-mips64.cc", "src/compiler/backend/mips64/instruction-selector-mips64.cc", "src/debug/mips64/debug-mips64.cc", - "src/mips64/assembler-mips64-inl.h", - "src/mips64/assembler-mips64.cc", - "src/mips64/assembler-mips64.h", - "src/mips64/constants-mips64.cc", - "src/mips64/constants-mips64.h", - "src/mips64/cpu-mips64.cc", - "src/mips64/deoptimizer-mips64.cc", - "src/mips64/disasm-mips64.cc", - "src/mips64/frame-constants-mips64.cc", - "src/mips64/frame-constants-mips64.h", - "src/mips64/interface-descriptors-mips64.cc", - "src/mips64/macro-assembler-mips64.cc", - "src/mips64/macro-assembler-mips64.h", - "src/mips64/register-mips64.h", - "src/mips64/simulator-mips64.cc", - "src/mips64/simulator-mips64.h", + "src/deoptimizer/mips64/deoptimizer-mips64.cc", + "src/diagnostics/mips64/disasm-mips64.cc", + "src/execution/mips64/frame-constants-mips64.cc", + "src/execution/mips64/frame-constants-mips64.h", + "src/execution/mips64/simulator-mips64.cc", + "src/execution/mips64/simulator-mips64.h", "src/regexp/mips64/regexp-macro-assembler-mips64.cc", "src/regexp/mips64/regexp-macro-assembler-mips64.h", "src/wasm/baseline/mips64/liftoff-assembler-mips64.h", ] } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") { sources += [ ### gcmole(arch:ppc) ### + "src/codegen/ppc/assembler-ppc-inl.h", + "src/codegen/ppc/assembler-ppc.cc", + "src/codegen/ppc/assembler-ppc.h", + "src/codegen/ppc/constants-ppc.cc", + "src/codegen/ppc/constants-ppc.h", + "src/codegen/ppc/cpu-ppc.cc", + "src/codegen/ppc/interface-descriptors-ppc.cc", + "src/codegen/ppc/macro-assembler-ppc.cc", + "src/codegen/ppc/macro-assembler-ppc.h", + "src/codegen/ppc/register-ppc.h", "src/compiler/backend/ppc/code-generator-ppc.cc", "src/compiler/backend/ppc/instruction-codes-ppc.h", "src/compiler/backend/ppc/instruction-scheduler-ppc.cc", "src/compiler/backend/ppc/instruction-selector-ppc.cc", "src/debug/ppc/debug-ppc.cc", - "src/ppc/assembler-ppc-inl.h", - "src/ppc/assembler-ppc.cc", - "src/ppc/assembler-ppc.h", - "src/ppc/constants-ppc.cc", - "src/ppc/constants-ppc.h", - "src/ppc/cpu-ppc.cc", - "src/ppc/deoptimizer-ppc.cc", - "src/ppc/disasm-ppc.cc", - "src/ppc/frame-constants-ppc.cc", - "src/ppc/frame-constants-ppc.h", - "src/ppc/interface-descriptors-ppc.cc", - "src/ppc/macro-assembler-ppc.cc", - "src/ppc/macro-assembler-ppc.h", - "src/ppc/register-ppc.h", - "src/ppc/simulator-ppc.cc", - "src/ppc/simulator-ppc.h", + "src/deoptimizer/ppc/deoptimizer-ppc.cc", + "src/diagnostics/ppc/disasm-ppc.cc", + "src/execution/ppc/frame-constants-ppc.cc", + "src/execution/ppc/frame-constants-ppc.h", + "src/execution/ppc/simulator-ppc.cc", + "src/execution/ppc/simulator-ppc.h", "src/regexp/ppc/regexp-macro-assembler-ppc.cc", "src/regexp/ppc/regexp-macro-assembler-ppc.h", "src/wasm/baseline/ppc/liftoff-assembler-ppc.h", ] } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") { sources += [ ### gcmole(arch:s390) ### + "src/codegen/s390/assembler-s390-inl.h", + "src/codegen/s390/assembler-s390.cc", + "src/codegen/s390/assembler-s390.h", + "src/codegen/s390/constants-s390.cc", + "src/codegen/s390/constants-s390.h", + "src/codegen/s390/cpu-s390.cc", + "src/codegen/s390/interface-descriptors-s390.cc", + "src/codegen/s390/macro-assembler-s390.cc", + "src/codegen/s390/macro-assembler-s390.h", + "src/codegen/s390/register-s390.h", "src/compiler/backend/s390/code-generator-s390.cc", "src/compiler/backend/s390/instruction-codes-s390.h", "src/compiler/backend/s390/instruction-scheduler-s390.cc", "src/compiler/backend/s390/instruction-selector-s390.cc", "src/debug/s390/debug-s390.cc", + "src/deoptimizer/s390/deoptimizer-s390.cc", + "src/diagnostics/s390/disasm-s390.cc", + "src/execution/s390/frame-constants-s390.cc", + "src/execution/s390/frame-constants-s390.h", + "src/execution/s390/simulator-s390.cc", + "src/execution/s390/simulator-s390.h", "src/regexp/s390/regexp-macro-assembler-s390.cc", "src/regexp/s390/regexp-macro-assembler-s390.h", - "src/s390/assembler-s390-inl.h", - "src/s390/assembler-s390.cc", - "src/s390/assembler-s390.h", - "src/s390/constants-s390.cc", - "src/s390/constants-s390.h", - "src/s390/cpu-s390.cc", - "src/s390/deoptimizer-s390.cc", - "src/s390/disasm-s390.cc", - "src/s390/frame-constants-s390.cc", - "src/s390/frame-constants-s390.h", - "src/s390/interface-descriptors-s390.cc", - "src/s390/macro-assembler-s390.cc", - "src/s390/macro-assembler-s390.h", - "src/s390/register-s390.h", - "src/s390/simulator-s390.cc", - "src/s390/simulator-s390.h", "src/wasm/baseline/s390/liftoff-assembler-s390.h", ] } @@ -3203,13 +3262,14 @@ v8_source_set("v8_base_without_compiler") { ] if (v8_enable_i18n_support) { + deps += [ ":run_gen-regexp-special-case" ] + sources += [ "$target_gen_dir/src/regexp/special-case.cc" ] if (is_win) { deps += [ "//third_party/icu:icudata" ] } } else { sources -= [ "src/builtins/builtins-intl.cc", - "src/char-predicates.cc", "src/objects/intl-objects.cc", "src/objects/intl-objects.h", "src/objects/js-break-iterator-inl.h", @@ -3243,6 +3303,7 @@ v8_source_set("v8_base_without_compiler") { "src/objects/js-segmenter.cc", "src/objects/js-segmenter.h", "src/runtime/runtime-intl.cc", + "src/strings/char-predicates.cc", ] } @@ -3275,6 +3336,7 @@ v8_source_set("torque_base") { "src/torque/ast.h", "src/torque/cfg.cc", "src/torque/cfg.h", + "src/torque/constants.h", "src/torque/contextual.h", "src/torque/csa-generator.cc", "src/torque/csa-generator.h", @@ -3286,8 +3348,6 @@ v8_source_set("torque_base") { "src/torque/declarations.h", "src/torque/earley-parser.cc", "src/torque/earley-parser.h", - "src/torque/file-visitor.cc", - "src/torque/file-visitor.h", "src/torque/global-context.h", "src/torque/implementation-visitor.cc", "src/torque/implementation-visitor.h", @@ -3303,6 +3363,8 @@ v8_source_set("torque_base") { "src/torque/torque-parser.h", "src/torque/type-oracle.cc", "src/torque/type-oracle.h", + "src/torque/type-visitor.cc", + "src/torque/type-visitor.h", "src/torque/types.cc", "src/torque/types.h", "src/torque/utils.cc", @@ -3329,8 +3391,16 @@ v8_source_set("torque_base") { ] if (is_win && is_asan) { + # Due to a bug in ASAN on Windows (chromium:893437), we disable ASAN for + # Torque on Windows. remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ] } + + if (is_debug && !v8_optimized_debug && v8_enable_fast_torque) { + # The :no_optimize config is added to v8_add_configs in v8.gni. + remove_configs += [ "//build/config/compiler:no_optimize" ] + configs += [ ":always_optimize" ] + } } v8_source_set("torque_ls_base") { @@ -3394,7 +3464,6 @@ v8_component("v8_libbase") { "src/base/file-utils.cc", "src/base/file-utils.h", "src/base/flags.h", - "src/base/format-macros.h", "src/base/free_deleter.h", "src/base/functional.cc", "src/base/functional.h", @@ -3407,8 +3476,6 @@ v8_component("v8_libbase") { "src/base/list.h", "src/base/logging.cc", "src/base/logging.h", - "src/base/lsan-page-allocator.cc", - "src/base/lsan-page-allocator.h", "src/base/macros.h", "src/base/once.cc", "src/base/once.h", @@ -3436,7 +3503,7 @@ v8_component("v8_libbase") { "src/base/sys-info.h", "src/base/template-utils.h", "src/base/timezone-cache.h", - "src/base/tsan.h", + "src/base/type-traits.h", "src/base/utils/random-number-generator.cc", "src/base/utils/random-number-generator.h", ] @@ -3601,7 +3668,25 @@ v8_component("v8_libplatform") { ":v8_libbase", ] if (v8_use_perfetto) { - deps += [ "third_party/perfetto:libperfetto" ] + sources += [ + "src/libplatform/tracing/json-trace-event-listener.cc", + "src/libplatform/tracing/json-trace-event-listener.h", + "src/libplatform/tracing/perfetto-consumer.cc", + "src/libplatform/tracing/perfetto-consumer.h", + "src/libplatform/tracing/perfetto-producer.cc", + "src/libplatform/tracing/perfetto-producer.h", + "src/libplatform/tracing/perfetto-shared-memory.cc", + "src/libplatform/tracing/perfetto-shared-memory.h", + "src/libplatform/tracing/perfetto-tasks.cc", + "src/libplatform/tracing/perfetto-tasks.h", + "src/libplatform/tracing/perfetto-tracing-controller.cc", + "src/libplatform/tracing/perfetto-tracing-controller.h", + "src/libplatform/tracing/trace-event-listener.h", + ] + deps += [ + "//third_party/perfetto:libperfetto", + "//third_party/perfetto/protos/perfetto/trace/chrome:minimal_complete_lite", + ] } } @@ -3679,9 +3764,11 @@ v8_static_library("wee8") { configs = [ ":internal_config" ] sources = [ + ### gcmole(all) ### "src/wasm/c-api.cc", - "third_party/wasm-c-api/wasm.h", - "third_party/wasm-c-api/wasm.hh", + "src/wasm/c-api.h", + "third_party/wasm-api/wasm.h", + "third_party/wasm-api/wasm.hh", ] } @@ -3717,8 +3804,18 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { visibility = [ ":*" ] # Only targets in this file can depend on this. sources = [ - "src/snapshot/embedded-file-writer.cc", - "src/snapshot/embedded-file-writer.h", + "src/snapshot/embedded/embedded-file-writer.cc", + "src/snapshot/embedded/embedded-file-writer.h", + "src/snapshot/embedded/platform-embedded-file-writer-aix.cc", + "src/snapshot/embedded/platform-embedded-file-writer-aix.h", + "src/snapshot/embedded/platform-embedded-file-writer-base.cc", + "src/snapshot/embedded/platform-embedded-file-writer-base.h", + "src/snapshot/embedded/platform-embedded-file-writer-generic.cc", + "src/snapshot/embedded/platform-embedded-file-writer-generic.h", + "src/snapshot/embedded/platform-embedded-file-writer-mac.cc", + "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/mksnapshot.cc", ] @@ -3733,12 +3830,6 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { ":v8_nosnapshot", "//build/win:default_exe_manifest", ] - - if (target_os == "fuchsia") { - defines = [ "V8_TARGET_OS_FUCHSIA" ] - } else if (target_os == "win") { - defines = [ "V8_TARGET_OS_WIN" ] - } } } @@ -3801,6 +3892,50 @@ v8_executable("torque-language-server") { } } +if (current_toolchain == v8_generator_toolchain) { + v8_executable("gen-regexp-special-case") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + sources = [ + "src/regexp/gen-regexp-special-case.cc", + ] + + deps = [ + ":v8_libbase", + "//build/win:default_exe_manifest", + "//third_party/icu", + ] + + configs = [ ":internal_config" ] + } +} + +action("run_gen-regexp-special-case") { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + script = "tools/run.py" + + sources = v8_extra_library_files + + deps = [ + ":gen-regexp-special-case($v8_generator_toolchain)", + ] + + output_file = "$target_gen_dir/src/regexp/special-case.cc" + + outputs = [ + output_file, + ] + + args = [ + "./" + rebase_path( + get_label_info(":gen-regexp-special-case($v8_generator_toolchain)", + "root_out_dir") + "/gen-regexp-special-case", + root_build_dir), + rebase_path(output_file, root_build_dir), + ] +} + ############################################################################### # Public targets # @@ -3833,6 +3968,12 @@ group("gn_all") { } } +group("v8_python_base") { + data = [ + ".vpython", + ] +} + group("v8_clusterfuzz") { testonly = true @@ -3899,7 +4040,7 @@ group("v8_fuzzers") { if (is_component_build) { v8_component("v8") { sources = [ - "src/v8dll-main.cc", + "src/utils/v8dll-main.cc", ] public_deps = [ @@ -3916,7 +4057,7 @@ if (is_component_build) { testonly = true sources = [ - "src/v8dll-main.cc", + "src/utils/v8dll-main.cc", ] public_deps = [ @@ -3965,15 +4106,15 @@ if (is_component_build) { v8_executable("d8") { sources = [ - "src/async-hooks-wrapper.cc", - "src/async-hooks-wrapper.h", - "src/d8-console.cc", - "src/d8-console.h", - "src/d8-js.cc", - "src/d8-platforms.cc", - "src/d8-platforms.h", - "src/d8.cc", - "src/d8.h", + "src/d8/async-hooks-wrapper.cc", + "src/d8/async-hooks-wrapper.h", + "src/d8/d8-console.cc", + "src/d8/d8-console.h", + "src/d8/d8-js.cc", + "src/d8/d8-platforms.cc", + "src/d8/d8-platforms.h", + "src/d8/d8.cc", + "src/d8/d8.h", ] configs = [ @@ -3991,9 +4132,9 @@ v8_executable("d8") { ] if (is_posix || is_fuchsia) { - sources += [ "src/d8-posix.cc" ] + sources += [ "src/d8/d8-posix.cc" ] } else if (is_win) { - sources += [ "src/d8-windows.cc" ] + sources += [ "src/d8/d8-windows.cc" ] } if (v8_correctness_fuzzer) { @@ -4326,16 +4467,13 @@ if (!build_with_chromium && v8_use_perfetto) { "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER", ] cflags = [ - # Using -isystem instead of include_dirs (-I), so we don't need to suppress - # warnings coming from libprotobuf headers. Doing so would mask warnings in - # our own code. - "-isystem", - rebase_path("third_party/protobuf/src", root_build_dir), "-Wno-unknown-warning-option", "-Wno-deprecated", "-Wno-undef", "-Wno-zero-as-null-pointer-constant", + "-Wno-thread-safety-attributes", ] + include_dirs = [ "third_party/protobuf/src" ] } # Configuration used to build libprotobuf_* and the protoc compiler. @@ -4343,7 +4481,9 @@ if (!build_with_chromium && v8_use_perfetto) { # Apply the lighter supressions and macro definitions from above. configs = [ ":protobuf_gen_config" ] - defines = [ "HAVE_PTHREAD=1" ] + if (!is_win) { + defines = [ "HAVE_PTHREAD=1" ] + } if (is_clang) { cflags = [ "-Wno-unused-private-field", @@ -4355,6 +4495,9 @@ if (!build_with_chromium && v8_use_perfetto) { "-Wno-tautological-constant-compare", ] } + if (is_win) { + cflags += [ "-Wno-microsoft-unqualified-friend" ] + } } source_set("protobuf_lite") { @@ -4389,6 +4532,9 @@ if (!build_with_chromium && v8_use_perfetto) { "//build/config/compiler:no_chromium_code", ":protobuf_config", ] + if (is_win) { + configs -= [ "//build/config/win:lean_and_mean" ] + } public_configs = [ ":protobuf_gen_config" ] } @@ -4458,6 +4604,9 @@ if (!build_with_chromium && v8_use_perfetto) { "//build/config/compiler:no_chromium_code", ":protobuf_config", ] + if (is_win) { + configs -= [ "//build/config/win:lean_and_mean" ] + } public_configs = [ ":protobuf_gen_config" ] } @@ -4483,69 +4632,8 @@ if (!build_with_chromium && v8_use_perfetto) { "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc", "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc", "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_enum.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_enum_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_field_base.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_generator.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_helpers.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc", - "third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_context.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_enum.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_enum_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_enum_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_extension.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_extension_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_file.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_generator.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_map_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_message.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_message_builder.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_message_builder_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_message_field_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_primitive_field_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_service.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_string_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/java/java_string_field_lite.cc", - "third_party/protobuf/src/google/protobuf/compiler/js/js_generator.cc", - "third_party/protobuf/src/google/protobuf/compiler/js/well_known_types_embed.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_extension.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_generator.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc", - "third_party/protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc", - "third_party/protobuf/src/google/protobuf/compiler/php/php_generator.cc", "third_party/protobuf/src/google/protobuf/compiler/plugin.cc", "third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc", - "third_party/protobuf/src/google/protobuf/compiler/python/python_generator.cc", - "third_party/protobuf/src/google/protobuf/compiler/ruby/ruby_generator.cc", "third_party/protobuf/src/google/protobuf/compiler/subprocess.cc", "third_party/protobuf/src/google/protobuf/compiler/zip_writer.cc", ] @@ -4554,6 +4642,9 @@ if (!build_with_chromium && v8_use_perfetto) { "//build/config/compiler:no_chromium_code", ":protobuf_config", ] + if (is_win) { + configs -= [ "//build/config/win:lean_and_mean" ] + } public_configs = [ ":protobuf_gen_config" ] } @@ -4563,7 +4654,7 @@ if (!build_with_chromium && v8_use_perfetto) { "//build/win:default_exe_manifest", ] sources = [ - "third_party/protobuf/src/google/protobuf/compiler/main.cc", + "src/protobuf/protobuf-compiler-main.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] diff --git a/deps/v8/COMMON_OWNERS b/deps/v8/COMMON_OWNERS new file mode 100644 index 00000000000000..79f14286583397 --- /dev/null +++ b/deps/v8/COMMON_OWNERS @@ -0,0 +1,38 @@ +adamk@chromium.org +ahaas@chromium.org +bbudge@chromium.org +binji@chromium.org +bmeurer@chromium.org +cbruni@chromium.org +clemensh@chromium.org +danno@chromium.org +delphick@chromium.org +gdeepti@chromium.org +gsathya@chromium.org +hablich@chromium.org +hpayer@chromium.org +ishell@chromium.org +jarin@chromium.org +jgruber@chromium.org +jkummerow@chromium.org +leszeks@chromium.org +machenbach@chromium.org +mathias@chromium.org +marja@chromium.org +mlippautz@chromium.org +mslekova@chromium.org +mstarzinger@chromium.org +mvstanton@chromium.org +mythria@chromium.org +neis@chromium.org +petermarshall@chromium.org +rmcilroy@chromium.org +sergiyb@chromium.org +sigurds@chromium.org +solanes@chromium.org +szuend@chromium.org +tebbi@chromium.org +titzer@chromium.org +ulan@chromium.org +verwaest@chromium.org +yangguo@chromium.org diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 6d315e6a9efdb5..c21ac1176032d5 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,1523 @@ +2019-05-28: Version 7.6.303 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.302 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.301 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.300 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.299 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.298 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.297 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.296 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.295 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.294 + + Performance and stability improvements on all platforms. + + +2019-05-28: Version 7.6.293 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.292 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.291 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.290 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.289 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.288 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.287 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.286 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.285 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.284 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.283 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.282 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.281 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.280 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.279 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.278 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.277 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.276 + + Performance and stability improvements on all platforms. + + +2019-05-27: Version 7.6.275 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.274 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.273 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.272 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.271 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.270 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.269 + + Performance and stability improvements on all platforms. + + +2019-05-24: Version 7.6.268 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.267 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.266 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.265 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.264 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.263 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.262 + + Performance and stability improvements on all platforms. + + +2019-05-23: Version 7.6.261 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.260 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.259 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.258 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.257 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.256 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.255 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.254 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.253 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.252 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.251 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.250 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.249 + + Performance and stability improvements on all platforms. + + +2019-05-22: Version 7.6.248 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.247 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.246 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.245 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.244 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.243 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.242 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.241 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.240 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.239 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.238 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.237 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.236 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.235 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.234 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.233 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.232 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.231 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.230 + + Performance and stability improvements on all platforms. + + +2019-05-21: Version 7.6.229 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.228 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.227 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.226 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.225 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.224 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.223 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.222 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.221 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.220 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.219 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.218 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.217 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.216 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.215 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.214 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.213 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.212 + + Performance and stability improvements on all platforms. + + +2019-05-20: Version 7.6.211 + + Performance and stability improvements on all platforms. + + +2019-05-17: Version 7.6.210 + + Performance and stability improvements on all platforms. + + +2019-05-17: Version 7.6.209 + + Performance and stability improvements on all platforms. + + +2019-05-17: Version 7.6.208 + + Performance and stability improvements on all platforms. + + +2019-05-17: Version 7.6.207 + + Performance and stability improvements on all platforms. + + +2019-05-17: Version 7.6.206 + + Performance and stability improvements on all platforms. + + +2019-05-17: Version 7.6.205 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.204 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.203 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.202 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.201 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.200 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.199 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.198 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.197 + + Performance and stability improvements on all platforms. + + +2019-05-16: Version 7.6.196 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.195 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.194 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.193 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.192 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.191 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.190 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.189 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.188 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.187 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.186 + + Performance and stability improvements on all platforms. + + +2019-05-15: Version 7.6.185 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.184 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.183 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.182 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.181 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.180 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.179 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.178 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.177 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.176 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.175 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.174 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.173 + + Performance and stability improvements on all platforms. + + +2019-05-14: Version 7.6.172 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.171 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.170 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.169 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.168 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.167 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.166 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.165 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.164 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.163 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.162 + + Performance and stability improvements on all platforms. + + +2019-05-13: Version 7.6.161 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.160 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.159 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.158 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.157 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.156 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.155 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.154 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.153 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.152 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.151 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.150 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.149 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.148 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.147 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.146 + + Performance and stability improvements on all platforms. + + +2019-05-10: Version 7.6.145 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.144 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.143 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.142 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.141 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.140 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.139 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.138 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.137 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.136 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.135 + + Performance and stability improvements on all platforms. + + +2019-05-09: Version 7.6.134 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.133 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.132 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.131 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.130 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.129 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.128 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.127 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.126 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.125 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.124 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.123 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.122 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.121 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.120 + + Performance and stability improvements on all platforms. + + +2019-05-08: Version 7.6.119 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.118 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.117 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.116 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.115 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.114 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.113 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.112 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.111 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.110 + + Performance and stability improvements on all platforms. + + +2019-05-07: Version 7.6.109 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.108 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.107 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.106 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.105 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.104 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.103 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.102 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.101 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.100 + + Performance and stability improvements on all platforms. + + +2019-05-06: Version 7.6.99 + + Performance and stability improvements on all platforms. + + +2019-05-04: Version 7.6.98 + + Performance and stability improvements on all platforms. + + +2019-05-04: Version 7.6.97 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.96 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.95 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.94 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.93 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.92 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.91 + + Performance and stability improvements on all platforms. + + +2019-05-03: Version 7.6.90 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.89 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.88 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.87 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.86 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.85 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.84 + + Performance and stability improvements on all platforms. + + +2019-05-02: Version 7.6.83 + + Performance and stability improvements on all platforms. + + +2019-05-01: Version 7.6.82 + + Performance and stability improvements on all platforms. + + +2019-05-01: Version 7.6.81 + + Performance and stability improvements on all platforms. + + +2019-05-01: Version 7.6.80 + + Performance and stability improvements on all platforms. + + +2019-05-01: Version 7.6.79 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.78 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.77 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.76 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.75 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.74 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.73 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.72 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.71 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.70 + + Performance and stability improvements on all platforms. + + +2019-04-30: Version 7.6.69 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.68 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.67 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.66 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.65 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.64 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.63 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.62 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.61 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.60 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.59 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.58 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.57 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.56 + + Performance and stability improvements on all platforms. + + +2019-04-29: Version 7.6.55 + + Performance and stability improvements on all platforms. + + +2019-04-28: Version 7.6.54 + + Performance and stability improvements on all platforms. + + +2019-04-27: Version 7.6.53 + + Performance and stability improvements on all platforms. + + +2019-04-27: Version 7.6.52 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.51 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.50 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.49 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.48 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.47 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.46 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.45 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.44 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.43 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.42 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.41 + + Performance and stability improvements on all platforms. + + +2019-04-26: Version 7.6.40 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.39 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.38 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.37 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.36 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.35 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.34 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.33 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.32 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.31 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.30 + + Performance and stability improvements on all platforms. + + +2019-04-25: Version 7.6.29 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.28 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.27 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.26 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.25 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.24 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.23 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.22 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.21 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.20 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.19 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.18 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.17 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.16 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.15 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.14 + + Performance and stability improvements on all platforms. + + +2019-04-24: Version 7.6.13 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.12 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.11 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.10 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.9 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.8 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.7 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.6 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.5 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.4 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.3 + + Performance and stability improvements on all platforms. + + +2019-04-23: Version 7.6.2 + + Performance and stability improvements on all platforms. + + +2019-04-19: Version 7.6.1 + + Performance and stability improvements on all platforms. + + +2019-04-17: Version 7.5.289 + + Performance and stability improvements on all platforms. + + 2019-04-17: Version 7.5.288 Performance and stability improvements on all platforms. diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 450bfd7862403e..bca59b724f292a 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -12,7 +12,7 @@ vars = { 'check_v8_header_includes': False, # GN CIPD package version. - 'gn_version': 'git_revision:64b846c96daeb3eaf08e26d8a84d8451c6cb712b', + 'gn_version': 'git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9', # luci-go CIPD package version. 'luci_go': 'git_revision:25958d48e89e980e2a97daeddc977fb5e2e1fb8c', @@ -57,15 +57,15 @@ vars = { deps = { 'v8/build': - Var('chromium_url') + '/chromium/src/build.git' + '@' + 'a0b2e3b2708bcf81ec00ac1738b586bcc5e04eea', + Var('chromium_url') + '/chromium/src/build.git' + '@' + '4cebfa34c79bcfbce6a3f55d1b4f7628bb70ea8a', 'v8/third_party/depot_tools': - Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '7e7523be4e21b0841ae815ef37521a5476f68549', + Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '26af0d34d281440ad0dc6d2e43fe60f32ef62da0', 'v8/third_party/icu': - Var('chromium_url') + '/chromium/deps/icu.git' + '@' + '35f7e139f33f1ddbfdb68b65dda29aff430c3f6f', + Var('chromium_url') + '/chromium/deps/icu.git' + '@' + '64e5d7d43a1ff205e3787ab6150bbc1a1837332b', 'v8/third_party/instrumented_libraries': Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'a959e4f0cb643003f2d75d179cede449979e3e77', 'v8/buildtools': - Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + 'd5c58b84d50d256968271db459cd29b22bff1ba2', + Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '0218c0f9ac9fdba00e5c27b5aca94d3a64c74f34', 'v8/buildtools/clang_format/script': Var('chromium_url') + '/chromium/llvm-project/cfe/tools/clang-format.git' + '@' + '96636aa0e9f047f17447f2d45a094d0b59ed7917', 'v8/buildtools/linux64': { @@ -89,7 +89,7 @@ deps = { 'condition': 'host_os == "mac"', }, 'v8/buildtools/third_party/libc++/trunk': - Var('chromium_url') + '/chromium/llvm-project/libcxx.git' + '@' + '9b96c3dbd4e89c10d9fd8364da4b65f93c6f4276', + Var('chromium_url') + '/chromium/llvm-project/libcxx.git' + '@' + '5938e0582bac570a41edb3d6a2217c299adc1bc6', 'v8/buildtools/third_party/libc++abi/trunk': Var('chromium_url') + '/chromium/llvm-project/libcxxabi.git' + '@' + '0d529660e32d77d9111912d73f2c74fc5fa2a858', 'v8/buildtools/third_party/libunwind/trunk': @@ -105,7 +105,7 @@ deps = { 'condition': 'host_os == "win"', }, 'v8/base/trace_event/common': - Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + 'ebb658ab38d1b23183458ed0430f5b11853a25a3', + Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + 'cfe8887fa6ac3170e23a68949930e28d4705a16f', 'v8/third_party/android_ndk': { 'url': Var('chromium_url') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884', 'condition': 'checkout_android', @@ -158,7 +158,7 @@ deps = { 'dep_type': 'cipd', }, 'v8/third_party/catapult': { - 'url': Var('chromium_url') + '/catapult.git' + '@' + 'acbf095c15e9524a0a1116792c3b6698f8e9b85b', + 'url': Var('chromium_url') + '/catapult.git' + '@' + 'a7b33124672f301cebe0ca94a67ca7d0362e3d6a', 'condition': 'checkout_android', }, 'v8/third_party/colorama/src': { @@ -166,25 +166,25 @@ deps = { 'condition': 'checkout_android', }, 'v8/third_party/fuchsia-sdk': { - 'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + 'a42c2f604f3ae23099e73605df7864988d289d98', + 'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + 'ae68779f84fc36bd88ba4fe0ff78ed9ea3c91d73', 'condition': 'checkout_fuchsia', }, 'v8/third_party/googletest/src': - Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'b617b277186e03b1065ac6d43912b1c4147c2982', + Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'f71fb4f9a912ec945401cc49a287a759b6131026', 'v8/third_party/jinja2': Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + 'b41863e42637544c2941b574c7877d3e1f663e25', 'v8/third_party/markupsafe': Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '8f45f5cfa0009d2a70589bcda0349b8cb2b72783', 'v8/tools/swarming_client': - Var('chromium_url') + '/infra/luci/client-py.git' + '@' + 'aa60736aded9fc32a0e21a81f5fc51f6009d01f3', + Var('chromium_url') + '/infra/luci/client-py.git' + '@' + '779c4f0f8488c64587b75dbb001d18c3c0c4cda9', 'v8/test/benchmarks/data': Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', 'v8/test/mozilla/data': Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', 'v8/test/test262/data': - Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '8e5ab69e8c31135265cba570d54d41f6ade19e45', + Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'a9abd418ccc7999b00b8c7df60b25620a7d3c541', 'v8/test/test262/harness': - Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '9bd99c6f33be10561970bfe16f2f16a8a3d88722', + Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '4555345a943d0c99a9461182705543fb171dda4b', 'v8/third_party/qemu-linux-x64': { 'packages': [ { @@ -206,7 +206,7 @@ deps = { 'dep_type': 'cipd', }, 'v8/tools/clang': - Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'edee5c0b3641ab345cbe3cf29f1b1cdbd6819549', + Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'fe8ba88894e4b3927d3cd9e24274a0f1a688cf71', 'v8/tools/luci-go': { 'packages': [ { @@ -236,9 +236,9 @@ deps = { 'dep_type': 'cipd', }, 'v8/test/wasm-js/data': - Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + 'd14d538e5fccdc03a02948963addad10ad45b50d', + Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + 'bc7d3006bbda0de5031c2a1b9266a62fa7895019', 'v8/third_party/perfetto': - Var('android_url') + '/platform/external/perfetto.git' + '@' + '21a33afeef568f72668acf77668a32307a363d6e', + Var('android_url') + '/platform/external/perfetto.git' + '@' + '10c98fe0cfae669f71610d97e9da94260a6da173', 'v8/third_party/protobuf': Var('chromium_url') + '/external/github.com/google/protobuf'+ '@' + 'b68a347f56137b4b1a746e8c7438495a6ac1bd91', } diff --git a/deps/v8/ENG_REVIEW_OWNERS b/deps/v8/ENG_REVIEW_OWNERS new file mode 100644 index 00000000000000..6b189307ad763d --- /dev/null +++ b/deps/v8/ENG_REVIEW_OWNERS @@ -0,0 +1,9 @@ +# Eng reviewers. This is to define an escalation path for potential +# disagreement among owners. Please consult before adding top-level +# directories. + +adamk@chromium.org +danno@chromium.org +hpayer@chromium.org +rmcilroy@chromium.org +yangguo@chromium.org diff --git a/deps/v8/INFRA_OWNERS b/deps/v8/INFRA_OWNERS new file mode 100644 index 00000000000000..4b847b21f7a9a3 --- /dev/null +++ b/deps/v8/INFRA_OWNERS @@ -0,0 +1,3 @@ +machenbach@chromium.org +sergiyb@chromium.org +tmrts@chromium.org diff --git a/deps/v8/src/builtins/mips/OWNERS b/deps/v8/MIPS_OWNERS similarity index 100% rename from deps/v8/src/builtins/mips/OWNERS rename to deps/v8/MIPS_OWNERS diff --git a/deps/v8/OWNERS b/deps/v8/OWNERS index b2161c06ca6a2c..c428ba6d0bbd7b 100644 --- a/deps/v8/OWNERS +++ b/deps/v8/OWNERS @@ -1,42 +1,31 @@ -adamk@chromium.org -ahaas@chromium.org -aseemgarg@chromium.org -bbudge@chromium.org -binji@chromium.org -bmeurer@chromium.org -cbruni@chromium.org -clemensh@chromium.org -danno@chromium.org -delphick@chromium.org -gdeepti@chromium.org -gsathya@chromium.org -hablich@chromium.org -herhut@chromium.org -hpayer@chromium.org -ishell@chromium.org -jarin@chromium.org -jgruber@chromium.org -jkummerow@chromium.org -leszeks@chromium.org -machenbach@chromium.org -mathias@chromium.org -marja@chromium.org -mlippautz@chromium.org -mslekova@chromium.org -mstarzinger@chromium.org -mvstanton@chromium.org -mythria@chromium.org -neis@chromium.org -petermarshall@chromium.org -rmcilroy@chromium.org -sergiyb@chromium.org -sigurds@chromium.org -szuend@chromium.org -tebbi@chromium.org -titzer@chromium.org -ulan@chromium.org -verwaest@chromium.org -yangguo@chromium.org +# Eng reviewer. Please reach out before adding new top-level directories. +# Disagreement among owners should be escalated to eng reviewers. +file://ENG_REVIEW_OWNERS + +# TODO(9247) remove this. +file://COMMON_OWNERS + +per-file .clang-format=file://INFRA_OWNERS +per-file .clang-tidy=file://INFRA_OWNERS +per-file .editorconfig=file://INFRA_OWNERS +per-file .git-blame-ignore-revs=file://INFRA_OWNERS +per-file .gitattributes=file://INFRA_OWNERS +per-file .gitignore=file://INFRA_OWNERS +per-file .gn=file://INFRA_OWNERS +per-file .vpython=file://INFRA_OWNERS +per-file .ycm_extra_conf.py=file://INFRA_OWNERS +per-file BUILD.gn=file://INFRA_OWNERS +per-file DEPS=file://INFRA_OWNERS +per-file PRESUBMIT=file://INFRA_OWNERS +per-file codereview.settings=file://INFRA_OWNERS + +per-file AUTHORS=file://COMMON_OWNERS +per-file WATCHLIST=file://COMMON_OWNERS + +per-file *-mips*=file://MIPS_OWNERS +per-file *-mips64*=file://MIPS_OWNERS +per-file *-ppc*=file://PPC_OWNERS +per-file *-s390*=file://S390_OWNERS # TEAM: v8-dev@googlegroups.com # COMPONENT: Blink>JavaScript diff --git a/deps/v8/src/builtins/ppc/OWNERS b/deps/v8/PPC_OWNERS similarity index 100% rename from deps/v8/src/builtins/ppc/OWNERS rename to deps/v8/PPC_OWNERS diff --git a/deps/v8/PRESUBMIT.py b/deps/v8/PRESUBMIT.py index 8aea920ef4834b..201bf55f714b5a 100644 --- a/deps/v8/PRESUBMIT.py +++ b/deps/v8/PRESUBMIT.py @@ -433,6 +433,8 @@ def TouchesMacros(f): undef_match = undef_pattern.match(line) if undef_match: + if "// NOLINT" in line: + continue name = undef_match.group(1) if not name in defined_macros: errors.append('{}:{}: Macro named \'{}\' was not defined before.' diff --git a/deps/v8/src/builtins/s390/OWNERS b/deps/v8/S390_OWNERS similarity index 100% rename from deps/v8/src/builtins/s390/OWNERS rename to deps/v8/S390_OWNERS diff --git a/deps/v8/base/trace_event/common/trace_event_common.h b/deps/v8/base/trace_event/common/trace_event_common.h index f9b9ad3b014063..f1878a18da91c6 100644 --- a/deps/v8/base/trace_event/common/trace_event_common.h +++ b/deps/v8/base/trace_event/common/trace_event_common.h @@ -420,6 +420,9 @@ INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, category_group, name, \ TRACE_EVENT_FLAG_NONE, "value", \ static_cast(value)) +#define TRACE_COUNTER_WITH_FLAG1(category_group, name, flag, value) \ + INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, category_group, name, \ + flag, "value", static_cast(value)) #define TRACE_COPY_COUNTER1(category_group, name, value) \ INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, category_group, name, \ TRACE_EVENT_FLAG_COPY, "value", \ @@ -1069,7 +1072,6 @@ #define TRACE_EVENT_FLAG_HAS_PROCESS_ID (static_cast(1 << 11)) #define TRACE_EVENT_FLAG_HAS_LOCAL_ID (static_cast(1 << 12)) #define TRACE_EVENT_FLAG_HAS_GLOBAL_ID (static_cast(1 << 13)) -#define TRACE_EVENT_FLAG_DISALLOW_POSTTASK (static_cast(1 << 14)) // TODO(eseckler): Remove once we have native support for typed proto events in // TRACE_EVENT macros. #define TRACE_EVENT_FLAG_TYPED_PROTO_ARGS (static_cast(1 << 15)) diff --git a/deps/v8/benchmarks/micro/slice-perf.js b/deps/v8/benchmarks/micro/slice-perf.js deleted file mode 100644 index 300d2126666fd8..00000000000000 --- a/deps/v8/benchmarks/micro/slice-perf.js +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2018 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. - -const kIterations = 1000000; -const kIterationShort = 10000; -const kArraySize = 64; - -let smi_array = []; -for (let i = 0; i < kArraySize; ++i) smi_array[i] = Math.floor(Math.random() * 100); - -let start = performance.now(); -for (let x = 0; x < kIterations; ++x) { - smi_array.slice(0); -} -let stop = performance.now(); -print("smi_array copy: " + (Math.floor((stop - start)*10)/10) + " ms"); - -start = performance.now(); -for (let x = 0; x < kIterations; ++x) { - smi_array.slice(x % kArraySize); -} -stop = performance.now(); -print("smi_array: " + (Math.floor((stop - start)*10)/10) + " ms"); - -let double_array = []; -for (let i = 0; i < kArraySize; ++i) double_array[i] = Math.random() * 100; -start = performance.now(); -for (let x = 0; x < kIterations; ++x) { - double_array.slice(x % kArraySize); -} -stop = performance.now(); -print("double_array: " + (Math.floor((stop - start)*10)/10) + " ms"); - -let object_array = []; -for (let i = 0; i < kArraySize; ++i) object_array[i] = new Object(); -start = performance.now(); -for (let x = 0; x < kIterations; ++x) { - object_array.slice(x % kArraySize); -} -stop = performance.now(); -print("object_array: " + (Math.floor((stop - start)*10)/10) + " ms"); - -let dictionary_array = []; -for (let i = 0; i < kArraySize; ++i) dictionary_array[i] = new Object(); -dictionary_array[100000] = new Object(); -start = performance.now(); -for (let x = 0; x < kIterationShort; ++x) { - dictionary_array.slice(x % kArraySize); -} -stop = performance.now(); -print("dictionary: " + (Math.floor((stop - start)*10)/10) + " ms"); - -let arguments_array; -function sloppy() { - arguments_array = arguments; -} -sloppy.apply(null, smi_array); -start = performance.now(); -for (let x = 0; x < kIterations; ++x) { - let r = Array.prototype.slice.call(arguments_array, x % kArraySize); -} -stop = performance.now(); -print("arguments_array (sloppy): " + (Math.floor((stop - start)*10)/10) + " ms"); - -function sloppy2 (a) { - arguments_array = arguments; -} -sloppy2.apply(null, smi_array); -start = performance.now(); -for (let x = 0; x < kIterations; ++x) { - Array.prototype.slice.call(arguments_array, x % kArraySize); -} -stop = performance.now(); -print("arguments_array (fast aliased): " + (Math.floor((stop - start)*10)/10) + " ms"); - -delete arguments_array[5]; -start = performance.now(); -for (let x = 0; x < kIterationShort; ++x) { - Array.prototype.slice.call(arguments_array, x % kArraySize); -} -stop = performance.now(); -print("arguments_array (slow aliased): " + (Math.floor((stop - start)*10)/10) + " ms"); diff --git a/deps/v8/build_overrides/OWNERS b/deps/v8/build_overrides/OWNERS new file mode 100644 index 00000000000000..bdb1d555a4fb98 --- /dev/null +++ b/deps/v8/build_overrides/OWNERS @@ -0,0 +1 @@ +file://INFRA_OWNERS diff --git a/deps/v8/custom_deps/OWNERS b/deps/v8/custom_deps/OWNERS index 76719caca0eccc..bdb1d555a4fb98 100644 --- a/deps/v8/custom_deps/OWNERS +++ b/deps/v8/custom_deps/OWNERS @@ -1,2 +1 @@ -machenbach@chromium.org -sergiyb@chromium.org \ No newline at end of file +file://INFRA_OWNERS diff --git a/deps/v8/docs/OWNERS b/deps/v8/docs/OWNERS new file mode 100644 index 00000000000000..39b706f0cc54e9 --- /dev/null +++ b/deps/v8/docs/OWNERS @@ -0,0 +1,2 @@ +hablich@chromium.org +mathias@chromium.org diff --git a/deps/v8/gni/OWNERS b/deps/v8/gni/OWNERS new file mode 100644 index 00000000000000..bdb1d555a4fb98 --- /dev/null +++ b/deps/v8/gni/OWNERS @@ -0,0 +1 @@ +file://INFRA_OWNERS diff --git a/deps/v8/gni/proto_library.gni b/deps/v8/gni/proto_library.gni index 6a00276289e1d2..cf581ed46e4dfe 100644 --- a/deps/v8/gni/proto_library.gni +++ b/deps/v8/gni/proto_library.gni @@ -13,6 +13,12 @@ template("proto_library") { set_sources_assignment_filter([]) + if (host_os == "win") { + host_executable_suffix = ".exe" + } else { + host_executable_suffix = "" + } + # All the proto imports should be relative to the project root. proto_in_dir = "//" if (defined(invoker.proto_in_dir)) { @@ -42,8 +48,9 @@ template("proto_library") { if (defined(invoker.generator_plugin_label)) { plugin_host_label = invoker.generator_plugin_label + "($host_toolchain)" - plugin_path = get_label_info(plugin_host_label, "root_out_dir") + "/" + - get_label_info(plugin_host_label, "name") + plugin_path = + get_label_info(plugin_host_label, "root_out_dir") + "/" + + get_label_info(plugin_host_label, "name") + host_executable_suffix generate_with_plugin = true } else if (defined(invoker.generator_plugin_script)) { plugin_path = invoker.generator_plugin_script @@ -107,7 +114,8 @@ template("proto_library") { outputs = get_path_info(protogens, "abspath") protoc_label = "//:protoc($host_toolchain)" - protoc_path = get_label_info(protoc_label, "root_out_dir") + "/protoc" + protoc_path = get_label_info(protoc_label, "root_out_dir") + "/protoc" + + host_executable_suffix args = [ # Path should be rebased because |root_build_dir| for current toolchain # may be different from |root_out_dir| of protoc built on host toolchain. diff --git a/deps/v8/snapshot_toolchain.gni b/deps/v8/gni/snapshot_toolchain.gni similarity index 100% rename from deps/v8/snapshot_toolchain.gni rename to deps/v8/gni/snapshot_toolchain.gni diff --git a/deps/v8/gni/v8.gni b/deps/v8/gni/v8.gni index 0a120df8e1a6fd..506b8428ee3217 100644 --- a/deps/v8/gni/v8.gni +++ b/deps/v8/gni/v8.gni @@ -63,6 +63,10 @@ declare_args() { # Expose symbols for dynamic linking. v8_expose_symbols = false + + # Use Perfetto (https://perfetto.dev) as the default TracingController. Not + # currently implemented. + v8_use_perfetto = false } if (v8_use_external_startup_data == "") { diff --git a/deps/v8/include/libplatform/v8-tracing.h b/deps/v8/include/libplatform/v8-tracing.h index bc249cb9ecc378..ccdca0a8c5cfc6 100644 --- a/deps/v8/include/libplatform/v8-tracing.h +++ b/deps/v8/include/libplatform/v8-tracing.h @@ -23,6 +23,9 @@ class Mutex; namespace platform { namespace tracing { +class PerfettoTracingController; +class TraceEventListener; + const int kTraceMaxNumArgs = 2; class V8_PLATFORM_EXPORT TraceObject { @@ -238,6 +241,14 @@ class V8_PLATFORM_EXPORT TracingController TracingController(); ~TracingController() override; void Initialize(TraceBuffer* trace_buffer); +#ifdef V8_USE_PERFETTO + // Must be called before StartTracing() if V8_USE_PERFETTO is true. Provides + // the output stream for the JSON trace data. + void InitializeForPerfetto(std::ostream* output_stream); + // Provide an optional listener for testing that will receive trace events. + // Must be called before StartTracing(). + void SetTraceEventListenerForTesting(TraceEventListener* listener); +#endif // v8::TracingController implementation. const uint8_t* GetCategoryGroupEnabled(const char* category_group) override; @@ -280,6 +291,13 @@ class V8_PLATFORM_EXPORT TracingController std::unique_ptr mutex_; std::unordered_set observers_; std::atomic_bool recording_{false}; +#ifdef V8_USE_PERFETTO + std::atomic_bool perfetto_recording_{false}; + std::unique_ptr perfetto_tracing_controller_; + std::ostream* output_stream_ = nullptr; + std::unique_ptr json_listener_; + TraceEventListener* listener_for_testing_ = nullptr; +#endif // Disallow copy and assign TracingController(const TracingController&) = delete; diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h index 702013588cdb10..b96a6e29ac0cb6 100644 --- a/deps/v8/include/v8-inspector.h +++ b/deps/v8/include/v8-inspector.h @@ -87,7 +87,6 @@ class V8_EXPORT V8ContextInfo { static int executionContextId(v8::Local context); - private: // Disallow copying and allocating this one. enum NotNullTagEnum { NotNullLiteral }; void* operator new(size_t) = delete; @@ -131,7 +130,11 @@ class V8_EXPORT V8InspectorSession { // Dispatching protocol messages. static bool canDispatchMethod(const StringView& method); virtual void dispatchProtocolMessage(const StringView& message) = 0; - virtual std::unique_ptr stateJSON() = 0; + virtual V8_DEPRECATED("Use state() instead", + std::unique_ptr stateJSON()) { + return nullptr; + } + virtual std::vector state() = 0; virtual std::vector> supportedDomains() = 0; diff --git a/deps/v8/include/v8-internal.h b/deps/v8/include/v8-internal.h index 8e700a4d4d401b..ef13006d137929 100644 --- a/deps/v8/include/v8-internal.h +++ b/deps/v8/include/v8-internal.h @@ -48,28 +48,32 @@ const intptr_t kSmiTagMask = (1 << kSmiTagSize) - 1; template struct SmiTagging; +constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1}; +constexpr uintptr_t kUintptrAllBitsSet = + static_cast(kIntptrAllBitsSet); + // Smi constants for systems where tagged pointer is a 32-bit value. template <> struct SmiTagging<4> { enum { kSmiShiftSize = 0, kSmiValueSize = 31 }; + + static constexpr intptr_t kSmiMinValue = + static_cast(kUintptrAllBitsSet << (kSmiValueSize - 1)); + static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1); + V8_INLINE static int SmiToInt(const internal::Address value) { int shift_bits = kSmiTagSize + kSmiShiftSize; // Shift down (requires >> to be sign extending). return static_cast(static_cast(value)) >> shift_bits; } V8_INLINE static constexpr bool IsValidSmi(intptr_t value) { - // To be representable as an tagged small integer, the two - // most-significant bits of 'value' must be either 00 or 11 due to - // sign-extension. To check this we add 01 to the two - // most-significant bits, and check if the most-significant bit is 0. - // - // CAUTION: The original code below: - // bool result = ((value + 0x40000000) & 0x80000000) == 0; - // may lead to incorrect results according to the C language spec, and - // in fact doesn't work correctly with gcc4.1.1 in some cases: The - // compiler may produce undefined results in case of signed integer - // overflow. The computation must be done w/ unsigned ints. - return static_cast(value) + 0x40000000U < 0x80000000U; + // Is value in range [kSmiMinValue, kSmiMaxValue]. + // Use unsigned operations in order to avoid undefined behaviour in case of + // signed integer overflow. + return (static_cast(value) - + static_cast(kSmiMinValue)) <= + (static_cast(kSmiMaxValue) - + static_cast(kSmiMinValue)); } }; @@ -77,6 +81,11 @@ struct SmiTagging<4> { template <> struct SmiTagging<8> { enum { kSmiShiftSize = 31, kSmiValueSize = 32 }; + + static constexpr intptr_t kSmiMinValue = + static_cast(kUintptrAllBitsSet << (kSmiValueSize - 1)); + static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1); + V8_INLINE static int SmiToInt(const internal::Address value) { int shift_bits = kSmiTagSize + kSmiShiftSize; // Shift down and throw away top 32 bits. @@ -98,15 +107,15 @@ const int kApiTaggedSize = kApiSystemPointerSize; #endif #ifdef V8_31BIT_SMIS_ON_64BIT_ARCH -typedef SmiTagging PlatformSmiTagging; +using PlatformSmiTagging = SmiTagging; #else -typedef SmiTagging PlatformSmiTagging; +using PlatformSmiTagging = SmiTagging; #endif const int kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize; const int kSmiValueSize = PlatformSmiTagging::kSmiValueSize; -const int kSmiMinValue = (static_cast(-1)) << (kSmiValueSize - 1); -const int kSmiMaxValue = -(kSmiMinValue + 1); +const int kSmiMinValue = static_cast(PlatformSmiTagging::kSmiMinValue); +const int kSmiMaxValue = static_cast(PlatformSmiTagging::kSmiMaxValue); constexpr bool SmiValuesAre31Bits() { return kSmiValueSize == 31; } constexpr bool SmiValuesAre32Bits() { return kSmiValueSize == 32; } @@ -165,8 +174,6 @@ class Internals { static const int kNodeStateMask = 0x7; static const int kNodeStateIsWeakValue = 2; static const int kNodeStateIsPendingValue = 3; - static const int kNodeIsIndependentShift = 3; - static const int kNodeIsActiveShift = 4; static const int kFirstNonstringType = 0x40; static const int kOddballType = 0x43; diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index 556407d8761f1b..b707fafc49229a 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -109,7 +109,6 @@ class TaskRunner { TaskRunner() = default; virtual ~TaskRunner() = default; - private: TaskRunner(const TaskRunner&) = delete; TaskRunner& operator=(const TaskRunner&) = delete; }; diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index 672a694e0796be..46d3eb8aa4a24e 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -5,6 +5,7 @@ #ifndef V8_V8_PROFILER_H_ #define V8_V8_PROFILER_H_ +#include #include #include #include "v8.h" // NOLINT(build/include) @@ -297,6 +298,53 @@ enum CpuProfilingMode { kCallerLineNumbers, }; +// Determines how names are derived for functions sampled. +enum CpuProfilingNamingMode { + // Use the immediate name of functions at compilation time. + kStandardNaming, + // Use more verbose naming for functions without names, inferred from scope + // where possible. + kDebugNaming, +}; + +/** + * Optional profiling attributes. + */ +class V8_EXPORT CpuProfilingOptions { + public: + // Indicates that the sample buffer size should not be explicitly limited. + static const unsigned kNoSampleLimit = UINT_MAX; + + /** + * \param mode Type of computation of stack frame line numbers. + * \param max_samples The maximum number of samples that should be recorded by + * the profiler. Samples obtained after this limit will be + * discarded. + * \param sampling_interval_us controls the profile-specific target + * sampling interval. The provided sampling + * interval will be snapped to the next lowest + * non-zero multiple of the profiler's sampling + * interval, set via SetSamplingInterval(). If + * zero, the sampling interval will be equal to + * the profiler's sampling interval. + */ + CpuProfilingOptions(CpuProfilingMode mode = kLeafNodeLineNumbers, + unsigned max_samples = kNoSampleLimit, + int sampling_interval_us = 0) + : mode_(mode), + max_samples_(max_samples), + sampling_interval_us_(sampling_interval_us) {} + + CpuProfilingMode mode() const { return mode_; } + unsigned max_samples() const { return max_samples_; } + int sampling_interval_us() const { return sampling_interval_us_; } + + private: + CpuProfilingMode mode_; + unsigned max_samples_; + int sampling_interval_us_; +}; + /** * Interface for controlling CPU profiling. Instance of the * profiler can be created using v8::CpuProfiler::New method. @@ -308,7 +356,8 @@ class V8_EXPORT CpuProfiler { * initialized. The profiler object must be disposed after use by calling * |Dispose| method. */ - static CpuProfiler* New(Isolate* isolate); + static CpuProfiler* New(Isolate* isolate, + CpuProfilingNamingMode = kDebugNaming); /** * Synchronously collect current stack sample in all profilers attached to @@ -339,18 +388,26 @@ class V8_EXPORT CpuProfiler { void SetUsePreciseSampling(bool); /** - * Starts collecting CPU profile. Title may be an empty string. It - * is allowed to have several profiles being collected at - * once. Attempts to start collecting several profiles with the same - * title are silently ignored. While collecting a profile, functions - * from all security contexts are included in it. The token-based - * filtering is only performed when querying for a profile. + * Starts collecting a CPU profile. Title may be an empty string. Several + * profiles may be collected at once. Attempts to start collecting several + * profiles with the same title are silently ignored. + */ + void StartProfiling(Local title, CpuProfilingOptions options); + + /** + * Starts profiling with the same semantics as above, except with expanded + * parameters. * * |record_samples| parameter controls whether individual samples should * be recorded in addition to the aggregated tree. + * + * |max_samples| controls the maximum number of samples that should be + * recorded by the profiler. Samples obtained after this limit will be + * discarded. */ - void StartProfiling(Local title, CpuProfilingMode mode, - bool record_samples = false); + void StartProfiling( + Local title, CpuProfilingMode mode, bool record_samples = false, + unsigned max_samples = CpuProfilingOptions::kNoSampleLimit); /** * The same as StartProfiling above, but the CpuProfilingMode defaults to * kLeafNodeLineNumbers mode, which was the previous default behavior of the @@ -391,7 +448,6 @@ class V8_EXPORT CpuProfiler { CpuProfiler& operator=(const CpuProfiler&); }; - /** * HeapSnapshotEdge represents a directed connection between heap * graph nodes: from retainers to retained nodes. @@ -742,7 +798,6 @@ class V8_EXPORT EmbedderGraph { */ virtual const char* NamePrefix() { return nullptr; } - private: Node(const Node&) = delete; Node& operator=(const Node&) = delete; }; diff --git a/deps/v8/include/v8-util.h b/deps/v8/include/v8-util.h index 24962607076f78..29d813e4274d16 100644 --- a/deps/v8/include/v8-util.h +++ b/deps/v8/include/v8-util.h @@ -194,14 +194,6 @@ class PersistentValueMapBase { return SetReturnValueFromVal(&returnValue, Traits::Get(&impl_, key)); } - /** - * Call V8::RegisterExternallyReferencedObject with the map value for given - * key. - */ - V8_DEPRECATED( - "Used TracedGlobal and EmbedderHeapTracer::RegisterEmbedderReference", - inline void RegisterExternallyReferencedObject(K& key)); - /** * Return value for key and remove it from the map. */ @@ -352,16 +344,6 @@ class PersistentValueMapBase { const char* label_; }; -template -inline void -PersistentValueMapBase::RegisterExternallyReferencedObject( - K& key) { - assert(Contains(key)); - V8::RegisterExternallyReferencedObject( - reinterpret_cast(FromVal(Traits::Get(&impl_, key))), - reinterpret_cast(GetIsolate())); -} - template class PersistentValueMap : public PersistentValueMapBase { public: diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index dfcd5b467dbf82..483bdd166f9fd4 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -9,9 +9,9 @@ // NOTE these macros are used by some of the tool scripts and the build // system so their names cannot be changed without changing the scripts. #define V8_MAJOR_VERSION 7 -#define V8_MINOR_VERSION 5 -#define V8_BUILD_NUMBER 288 -#define V8_PATCH_LEVEL 22 +#define V8_MINOR_VERSION 6 +#define V8_BUILD_NUMBER 303 +#define V8_PATCH_LEVEL 28 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 5c99f672588bc6..c54b088404229d 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -122,7 +122,6 @@ class ExternalString; class Isolate; class LocalEmbedderHeapTracer; class MicrotaskQueue; -class NeverReadOnlySpaceObject; struct ScriptStreamingData; template class CustomArguments; class PropertyCallbackArguments; @@ -545,38 +544,6 @@ template class PersistentBase { */ V8_INLINE void AnnotateStrongRetainer(const char* label); - /** - * Allows the embedder to tell the v8 garbage collector that a certain object - * is alive. Only allowed when the embedder is asked to trace its heap by - * EmbedderHeapTracer. - */ - V8_DEPRECATED( - "Used TracedGlobal and EmbedderHeapTracer::RegisterEmbedderReference", - V8_INLINE void RegisterExternalReference(Isolate* isolate) const); - - /** - * Marks the reference to this object independent. Garbage collector is free - * to ignore any object groups containing this object. Weak callback for an - * independent handle should not assume that it will be preceded by a global - * GC prologue callback or followed by a global GC epilogue callback. - */ - V8_DEPRECATED( - "Weak objects are always considered independent. " - "Use TracedGlobal when trying to use EmbedderHeapTracer. " - "Use a strong handle when trying to keep an object alive.", - V8_INLINE void MarkIndependent()); - - /** - * Marks the reference to this object as active. The scavenge garbage - * collection should not reclaim the objects marked as active, even if the - * object held by the handle is otherwise unreachable. - * - * This bit is cleared after the each garbage collection pass. - */ - V8_DEPRECATED("Use TracedGlobal.", V8_INLINE void MarkActive()); - - V8_DEPRECATED("See MarkIndependent.", V8_INLINE bool IsIndependent() const); - /** Returns true if the handle's reference is weak. */ V8_INLINE bool IsWeak() const; @@ -1701,8 +1668,7 @@ class V8_EXPORT ScriptCompiler { Local arguments[], size_t context_extension_count, Local context_extensions[], CompileOptions options = kNoCompileOptions, - NoCacheReason no_cache_reason = kNoCacheNoReason, - Local* script_or_module_out = nullptr); + NoCacheReason no_cache_reason = kNoCacheNoReason); /** * Creates and returns code cache for the specified unbound_script. @@ -1934,6 +1900,11 @@ class V8_EXPORT StackFrame { * Returns whether or not the associated functions is defined in wasm. */ bool IsWasm() const; + + /** + * Returns whether or not the associated function is defined by the user. + */ + bool IsUserJavaScript() const; }; @@ -1952,10 +1923,11 @@ enum StateTag { // A RegisterState represents the current state of registers used // by the sampling profiler API. struct RegisterState { - RegisterState() : pc(nullptr), sp(nullptr), fp(nullptr) {} + RegisterState() : pc(nullptr), sp(nullptr), fp(nullptr), lr(nullptr) {} void* pc; // Instruction pointer. void* sp; // Stack pointer. void* fp; // Frame pointer. + void* lr; // Link register (or nullptr on platforms without a link register). }; // The output structure filled up by GetStackSample API function. @@ -2121,10 +2093,10 @@ class V8_EXPORT ValueSerializer { void WriteDouble(double value); void WriteRawBytes(const void* source, size_t length); - private: ValueSerializer(const ValueSerializer&) = delete; void operator=(const ValueSerializer&) = delete; + private: struct PrivateData; PrivateData* private_; }; @@ -2223,10 +2195,10 @@ class V8_EXPORT ValueDeserializer { V8_WARN_UNUSED_RESULT bool ReadDouble(double* value); V8_WARN_UNUSED_RESULT bool ReadRawBytes(size_t length, const void** data); - private: ValueDeserializer(const ValueDeserializer&) = delete; void operator=(const ValueDeserializer&) = delete; + private: struct PrivateData; PrivateData* private_; }; @@ -2521,9 +2493,6 @@ class V8_EXPORT Value : public Data { V8_WARN_UNUSED_RESULT MaybeLocal ToBigInt( Local context) const; - V8_DEPRECATED("ToBoolean can never throw. Use Local version.", - V8_WARN_UNUSED_RESULT MaybeLocal ToBoolean( - Local context) const); V8_WARN_UNUSED_RESULT MaybeLocal ToNumber( Local context) const; V8_WARN_UNUSED_RESULT MaybeLocal ToString( @@ -2539,16 +2508,6 @@ class V8_EXPORT Value : public Data { V8_WARN_UNUSED_RESULT MaybeLocal ToInt32(Local context) const; Local ToBoolean(Isolate* isolate) const; - V8_DEPRECATED("Use maybe version", - Local ToNumber(Isolate* isolate) const); - V8_DEPRECATED("Use maybe version", - Local ToString(Isolate* isolate) const); - V8_DEPRECATED("Use maybe version", - Local ToObject(Isolate* isolate) const); - V8_DEPRECATED("Use maybe version", - Local ToInteger(Isolate* isolate) const); - V8_DEPRECATED("Use maybe version", - Local ToInt32(Isolate* isolate) const); /** * Attempts to convert a string to an array index. @@ -2559,9 +2518,6 @@ class V8_EXPORT Value : public Data { bool BooleanValue(Isolate* isolate) const; - V8_DEPRECATED("BooleanValue can never throw. Use Isolate version.", - V8_WARN_UNUSED_RESULT Maybe BooleanValue( - Local context) const); V8_WARN_UNUSED_RESULT Maybe NumberValue(Local context) const; V8_WARN_UNUSED_RESULT Maybe IntegerValue( Local context) const; @@ -2765,6 +2721,10 @@ class V8_EXPORT String : public Name { */ virtual bool IsCacheable() const { return true; } + // Disallow copying and assigning. + ExternalStringResourceBase(const ExternalStringResourceBase&) = delete; + void operator=(const ExternalStringResourceBase&) = delete; + protected: ExternalStringResourceBase() = default; @@ -2794,10 +2754,6 @@ class V8_EXPORT String : public Name { */ virtual void Unlock() const {} - // Disallow copying and assigning. - ExternalStringResourceBase(const ExternalStringResourceBase&) = delete; - void operator=(const ExternalStringResourceBase&) = delete; - private: friend class internal::ExternalString; friend class v8::String; @@ -2881,43 +2837,23 @@ class V8_EXPORT String : public Name { V8_INLINE static String* Cast(v8::Value* obj); - // TODO(dcarney): remove with deprecation of New functions. - enum NewStringType { - kNormalString = static_cast(v8::NewStringType::kNormal), - kInternalizedString = static_cast(v8::NewStringType::kInternalized) - }; - - /** Allocates a new string from UTF-8 data.*/ - static V8_DEPRECATED( - "Use maybe version", - Local NewFromUtf8(Isolate* isolate, const char* data, - NewStringType type = kNormalString, - int length = -1)); - /** Allocates a new string from UTF-8 data. Only returns an empty value when * length > kMaxLength. **/ static V8_WARN_UNUSED_RESULT MaybeLocal NewFromUtf8( - Isolate* isolate, const char* data, v8::NewStringType type, - int length = -1); + Isolate* isolate, const char* data, + NewStringType type = NewStringType::kNormal, int length = -1); /** Allocates a new string from Latin-1 data. Only returns an empty value * when length > kMaxLength. **/ static V8_WARN_UNUSED_RESULT MaybeLocal NewFromOneByte( - Isolate* isolate, const uint8_t* data, v8::NewStringType type, - int length = -1); - - /** Allocates a new string from UTF-16 data.*/ - static V8_DEPRECATED( - "Use maybe version", - Local NewFromTwoByte(Isolate* isolate, const uint16_t* data, - NewStringType type = kNormalString, - int length = -1)); + Isolate* isolate, const uint8_t* data, + NewStringType type = NewStringType::kNormal, int length = -1); /** Allocates a new string from UTF-16 data. Only returns an empty value when * length > kMaxLength. **/ static V8_WARN_UNUSED_RESULT MaybeLocal NewFromTwoByte( - Isolate* isolate, const uint16_t* data, v8::NewStringType type, - int length = -1); + Isolate* isolate, const uint16_t* data, + NewStringType type = NewStringType::kNormal, int length = -1); /** * Creates a new string by concatenating the left and the right strings @@ -2956,10 +2892,6 @@ class V8_EXPORT String : public Name { * should the underlying buffer be deallocated or modified except through the * destructor of the external string resource. */ - static V8_DEPRECATED( - "Use maybe version", - Local NewExternal(Isolate* isolate, - ExternalOneByteStringResource* resource)); static V8_WARN_UNUSED_RESULT MaybeLocal NewExternalOneByte( Isolate* isolate, ExternalOneByteStringResource* resource); @@ -3356,8 +3288,8 @@ enum class IntegrityLevel { kFrozen, kSealed }; */ class V8_EXPORT Object : public Value { public: - V8_DEPRECATE_SOON("Use maybe version", - bool Set(Local key, Local value)); + V8_DEPRECATED("Use maybe version", + bool Set(Local key, Local value)); /** * Set only return Just(true) or Empty(), so if it should never fail, use * result.Check(). @@ -3365,8 +3297,8 @@ class V8_EXPORT Object : public Value { V8_WARN_UNUSED_RESULT Maybe Set(Local context, Local key, Local value); - V8_DEPRECATE_SOON("Use maybe version", - bool Set(uint32_t index, Local value)); + V8_DEPRECATED("Use maybe version", + bool Set(uint32_t index, Local value)); V8_WARN_UNUSED_RESULT Maybe Set(Local context, uint32_t index, Local value); @@ -3410,11 +3342,11 @@ class V8_EXPORT Object : public Value { V8_WARN_UNUSED_RESULT Maybe DefineProperty( Local context, Local key, PropertyDescriptor& descriptor); - V8_DEPRECATE_SOON("Use maybe version", Local Get(Local key)); + V8_DEPRECATED("Use maybe version", Local Get(Local key)); V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, Local key); - V8_DEPRECATE_SOON("Use maybe version", Local Get(uint32_t index)); + V8_DEPRECATED("Use maybe version", Local Get(uint32_t index)); V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, uint32_t index); @@ -3898,9 +3830,6 @@ class ReturnValue { } // Local setters template - V8_INLINE V8_DEPRECATED("Use Global<> instead", - void Set(const Persistent& handle)); - template V8_INLINE void Set(const Global& handle); template V8_INLINE void Set(const TracedGlobal& handle); @@ -5288,38 +5217,6 @@ class V8_EXPORT Date : public Object { V8_INLINE static Date* Cast(Value* obj); - /** - * Time zone redetection indicator for - * DateTimeConfigurationChangeNotification. - * - * kSkip indicates V8 that the notification should not trigger redetecting - * host time zone. kRedetect indicates V8 that host time zone should be - * redetected, and used to set the default time zone. - * - * The host time zone detection may require file system access or similar - * operations unlikely to be available inside a sandbox. If v8 is run inside a - * sandbox, the host time zone has to be detected outside the sandbox before - * calling DateTimeConfigurationChangeNotification function. - */ - enum class TimeZoneDetection { kSkip, kRedetect }; - - /** - * Notification that the embedder has changed the time zone, - * daylight savings time, or other date / time configuration - * parameters. V8 keeps a cache of various values used for - * date / time computation. This notification will reset - * those cached values for the current context so that date / - * time configuration changes would be reflected in the Date - * object. - * - * This API should not be called more than needed as it will - * negatively impact the performance of date operations. - */ - V8_DEPRECATED("Use Isolate::DateTimeConfigurationChangeNotification", - static void DateTimeConfigurationChangeNotification( - Isolate* isolate, TimeZoneDetection time_zone_detection = - TimeZoneDetection::kSkip)); - private: static void CheckCast(Value* obj); }; @@ -6005,21 +5902,6 @@ class V8_EXPORT FunctionTemplate : public Template { */ void SetAcceptAnyReceiver(bool value); - /** - * Determines whether the __proto__ accessor ignores instances of - * the function template. If instances of the function template are - * ignored, __proto__ skips all instances and instead returns the - * next object in the prototype chain. - * - * Call with a value of true to make the __proto__ accessor ignore - * instances of the function template. Call with a value of false - * to make the __proto__ accessor not ignore instances of the - * function template. By default, instances of a function template - * are not ignored. - */ - V8_DEPRECATED("This feature is incompatible with ES6+.", - void SetHiddenPrototype(bool value)); - /** * Sets the ReadOnly flag in the attributes of the 'prototype' property * of functions created from this FunctionTemplate to true. @@ -6734,7 +6616,8 @@ class PromiseRejectMessage { typedef void (*PromiseRejectCallback)(PromiseRejectMessage message); // --- Microtasks Callbacks --- -typedef void (*MicrotasksCompletedCallback)(Isolate*); +V8_DEPRECATE_SOON("Use *WithData version.", + typedef void (*MicrotasksCompletedCallback)(Isolate*)); typedef void (*MicrotasksCompletedCallbackWithData)(Isolate*, void*); typedef void (*MicrotaskCallback)(void* data); @@ -6823,11 +6706,12 @@ class V8_EXPORT MicrotaskQueue { */ virtual int GetMicrotasksScopeDepth() const = 0; + MicrotaskQueue(const MicrotaskQueue&) = delete; + MicrotaskQueue& operator=(const MicrotaskQueue&) = delete; + private: friend class internal::MicrotaskQueue; MicrotaskQueue() = default; - MicrotaskQueue(const MicrotaskQueue&) = delete; - MicrotaskQueue& operator=(const MicrotaskQueue&) = delete; }; /** @@ -7218,6 +7102,11 @@ enum class MemoryPressureLevel { kNone, kModerate, kCritical }; */ class V8_EXPORT EmbedderHeapTracer { public: + enum TraceFlags : uint64_t { + kNoFlags = 0, + kReduceMemory = 1 << 0, + }; + // Indicator for the stack state of the embedder. enum EmbedderStackState { kUnknown, @@ -7234,6 +7123,24 @@ class V8_EXPORT EmbedderHeapTracer { virtual void VisitTracedGlobalHandle(const TracedGlobal& value) = 0; }; + /** + * Summary of a garbage collection cycle. See |TraceEpilogue| on how the + * summary is reported. + */ + struct TraceSummary { + /** + * Time spent managing the retained memory in milliseconds. This can e.g. + * include the time tracing through objects in the embedder. + */ + double time = 0.0; + + /** + * Memory retained by the embedder through the |EmbedderHeapTracer| + * mechanism in bytes. + */ + size_t allocated_size = 0; + }; + virtual ~EmbedderHeapTracer() = default; /** @@ -7256,7 +7163,8 @@ class V8_EXPORT EmbedderHeapTracer { /** * Called at the beginning of a GC cycle. */ - virtual void TracePrologue() = 0; + V8_DEPRECATE_SOON("Use version with flags.", virtual void TracePrologue()) {} + virtual void TracePrologue(TraceFlags flags); /** * Called to advance tracing in the embedder. @@ -7279,9 +7187,12 @@ class V8_EXPORT EmbedderHeapTracer { /** * Called at the end of a GC cycle. * - * Note that allocation is *not* allowed within |TraceEpilogue|. + * Note that allocation is *not* allowed within |TraceEpilogue|. Can be + * overriden to fill a |TraceSummary| that is used by V8 to schedule future + * garbage collections. */ - virtual void TraceEpilogue() = 0; + virtual void TraceEpilogue() {} + virtual void TraceEpilogue(TraceSummary* trace_summary) { TraceEpilogue(); } /** * Called upon entering the final marking pause. No more incremental marking @@ -7318,6 +7229,14 @@ class V8_EXPORT EmbedderHeapTracer { */ void GarbageCollectionForTesting(EmbedderStackState stack_state); + /* + * Called by the embedder to signal newly allocated memory. Not bound to + * tracing phases. Embedders should trade off when increments are reported as + * V8 may consult global heuristics on whether to trigger garbage collection + * on this change. + */ + void IncreaseAllocatedSize(size_t bytes); + /* * Returns the v8::Isolate this tracer is attached too and |nullptr| if it * is not attached to any v8::Isolate. @@ -8675,7 +8594,10 @@ class V8_EXPORT V8 { /** * Sets V8 flags from a string. */ - static void SetFlagsFromString(const char* str, int length); + static void SetFlagsFromString(const char* str); + static void SetFlagsFromString(const char* str, size_t length); + V8_DEPRECATED("use size_t version", + static void SetFlagsFromString(const char* str, int length)); /** * Sets V8 flags from the command line. @@ -8846,9 +8768,6 @@ class V8_EXPORT V8 { const char* label); static Value* Eternalize(Isolate* isolate, Value* handle); - static void RegisterExternallyReferencedObject(internal::Address* location, - internal::Isolate* isolate); - template friend class PersistentValueMapBase; @@ -9795,14 +9714,6 @@ void Persistent::Copy(const Persistent& that) { M::Copy(that, this); } -template -bool PersistentBase::IsIndependent() const { - typedef internal::Internals I; - if (this->IsEmpty()) return false; - return I::GetNodeFlag(reinterpret_cast(this->val_), - I::kNodeIsIndependentShift); -} - template bool PersistentBase::IsWeak() const { typedef internal::Internals I; @@ -9869,31 +9780,6 @@ void PersistentBase::AnnotateStrongRetainer(const char* label) { label); } -template -void PersistentBase::RegisterExternalReference(Isolate* isolate) const { - if (IsEmpty()) return; - V8::RegisterExternallyReferencedObject( - reinterpret_cast(this->val_), - reinterpret_cast(isolate)); -} - -template -void PersistentBase::MarkIndependent() { - typedef internal::Internals I; - if (this->IsEmpty()) return; - I::UpdateNodeFlag(reinterpret_cast(this->val_), true, - I::kNodeIsIndependentShift); -} - -template -void PersistentBase::MarkActive() { - typedef internal::Internals I; - if (this->IsEmpty()) return; - I::UpdateNodeFlag(reinterpret_cast(this->val_), true, - I::kNodeIsActiveShift); -} - - template void PersistentBase::SetWrapperClassId(uint16_t class_id) { typedef internal::Internals I; @@ -10019,17 +9905,6 @@ void TracedGlobal::SetFinalizationCallback( template ReturnValue::ReturnValue(internal::Address* slot) : value_(slot) {} -template -template -void ReturnValue::Set(const Persistent& handle) { - TYPE_CHECK(T, S); - if (V8_UNLIKELY(handle.IsEmpty())) { - *value_ = GetDefaultValue(); - } else { - *value_ = *reinterpret_cast(*handle); - } -} - template template void ReturnValue::Set(const Global& handle) { @@ -10949,7 +10824,8 @@ int64_t Isolate::AdjustAmountOfExternalAllocatedMemory( *external_memory = amount; int64_t allocation_diff_since_last_mc = - *external_memory - *external_memory_at_last_mc; + static_cast(static_cast(*external_memory) - + static_cast(*external_memory_at_last_mc)); // Only check memory pressure and potentially trigger GC if the amount of // external memory increased. if (allocation_diff_since_last_mc > kMemoryReducerActivationLimit) { diff --git a/deps/v8/infra/OWNERS b/deps/v8/infra/OWNERS index c05d1d39218a42..a75a43666efa57 100644 --- a/deps/v8/infra/OWNERS +++ b/deps/v8/infra/OWNERS @@ -1,4 +1,3 @@ -machenbach@chromium.org -sergiyb@chromium.org +file://INFRA_OWNERS + tandrii@chromium.org -tmrts@chromium.org \ No newline at end of file diff --git a/deps/v8/infra/mb/gn_isolate_map.pyl b/deps/v8/infra/mb/gn_isolate_map.pyl index 8f13079ea3d3b4..05b147d503f000 100644 --- a/deps/v8/infra/mb/gn_isolate_map.pyl +++ b/deps/v8/infra/mb/gn_isolate_map.pyl @@ -47,6 +47,10 @@ "label": "//test:v8_perf", "type": "script", }, + "perf_integration": { + "label": "//test:v8_perf", + "type": "script", + }, "jsfunfuzz": { "label": "//tools/jsfunfuzz:v8_jsfunfuzz", "type": "script", diff --git a/deps/v8/infra/mb/mb_config.pyl b/deps/v8/infra/mb/mb_config.pyl index 6d05b7f2371833..354415ef438ccf 100644 --- a/deps/v8/infra/mb/mb_config.pyl +++ b/deps/v8/infra/mb/mb_config.pyl @@ -92,6 +92,8 @@ 'V8 Linux gcc': 'release_x86_gcc', 'V8 Linux64 gcc - debug': 'debug_x64_gcc', # FYI. + 'V8 iOS - sim': 'release_x64_ios_simulator', + 'V8 Linux64 - debug - perfetto - builder': 'debug_x64_perfetto', 'V8 Linux64 - pointer compression': 'release_x64_pointer_compression', 'V8 Linux64 - arm64 - sim - pointer compression - builder': 'release_simulate_arm64_pointer_compression', @@ -151,6 +153,7 @@ # Arm64. 'V8 Android Arm64 - builder': 'release_android_arm64', 'V8 Android Arm64 - debug builder': 'debug_android_arm64', + 'V8 Arm64 - builder': 'release_arm64', 'V8 Linux - arm64 - sim': 'release_simulate_arm64', 'V8 Linux - arm64 - sim - debug': 'debug_simulate_arm64', 'V8 Linux - arm64 - sim - nosnap - debug': @@ -191,6 +194,7 @@ 'v8_android_arm64_compile_dbg': 'debug_android_arm64', 'v8_android_arm64_n5x_rel_ng': 'release_android_arm64', 'v8_fuchsia_rel_ng': 'release_x64_fuchsia_trybot', + 'v8_ios_simulator': 'release_x64_ios_simulator', 'v8_linux_noembed_rel_ng': 'release_x86_noembed_trybot', 'v8_linux_rel_ng': 'release_x86_gcmole_trybot', 'v8_linux_optional_rel_ng': 'release_x86_trybot', @@ -212,6 +216,8 @@ 'v8_linux64_gcc_compile_dbg': 'debug_x64_gcc', 'v8_linux64_header_includes_dbg': 'debug_x64_header_includes', 'v8_linux64_fyi_rel_ng': 'release_x64_test_features_trybot', + 'v8_linux64_nodcheck_rel_ng': 'release_x64', + 'v8_linux64_perfetto_dbg_ng': 'debug_x64_perfetto', 'v8_linux64_pointer_compression_rel_ng': 'release_x64_pointer_compression', 'v8_linux64_rel_ng': 'release_x64_test_features_trybot', 'v8_linux64_shared_compile_rel': 'release_x64_shared_verify_heap', @@ -390,6 +396,8 @@ # Release configs for arm. 'release_arm': [ 'release_bot', 'arm', 'hard_float'], + 'release_arm64': [ + 'release_bot', 'arm64', 'hard_float'], 'release_android_arm': [ 'release_bot', 'arm', 'android', 'minimal_symbols', 'android_strip_outputs'], @@ -433,6 +441,8 @@ 'release_x64_gcc_coverage': [ 'release_bot', 'x64', 'coverage', 'gcc', 'no_custom_libcxx', 'no_sysroot'], + 'release_x64_ios_simulator': [ + 'release_bot', 'x64', 'ios_simulator'], 'release_x64_internal': [ 'release_bot', 'x64', 'v8_snapshot_internal'], 'release_x64_jumbo': [ @@ -490,6 +500,8 @@ 'debug_bot', 'x64', 'jumbo_limited'], 'debug_x64_minimal_symbols': [ 'debug_bot', 'x64', 'minimal_symbols'], + 'debug_x64_perfetto': [ + 'debug_bot', 'x64', 'perfetto'], 'debug_x64_trybot': [ 'debug_trybot', 'x64'], 'debug_x64_trybot_custom': [ @@ -646,6 +658,10 @@ 'gn_args': 'arm_float_abi="hard"', }, + 'ios_simulator': { + 'gn_args': 'target_cpu="x64" target_os="ios"', + }, + 'jumbo': { 'gn_args': 'use_jumbo_build=true', }, @@ -699,6 +715,10 @@ 'gn_args': 'use_sysroot=false', }, + 'perfetto': { + 'gn_args': 'v8_use_perfetto=true', + }, + 'release': { 'gn_args': 'is_debug=false', }, diff --git a/deps/v8/infra/testing/OWNERS b/deps/v8/infra/testing/OWNERS index c8693c972c7225..50b5741785cb07 100644 --- a/deps/v8/infra/testing/OWNERS +++ b/deps/v8/infra/testing/OWNERS @@ -1,5 +1,3 @@ set noparent -machenbach@chromium.org -sergiyb@chromium.org -tmrts@chromium.org \ No newline at end of file +file://INFRA_OWNERS diff --git a/deps/v8/infra/testing/builders.pyl b/deps/v8/infra/testing/builders.pyl index 00e385711a0eb2..0d39ea31f75512 100644 --- a/deps/v8/infra/testing/builders.pyl +++ b/deps/v8/infra/testing/builders.pyl @@ -51,6 +51,7 @@ 'v8_linux_dbg_ng_triggered': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -65,6 +66,9 @@ ], }, 'v8_linux_gc_stress_dbg': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit', 'variant': 'slow_path', 'test_args': ['--gc-stress'], 'shards': 2}, {'name': 'd8testing', 'test_args': ['--gc-stress'], 'shards': 5}, @@ -81,6 +85,7 @@ 'v8_linux_nodcheck_rel_ng_triggered': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -94,11 +99,17 @@ ], }, 'v8_linux_noembed_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 2}, ], }, 'v8_linux_noi18n_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla', 'variant': 'default'}, {'name': 'test262', 'variant': 'default'}, @@ -106,6 +117,9 @@ ], }, 'v8_linux_nosnap_rel': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'variant': 'default', 'shards': 6}, ], @@ -121,6 +135,7 @@ 'v8_linux_rel_ng_triggered': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -140,6 +155,7 @@ 'v8_linux_optional_rel_ng_triggered': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ # Code serializer. @@ -193,6 +209,9 @@ ], }, 'v8_linux_verify_csa_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 2}, ], @@ -200,6 +219,9 @@ ############################################################################## # Linux32 with arm simulators 'v8_linux_arm_dbg': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, @@ -210,11 +232,17 @@ ], }, 'v8_linux_arm_lite_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'variant': 'default', 'shards': 4}, ], }, 'v8_linux_arm_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access', 'shards': 2}, {'name': 'mozilla', 'shards': 2}, @@ -227,6 +255,9 @@ ############################################################################## # Linux64 'v8_linux64_asan_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'test262_variants', 'shards': 7}, {'name': 'v8testing', 'shards': 3}, @@ -235,6 +266,9 @@ ], }, 'v8_linux64_cfi_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'benchmarks'}, {'name': 'mozilla'}, @@ -246,6 +280,7 @@ 'v8_linux64_dbg_ng_triggered': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -261,6 +296,9 @@ ], }, 'v8_linux64_gc_stress_custom_snapshot_dbg_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ { 'name': 'mjsunit', @@ -270,6 +308,9 @@ ], }, 'v8_linux64_fyi_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ # Stress sampling. {'name': 'mjsunit', 'variant': 'stress_sampling'}, @@ -280,12 +321,43 @@ ], }, 'v8_linux64_msan_rel': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'test262', 'shards': 2}, {'name': 'v8testing', 'shards': 5}, ], }, + 'v8_linux64_nodcheck_rel_ng_triggered': { + 'swarming_dimensions' : { + 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', + }, + 'tests': [ + {'name': 'benchmarks'}, + {'name': 'benchmarks', 'variant': 'extra'}, + {'name': 'mozilla'}, + {'name': 'mozilla', 'variant': 'extra'}, + {'name': 'perf_integration'}, + {'name': 'test262_variants', 'shards': 2}, + {'name': 'test262_variants', 'variant': 'extra', 'shards': 2}, + {'name': 'v8testing', 'shards': 2}, + {'name': 'v8testing', 'variant': 'extra'}, + ], + }, + 'v8_linux64_perfetto_dbg_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, + 'tests': [ + {'name': 'v8testing', 'shards': 3}, + ], + }, 'v8_linux64_pointer_compression_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 3}, ], @@ -293,6 +365,7 @@ 'v8_linux64_rel_ng_triggered': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ # TODO(machenbach): Add benchmarks. @@ -313,6 +386,7 @@ 'v8_linux64_rel_xg': { 'swarming_dimensions' : { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'v8initializers'}, @@ -320,11 +394,17 @@ ], }, 'v8_linux64_sanitizer_coverage_rel': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 3}, ], }, 'v8_linux64_tsan_rel': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'benchmarks'}, {'name': 'mozilla'}, @@ -335,16 +415,25 @@ ], }, 'v8_linux64_tsan_isolates_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'test_args': ['--isolates'], 'shards': 7}, ], }, 'v8_linux64_ubsan_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 2}, ], }, 'v8_linux64_verify_csa_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 2}, ], @@ -352,6 +441,9 @@ ############################################################################## # Linux64 with arm64 simulators 'v8_linux_arm64_dbg': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla', 'shards': 2}, @@ -362,11 +454,17 @@ ], }, 'v8_linux_arm64_gc_stress_dbg': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'd8testing', 'test_args': ['--gc-stress'], 'shards': 10}, ], }, 'v8_linux_arm64_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access', 'shards': 2}, {'name': 'mozilla', 'shards': 2}, @@ -377,6 +475,9 @@ ], }, 'v8_linux64_arm64_pointer_compression_rel_ng_triggered': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -530,6 +631,9 @@ ############################################################################## # Main. 'V8 Fuzzer': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -542,6 +646,7 @@ 'V8 Linux': { 'swarming_dimensions': { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -582,6 +687,9 @@ ], }, 'V8 Linux - arm64 - sim - MSAN': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'test262', 'shards': 3}, {'name': 'v8testing', 'shards': 4}, @@ -590,6 +698,7 @@ 'V8 Linux - debug': { 'swarming_dimensions': { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -649,26 +758,38 @@ ], }, 'V8 Linux - noembed': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing'}, ], }, 'V8 Linux - noembed - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 3}, ], }, 'V8 Linux - full debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, 'priority': 35, }, 'tests': [ - {'name': 'v8testing', 'variant': 'default', 'shards': 3}, + {'name': 'v8testing', 'variant': 'default', 'shards': 4}, ], }, 'V8 Linux - gc stress': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ { 'name': 'd8testing', @@ -684,6 +805,9 @@ ], }, 'V8 Linux - noi18n - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla', 'variant': 'default'}, {'name': 'test262', 'variant': 'default'}, @@ -691,6 +815,9 @@ ], }, 'V8 Linux - nosnap': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -703,6 +830,9 @@ ], }, 'V8 Linux - nosnap - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -713,6 +843,9 @@ ], }, 'V8 Linux - predictable': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'benchmarks'}, {'name': 'd8testing'}, @@ -720,6 +853,9 @@ ], }, 'V8 Linux - shared': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -727,6 +863,9 @@ ], }, 'V8 Linux - verify csa': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing'}, ], @@ -742,6 +881,7 @@ 'V8 Linux64': { 'swarming_dimensions': { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -750,6 +890,7 @@ {'name': 'mozilla'}, {'name': 'mozilla', 'variant': 'extra'}, {'name': 'optimize_for_size'}, + {'name': 'perf_integration'}, {'name': 'test262_variants', 'shards': 2}, {'name': 'test262_variants', 'variant': 'extra'}, {'name': 'v8initializers'}, @@ -775,6 +916,9 @@ ], }, 'V8 Linux64 - cfi': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'benchmarks'}, {'name': 'mozilla'}, @@ -784,6 +928,9 @@ ], }, 'V8 Linux64 - custom snapshot - debug': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit', 'test_args': ['--no-harness']}, ], @@ -791,6 +938,7 @@ 'V8 Linux64 - debug': { 'swarming_dimensions': { 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-14.04', }, 'tests': [ {'name': 'benchmarks'}, @@ -825,6 +973,9 @@ ], }, 'V8 Linux64 - debug - fyi': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ # Infra staging. {'name': 'v8testing', 'variant': 'infra_staging', 'shards': 2}, @@ -833,7 +984,23 @@ {'name': 'webkit', 'variant': 'stress_sampling', 'shards': 1}, ], }, + 'V8 Linux64 - debug - perfetto': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, + 'swarming_task_attrs': { + 'expiration': 14400, + 'hard_timeout': 3600, + 'priority': 35, + }, + 'tests': [ + {'name': 'v8testing', 'shards': 2}, + ], + }, 'V8 Linux64 - fyi': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ # Infra staging. {'name': 'v8testing', 'variant': 'infra_staging', 'shards': 1}, @@ -843,21 +1010,33 @@ ], }, 'V8 Linux64 - gcov coverage': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing'}, ], }, 'V8 Linux64 - internal snapshot': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing'}, ], }, 'V8 Linux64 - pointer compression': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 2}, ], }, 'V8 Linux64 - shared': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -865,11 +1044,17 @@ ], }, 'V8 Linux64 - verify csa': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing'}, ], }, 'V8 Linux64 ASAN': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'test262_variants', 'shards': 5}, {'name': 'v8testing', 'shards': 2}, @@ -878,6 +1063,9 @@ ], }, 'V8 Linux64 GC Stress - custom snapshot': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ { 'name': 'mjsunit', @@ -887,6 +1075,9 @@ ], }, 'V8 Linux64 TSAN': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'benchmarks'}, {'name': 'mozilla'}, @@ -897,6 +1088,9 @@ ], }, 'V8 Linux64 TSAN - concurrent marking': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -924,11 +1118,17 @@ ], }, 'V8 Linux64 TSAN - isolates': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'test_args': ['--isolates'], 'shards': 7}, ], }, 'V8 Linux64 UBSan': { + 'swarming_dimensions' : { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262', 'shards': 2}, @@ -1068,6 +1268,7 @@ 'swarming_dimensions': { 'cores': '2', 'cpu': 'armv7l', + 'os': 'Ubuntu-14.04', }, 'swarming_task_attrs': { 'expiration': 21600, @@ -1114,6 +1315,7 @@ 'swarming_dimensions': { 'cores': '2', 'cpu': 'armv7l', + 'os': 'Ubuntu-14.04', }, 'swarming_task_attrs': { 'expiration': 21600, @@ -1163,6 +1365,7 @@ 'swarming_dimensions': { 'cores': '2', 'cpu': 'armv7l', + 'os': 'Ubuntu-14.04', }, 'swarming_task_attrs': { 'expiration': 21600, @@ -1190,6 +1393,9 @@ ], }, 'V8 Linux - arm - sim': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, @@ -1226,6 +1432,9 @@ ], }, 'V8 Linux - arm - sim - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, @@ -1273,16 +1482,25 @@ ], }, 'V8 Linux - arm - sim - lite': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'variant': 'default', 'shards': 2}, ], }, 'V8 Linux - arm - sim - lite - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'variant': 'default', 'shards': 4}, ], }, 'V8 Linux - arm64 - sim': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mjsunit_sp_frame_access'}, {'name': 'mozilla'}, @@ -1293,6 +1511,9 @@ ], }, 'V8 Linux - arm64 - sim - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, # TODO(machenbach): Remove longer timeout when this builder scales better. 'swarming_task_attrs': { 'hard_timeout': 3600, @@ -1307,6 +1528,9 @@ ], }, 'V8 Linux - arm64 - sim - gc stress': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 7200, @@ -1321,6 +1545,9 @@ ], }, 'V8 Linux - mips64el - sim': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -1332,6 +1559,9 @@ ], }, 'V8 Linux - mipsel - sim': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -1343,6 +1573,9 @@ ], }, 'V8 Linux - ppc64 - sim': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -1353,6 +1586,9 @@ ], }, 'V8 Linux - s390x - sim': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -1363,6 +1599,9 @@ ], }, 'V8 Linux64 - arm64 - sim - pointer compression': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 14400, 'hard_timeout': 3600, @@ -1388,6 +1627,9 @@ ############################################################################## # Clusterfuzz. 'V8 NumFuzz': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 13800, 'hard_timeout': 4200, @@ -1402,6 +1644,9 @@ ], }, 'V8 NumFuzz - TSAN': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 13800, 'hard_timeout': 4200, @@ -1447,6 +1692,9 @@ ], }, 'V8 NumFuzz - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'swarming_task_attrs': { 'expiration': 13800, 'hard_timeout': 4200, @@ -1501,6 +1749,9 @@ ############################################################################## # Branches. 'V8 Linux - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1508,6 +1759,9 @@ ], }, 'V8 Linux - beta branch - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1515,6 +1769,9 @@ ], }, 'V8 Linux - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1522,6 +1779,9 @@ ], }, 'V8 Linux - stable branch - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1529,6 +1789,9 @@ ], }, 'V8 Linux64 - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1536,6 +1799,9 @@ ], }, 'V8 Linux64 - beta branch - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1543,6 +1809,9 @@ ], }, 'V8 Linux64 - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1550,6 +1819,9 @@ ], }, 'V8 Linux64 - stable branch - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1557,6 +1829,9 @@ ], }, 'V8 arm - sim - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1564,6 +1839,9 @@ ], }, 'V8 arm - sim - beta branch - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1571,6 +1849,9 @@ ], }, 'V8 arm - sim - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1578,6 +1859,9 @@ ], }, 'V8 arm - sim - stable branch - debug': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'mozilla'}, {'name': 'test262'}, @@ -1585,41 +1869,65 @@ ], }, 'V8 mips64el - sim - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'unittests'}, ], }, 'V8 mips64el - sim - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'unittests'}, ], }, 'V8 mipsel - sim - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 4}, ], }, 'V8 mipsel - sim - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'v8testing', 'shards': 4}, ], }, 'V8 ppc64 - sim - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'unittests'}, ], }, 'V8 ppc64 - sim - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'unittests'}, ], }, 'V8 s390x - sim - beta branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'unittests'}, ], }, 'V8 s390x - sim - stable branch': { + 'swarming_dimensions': { + 'os': 'Ubuntu-14.04', + }, 'tests': [ {'name': 'unittests'}, ], diff --git a/deps/v8/samples/OWNERS b/deps/v8/samples/OWNERS new file mode 100644 index 00000000000000..9c4f2439aa5ef3 --- /dev/null +++ b/deps/v8/samples/OWNERS @@ -0,0 +1,2 @@ +mathias@chromium.org +yangguo@chromium.org diff --git a/deps/v8/src/DEPS b/deps/v8/src/DEPS index 74c48a6dddab58..d24e647b24157d 100644 --- a/deps/v8/src/DEPS +++ b/deps/v8/src/DEPS @@ -8,6 +8,7 @@ include_rules = [ "+src/compiler/code-assembler.h", "+src/compiler/wasm-compiler.h", "-src/heap", + "+src/heap/combined-heap.h", "+src/heap/embedder-tracing.h", "+src/heap/factory.h", "+src/heap/factory-inl.h", diff --git a/deps/v8/src/api-arguments-inl.h b/deps/v8/src/api/api-arguments-inl.h similarity index 97% rename from deps/v8/src/api-arguments-inl.h rename to deps/v8/src/api/api-arguments-inl.h index 7f83708b969d67..05bb35786a94e9 100644 --- a/deps/v8/src/api-arguments-inl.h +++ b/deps/v8/src/api/api-arguments-inl.h @@ -2,17 +2,18 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef V8_API_ARGUMENTS_INL_H_ -#define V8_API_ARGUMENTS_INL_H_ +#ifndef V8_API_API_ARGUMENTS_INL_H_ +#define V8_API_API_ARGUMENTS_INL_H_ -#include "src/api-arguments.h" +#include "src/api/api-arguments.h" -#include "src/api-inl.h" +#include "src/api/api-inl.h" #include "src/debug/debug.h" +#include "src/execution/vm-state-inl.h" +#include "src/logging/counters.h" #include "src/objects/api-callbacks.h" #include "src/objects/slots-inl.h" #include "src/tracing/trace-event.h" -#include "src/vm-state-inl.h" namespace v8 { namespace internal { @@ -42,7 +43,7 @@ Handle CustomArguments::GetReturnValue(Isolate* isolate) { // Check the ReturnValue. FullObjectSlot slot = slot_at(kReturnValueOffset); // Nothing was set, return empty handle as per previous behaviour. - if ((*slot)->IsTheHole(isolate)) return Handle(); + if ((*slot).IsTheHole(isolate)) return Handle(); Handle result = Handle::cast(Handle(slot.location())); result->VerifyApiCallResultType(); return result; @@ -143,7 +144,7 @@ Handle FunctionCallbackArguments::Call(CallHandlerInfo handler) { LOG(isolate, ApiObjectAccess("call", holder())); RuntimeCallTimerScope timer(isolate, RuntimeCallCounterId::kFunctionCallback); v8::FunctionCallback f = - v8::ToCData(handler->callback()); + v8::ToCData(handler.callback()); Handle receiver_check_unsupported; if (isolate->debug_execution_mode() == DebugInfo::kSideEffects && !isolate->debug()->PerformSideEffectCheckForCallback( @@ -367,4 +368,4 @@ Handle PropertyCallbackArguments::CallAccessorSetter( } // namespace internal } // namespace v8 -#endif // V8_API_ARGUMENTS_INL_H_ +#endif // V8_API_API_ARGUMENTS_INL_H_ diff --git a/deps/v8/src/api-arguments.cc b/deps/v8/src/api/api-arguments.cc similarity index 87% rename from deps/v8/src/api-arguments.cc rename to deps/v8/src/api/api-arguments.cc index 76e821cad7a2d7..51317fd0bf14bb 100644 --- a/deps/v8/src/api-arguments.cc +++ b/deps/v8/src/api/api-arguments.cc @@ -2,9 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "src/api-arguments.h" +#include "src/api/api-arguments.h" -#include "src/api-arguments-inl.h" +#include "src/api/api-arguments-inl.h" namespace v8 { namespace internal { @@ -28,8 +28,8 @@ PropertyCallbackArguments::PropertyCallbackArguments( HeapObject the_hole = ReadOnlyRoots(isolate).the_hole_value(); slot_at(T::kReturnValueDefaultValueIndex).store(the_hole); slot_at(T::kReturnValueIndex).store(the_hole); - DCHECK((*slot_at(T::kHolderIndex))->IsHeapObject()); - DCHECK((*slot_at(T::kIsolateIndex))->IsSmi()); + DCHECK((*slot_at(T::kHolderIndex)).IsHeapObject()); + DCHECK((*slot_at(T::kIsolateIndex)).IsSmi()); } FunctionCallbackArguments::FunctionCallbackArguments( @@ -46,8 +46,8 @@ FunctionCallbackArguments::FunctionCallbackArguments( HeapObject the_hole = ReadOnlyRoots(isolate).the_hole_value(); slot_at(T::kReturnValueDefaultValueIndex).store(the_hole); slot_at(T::kReturnValueIndex).store(the_hole); - DCHECK((*slot_at(T::kHolderIndex))->IsHeapObject()); - DCHECK((*slot_at(T::kIsolateIndex))->IsSmi()); + DCHECK((*slot_at(T::kHolderIndex)).IsHeapObject()); + DCHECK((*slot_at(T::kIsolateIndex)).IsSmi()); } } // namespace internal diff --git a/deps/v8/src/api-arguments.h b/deps/v8/src/api/api-arguments.h similarity index 95% rename from deps/v8/src/api-arguments.h rename to deps/v8/src/api/api-arguments.h index 4f1ea8c85a5fbd..794681b71d0e60 100644 --- a/deps/v8/src/api-arguments.h +++ b/deps/v8/src/api/api-arguments.h @@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef V8_API_ARGUMENTS_H_ -#define V8_API_ARGUMENTS_H_ +#ifndef V8_API_API_ARGUMENTS_H_ +#define V8_API_API_ARGUMENTS_H_ -#include "src/api.h" +#include "src/api/api.h" #include "src/debug/debug.h" -#include "src/isolate.h" +#include "src/execution/isolate.h" #include "src/objects/slots.h" -#include "src/visitors.h" +#include "src/objects/visitors.h" namespace v8 { namespace internal { @@ -60,8 +60,8 @@ class CustomArguments : public CustomArgumentsBase { class PropertyCallbackArguments : public CustomArguments > { public: - typedef PropertyCallbackInfo T; - typedef CustomArguments Super; + using T = PropertyCallbackInfo; + using Super = CustomArguments; static const int kArgsLength = T::kArgsLength; static const int kThisIndex = T::kThisIndex; static const int kHolderIndex = T::kHolderIndex; @@ -150,8 +150,8 @@ class PropertyCallbackArguments class FunctionCallbackArguments : public CustomArguments > { public: - typedef FunctionCallbackInfo T; - typedef CustomArguments Super; + using T = FunctionCallbackInfo; + using Super = CustomArguments; static const int kArgsLength = T::kArgsLength; static const int kHolderIndex = T::kHolderIndex; static const int kDataIndex = T::kDataIndex; @@ -186,4 +186,4 @@ class FunctionCallbackArguments } // namespace internal } // namespace v8 -#endif // V8_API_ARGUMENTS_H_ +#endif // V8_API_API_ARGUMENTS_H_ diff --git a/deps/v8/src/api-inl.h b/deps/v8/src/api/api-inl.h similarity index 93% rename from deps/v8/src/api-inl.h rename to deps/v8/src/api/api-inl.h index 9ccb9e4a6a2522..d152412b474f95 100644 --- a/deps/v8/src/api-inl.h +++ b/deps/v8/src/api/api-inl.h @@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef V8_API_INL_H_ -#define V8_API_INL_H_ +#ifndef V8_API_API_INL_H_ +#define V8_API_API_INL_H_ -#include "src/api.h" -#include "src/handles-inl.h" -#include "src/objects-inl.h" +#include "src/api/api.h" +#include "src/handles/handles-inl.h" #include "src/objects/foreign-inl.h" +#include "src/objects/objects-inl.h" #include "src/objects/stack-frame-info.h" namespace v8 { @@ -18,13 +18,13 @@ inline T ToCData(v8::internal::Object obj) { STATIC_ASSERT(sizeof(T) == sizeof(v8::internal::Address)); if (obj == v8::internal::Smi::kZero) return nullptr; return reinterpret_cast( - v8::internal::Foreign::cast(obj)->foreign_address()); + v8::internal::Foreign::cast(obj).foreign_address()); } template <> inline v8::internal::Address ToCData(v8::internal::Object obj) { if (obj == v8::internal::Smi::kZero) return v8::internal::kNullAddress; - return v8::internal::Foreign::cast(obj)->foreign_address(); + return v8::internal::Foreign::cast(obj).foreign_address(); } template @@ -117,7 +117,7 @@ MAKE_TO_LOCAL(ScriptOrModuleToLocal, Script, ScriptOrModule) DCHECK(that == nullptr || \ v8::internal::Object( \ *reinterpret_cast(that)) \ - ->Is##To()); \ + .Is##To()); \ return v8::internal::Handle( \ reinterpret_cast( \ const_cast(that))); \ @@ -151,4 +151,4 @@ Handle HandleScopeImplementer::LastEnteredOrMicrotaskContext() { } // namespace internal } // namespace v8 -#endif // V8_API_INL_H_ +#endif // V8_API_API_INL_H_ diff --git a/deps/v8/src/api-natives.cc b/deps/v8/src/api/api-natives.cc similarity index 89% rename from deps/v8/src/api-natives.cc rename to deps/v8/src/api/api-natives.cc index 7b5541a1c3b389..c22b7c47f9cf4b 100644 --- a/deps/v8/src/api-natives.cc +++ b/deps/v8/src/api/api-natives.cc @@ -2,21 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "src/api-natives.h" +#include "src/api/api-natives.h" -#include "src/api-inl.h" -#include "src/isolate-inl.h" -#include "src/lookup.h" -#include "src/message-template.h" +#include "src/api/api-inl.h" +#include "src/execution/isolate-inl.h" +#include "src/execution/message-template.h" #include "src/objects/api-callbacks.h" #include "src/objects/hash-table-inl.h" +#include "src/objects/lookup.h" #include "src/objects/property-cell.h" #include "src/objects/templates.h" namespace v8 { namespace internal { - namespace { class InvokeScope { @@ -66,12 +65,12 @@ MaybeHandle DefineAccessorProperty( Handle getter, Handle setter, PropertyAttributes attributes, bool force_instantiate) { DCHECK(!getter->IsFunctionTemplateInfo() || - !FunctionTemplateInfo::cast(*getter)->do_not_cache()); + !FunctionTemplateInfo::cast(*getter).do_not_cache()); DCHECK(!setter->IsFunctionTemplateInfo() || - !FunctionTemplateInfo::cast(*setter)->do_not_cache()); + !FunctionTemplateInfo::cast(*setter).do_not_cache()); if (getter->IsFunctionTemplateInfo()) { if (force_instantiate || - FunctionTemplateInfo::cast(*getter)->BreakAtEntry()) { + FunctionTemplateInfo::cast(*getter).BreakAtEntry()) { ASSIGN_RETURN_ON_EXCEPTION( isolate, getter, InstantiateFunction(isolate, @@ -81,7 +80,7 @@ MaybeHandle DefineAccessorProperty( } if (setter->IsFunctionTemplateInfo()) { if (force_instantiate || - FunctionTemplateInfo::cast(*setter)->BreakAtEntry()) { + FunctionTemplateInfo::cast(*setter).BreakAtEntry()) { ASSIGN_RETURN_ON_EXCEPTION( isolate, setter, InstantiateFunction(isolate, @@ -96,7 +95,6 @@ MaybeHandle DefineAccessorProperty( return object; } - MaybeHandle DefineDataProperty(Isolate* isolate, Handle object, Handle name, @@ -126,7 +124,6 @@ MaybeHandle DefineDataProperty(Isolate* isolate, return value; } - void DisableAccessChecks(Isolate* isolate, Handle object) { Handle old_map(object->map(), isolate); // Copy map so it won't interfere constructor's initial map. @@ -135,7 +132,6 @@ void DisableAccessChecks(Isolate* isolate, Handle object) { JSObject::MigrateToMap(Handle::cast(object), new_map); } - void EnableAccessChecks(Isolate* isolate, Handle object) { Handle old_map(object->map(), isolate); // Copy map so it won't interfere constructor's initial map. @@ -145,12 +141,11 @@ void EnableAccessChecks(Isolate* isolate, Handle object) { JSObject::MigrateToMap(object, new_map); } - class AccessCheckDisableScope { public: AccessCheckDisableScope(Isolate* isolate, Handle obj) : isolate_(isolate), - disabled_(obj->map()->is_access_check_needed()), + disabled_(obj->map().is_access_check_needed()), obj_(obj) { if (disabled_) { DisableAccessChecks(isolate_, obj_); @@ -193,11 +188,11 @@ MaybeHandle ConfigureInstance(Isolate* isolate, Handle obj, int max_number_of_properties = 0; TemplateInfoT info = *data; while (!info.is_null()) { - Object props = info->property_accessors(); - if (!props->IsUndefined(isolate)) { - max_number_of_properties += TemplateList::cast(props)->length(); + Object props = info.property_accessors(); + if (!props.IsUndefined(isolate)) { + max_number_of_properties += TemplateList::cast(props).length(); } - info = info->GetParent(isolate); + info = info.GetParent(isolate); } if (max_number_of_properties > 0) { @@ -210,7 +205,7 @@ MaybeHandle ConfigureInstance(Isolate* isolate, Handle obj, temp = handle(temp->GetParent(isolate), isolate)) { // Accumulate accessors. Object maybe_properties = temp->property_accessors(); - if (!maybe_properties->IsUndefined(isolate)) { + if (!maybe_properties.IsUndefined(isolate)) { valid_descriptors = AccessorInfo::AppendUnique( isolate, handle(maybe_properties, isolate), array, valid_descriptors); @@ -228,7 +223,7 @@ MaybeHandle ConfigureInstance(Isolate* isolate, Handle obj, } Object maybe_property_list = data->property_list(); - if (maybe_property_list->IsUndefined(isolate)) return obj; + if (maybe_property_list.IsUndefined(isolate)) return obj; Handle properties(TemplateList::cast(maybe_property_list), isolate); if (properties->length() == 0) return obj; @@ -237,22 +232,24 @@ MaybeHandle ConfigureInstance(Isolate* isolate, Handle obj, for (int c = 0; c < data->number_of_properties(); c++) { auto name = handle(Name::cast(properties->get(i++)), isolate); Object bit = properties->get(i++); - if (bit->IsSmi()) { + if (bit.IsSmi()) { PropertyDetails details(Smi::cast(bit)); PropertyAttributes attributes = details.attributes(); PropertyKind kind = details.kind(); if (kind == kData) { auto prop_data = handle(properties->get(i++), isolate); - RETURN_ON_EXCEPTION(isolate, DefineDataProperty(isolate, obj, name, - prop_data, attributes), - JSObject); + RETURN_ON_EXCEPTION( + isolate, + DefineDataProperty(isolate, obj, name, prop_data, attributes), + JSObject); } else { auto getter = handle(properties->get(i++), isolate); auto setter = handle(properties->get(i++), isolate); RETURN_ON_EXCEPTION( - isolate, DefineAccessorProperty(isolate, obj, name, getter, setter, - attributes, is_hidden_prototype), + isolate, + DefineAccessorProperty(isolate, obj, name, getter, setter, + attributes, is_hidden_prototype), JSObject); } } else { @@ -266,9 +263,10 @@ MaybeHandle ConfigureInstance(Isolate* isolate, Handle obj, static_cast(Smi::ToInt(properties->get(i++))); auto prop_data = handle(GetIntrinsic(isolate, intrinsic), isolate); - RETURN_ON_EXCEPTION(isolate, DefineDataProperty(isolate, obj, name, - prop_data, attributes), - JSObject); + RETURN_ON_EXCEPTION( + isolate, + DefineDataProperty(isolate, obj, name, prop_data, attributes), + JSObject); } } return obj; @@ -289,20 +287,20 @@ MaybeHandle ProbeInstantiationsCache(Isolate* isolate, if (serial_number <= TemplateInfo::kFastTemplateInstantiationsCacheSize) { Handle fast_cache = isolate->fast_template_instantiations_cache(); - return fast_cache->GetValue(isolate, serial_number - 1); - } else if (caching_mode == CachingMode::kUnlimited || - (serial_number <= - TemplateInfo::kSlowTemplateInstantiationsCacheSize)) { + Handle object{fast_cache->get(serial_number - 1), isolate}; + if (object->IsUndefined(isolate)) return {}; + return Handle::cast(object); + } + if (caching_mode == CachingMode::kUnlimited || + (serial_number <= TemplateInfo::kSlowTemplateInstantiationsCacheSize)) { Handle slow_cache = isolate->slow_template_instantiations_cache(); int entry = slow_cache->FindEntry(isolate, serial_number); - if (entry == SimpleNumberDictionary::kNotFound) { - return MaybeHandle(); + if (entry != SimpleNumberDictionary::kNotFound) { + return handle(JSObject::cast(slow_cache->ValueAt(entry)), isolate); } - return handle(JSObject::cast(slow_cache->ValueAt(entry)), isolate); - } else { - return MaybeHandle(); } + return {}; } void CacheTemplateInstantiation(Isolate* isolate, int serial_number, @@ -338,7 +336,7 @@ void UncacheTemplateInstantiation(Isolate* isolate, int serial_number, if (serial_number <= TemplateInfo::kFastTemplateInstantiationsCacheSize) { Handle fast_cache = isolate->fast_template_instantiations_cache(); - DCHECK(!fast_cache->get(serial_number - 1)->IsUndefined(isolate)); + DCHECK(!fast_cache->get(serial_number - 1).IsUndefined(isolate)); fast_cache->set_undefined(serial_number - 1); } else if (caching_mode == CachingMode::kUnlimited || (serial_number <= @@ -356,11 +354,11 @@ bool IsSimpleInstantiation(Isolate* isolate, ObjectTemplateInfo info, JSReceiver new_target) { DisallowHeapAllocation no_gc; - if (!new_target->IsJSFunction()) return false; + if (!new_target.IsJSFunction()) return false; JSFunction fun = JSFunction::cast(new_target); - if (fun->shared()->function_data() != info->constructor()) return false; - if (info->immutable_proto()) return false; - return fun->context()->native_context() == isolate->raw_native_context(); + if (fun.shared().function_data() != info.constructor()) return false; + if (info.immutable_proto()) return false; + return fun.context().native_context() == isolate->raw_native_context(); } MaybeHandle InstantiateObject(Isolate* isolate, @@ -389,7 +387,7 @@ MaybeHandle InstantiateObject(Isolate* isolate, if (constructor.is_null()) { Object maybe_constructor_info = info->constructor(); - if (maybe_constructor_info->IsUndefined(isolate)) { + if (maybe_constructor_info.IsUndefined(isolate)) { constructor = isolate->object_function(); } else { // Enter a new scope. Recursion could otherwise create a lot of handles. @@ -473,9 +471,9 @@ MaybeHandle InstantiateFunction(Isolate* isolate, Handle prototype; if (!data->remove_prototype()) { Object prototype_templ = data->GetPrototypeTemplate(); - if (prototype_templ->IsUndefined(isolate)) { + if (prototype_templ.IsUndefined(isolate)) { Object protoype_provider_templ = data->GetPrototypeProviderTemplate(); - if (protoype_provider_templ->IsUndefined(isolate)) { + if (protoype_provider_templ.IsUndefined(isolate)) { prototype = isolate->factory()->NewJSObject(isolate->object_function()); } else { ASSIGN_RETURN_ON_EXCEPTION( @@ -488,11 +486,11 @@ MaybeHandle InstantiateFunction(Isolate* isolate, InstantiateObject( isolate, handle(ObjectTemplateInfo::cast(prototype_templ), isolate), - Handle(), data->hidden_prototype(), true), + Handle(), false, true), JSFunction); } Object parent = data->GetParentTemplate(); - if (!parent->IsUndefined(isolate)) { + if (!parent.IsUndefined(isolate)) { Handle parent_prototype; ASSIGN_RETURN_ON_EXCEPTION(isolate, parent_prototype, GetInstancePrototype(isolate, parent), @@ -504,8 +502,8 @@ MaybeHandle InstantiateFunction(Isolate* isolate, } InstanceType function_type = (!data->needs_access_check() && - data->GetNamedPropertyHandler()->IsUndefined(isolate) && - data->GetIndexedPropertyHandler()->IsUndefined(isolate)) + data->GetNamedPropertyHandler().IsUndefined(isolate) && + data->GetIndexedPropertyHandler().IsUndefined(isolate)) ? JS_API_OBJECT_TYPE : JS_SPECIAL_API_OBJECT_TYPE; @@ -517,7 +515,7 @@ MaybeHandle InstantiateFunction(Isolate* isolate, function); } MaybeHandle result = - ConfigureInstance(isolate, function, data, data->hidden_prototype()); + ConfigureInstance(isolate, function, data, false); if (result.is_null()) { // Uncache on error. if (serial_number) { @@ -529,12 +527,11 @@ MaybeHandle InstantiateFunction(Isolate* isolate, return function; } - void AddPropertyToPropertyList(Isolate* isolate, Handle templ, int length, Handle* data) { Object maybe_list = templ->property_list(); Handle list; - if (maybe_list->IsUndefined(isolate)) { + if (maybe_list.IsUndefined(isolate)) { list = TemplateList::New(isolate, length); } else { list = handle(TemplateList::cast(maybe_list), isolate); @@ -598,7 +595,6 @@ void ApiNatives::AddDataProperty(Isolate* isolate, Handle info, AddPropertyToPropertyList(isolate, info, arraysize(data), data); } - void ApiNatives::AddDataProperty(Isolate* isolate, Handle info, Handle name, v8::Intrinsic intrinsic, PropertyAttributes attributes) { @@ -610,7 +606,6 @@ void ApiNatives::AddDataProperty(Isolate* isolate, Handle info, AddPropertyToPropertyList(isolate, info, arraysize(data), data); } - void ApiNatives::AddAccessorProperty(Isolate* isolate, Handle info, Handle name, @@ -623,13 +618,12 @@ void ApiNatives::AddAccessorProperty(Isolate* isolate, AddPropertyToPropertyList(isolate, info, arraysize(data), data); } - void ApiNatives::AddNativeDataProperty(Isolate* isolate, Handle info, Handle property) { Object maybe_list = info->property_accessors(); Handle list; - if (maybe_list->IsUndefined(isolate)) { + if (maybe_list.IsUndefined(isolate)) { list = TemplateList::New(isolate, 1); } else { list = handle(TemplateList::cast(maybe_list), isolate); @@ -653,7 +647,7 @@ Handle ApiNatives::CreateApiFunction( if (obj->remove_prototype()) { DCHECK(prototype.is_null()); - DCHECK(result->shared()->IsApiFunction()); + DCHECK(result->shared().IsApiFunction()); DCHECK(!result->IsConstructor()); DCHECK(!result->has_prototype_slot()); return result; @@ -669,7 +663,7 @@ Handle ApiNatives::CreateApiFunction( if (prototype->IsTheHole(isolate)) { prototype = isolate->factory()->NewFunctionPrototype(result); - } else if (obj->GetPrototypeProviderTemplate()->IsUndefined(isolate)) { + } else if (obj->GetPrototypeProviderTemplate().IsUndefined(isolate)) { JSObject::AddProperty(isolate, Handle::cast(prototype), isolate->factory()->constructor_string(), result, DONT_ENUM); @@ -677,7 +671,7 @@ Handle ApiNatives::CreateApiFunction( int embedder_field_count = 0; bool immutable_proto = false; - if (!obj->GetInstanceTemplate()->IsUndefined(isolate)) { + if (!obj->GetInstanceTemplate().IsUndefined(isolate)) { Handle GetInstanceTemplate = Handle( ObjectTemplateInfo::cast(obj->GetInstanceTemplate()), isolate); embedder_field_count = GetInstanceTemplate->embedder_field_count(); @@ -700,7 +694,7 @@ Handle ApiNatives::CreateApiFunction( // undetectable and callable. If we ever see the need to have an object // that is undetectable but not callable, we need to update the types.h // to allow encoding this. - CHECK(!obj->GetInstanceCallHandler()->IsUndefined(isolate)); + CHECK(!obj->GetInstanceCallHandler().IsUndefined(isolate)); map->set_is_undetectable(true); } @@ -711,16 +705,16 @@ Handle ApiNatives::CreateApiFunction( } // Set interceptor information in the map. - if (!obj->GetNamedPropertyHandler()->IsUndefined(isolate)) { + if (!obj->GetNamedPropertyHandler().IsUndefined(isolate)) { map->set_has_named_interceptor(true); map->set_may_have_interesting_symbols(true); } - if (!obj->GetIndexedPropertyHandler()->IsUndefined(isolate)) { + if (!obj->GetIndexedPropertyHandler().IsUndefined(isolate)) { map->set_has_indexed_interceptor(true); } // Mark instance as callable in the map. - if (!obj->GetInstanceCallHandler()->IsUndefined(isolate)) { + if (!obj->GetInstanceCallHandler().IsUndefined(isolate)) { map->set_is_callable(true); map->set_is_constructor(!obj->undetectable()); } diff --git a/deps/v8/src/api-natives.h b/deps/v8/src/api/api-natives.h similarity index 89% rename from deps/v8/src/api-natives.h rename to deps/v8/src/api/api-natives.h index 9a9ae50da811e1..153212cc6c43d7 100644 --- a/deps/v8/src/api-natives.h +++ b/deps/v8/src/api/api-natives.h @@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef V8_API_NATIVES_H_ -#define V8_API_NATIVES_H_ +#ifndef V8_API_API_NATIVES_H_ +#define V8_API_API_NATIVES_H_ #include "include/v8.h" #include "src/base/macros.h" -#include "src/handles.h" -#include "src/maybe-handles.h" -#include "src/objects.h" -#include "src/property-details.h" +#include "src/handles/handles.h" +#include "src/handles/maybe-handles.h" +#include "src/objects/objects.h" +#include "src/objects/property-details.h" namespace v8 { namespace internal { @@ -61,4 +61,4 @@ class ApiNatives { } // namespace internal } // namespace v8 -#endif // V8_API_NATIVES_H_ +#endif // V8_API_API_NATIVES_H_ diff --git a/deps/v8/src/api.cc b/deps/v8/src/api/api.cc similarity index 92% rename from deps/v8/src/api.cc rename to deps/v8/src/api/api.cc index dc92ff2e79a85b..399aca7eb61dff 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api/api.cc @@ -2,58 +2,62 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "src/api.h" +#include "src/api/api.h" #include // For memcpy, strlen. #include // For isnan. #include #include -#include "src/api-inl.h" +#include "src/api/api-inl.h" #include "include/v8-profiler.h" #include "include/v8-testing.h" #include "include/v8-util.h" -#include "src/accessors.h" -#include "src/api-natives.h" -#include "src/assert-scope.h" +#include "src/api/api-natives.h" #include "src/base/functional.h" #include "src/base/logging.h" #include "src/base/platform/platform.h" #include "src/base/platform/time.h" #include "src/base/safe_conversions.h" #include "src/base/utils/random-number-generator.h" -#include "src/bootstrapper.h" +#include "src/builtins/accessors.h" #include "src/builtins/builtins-utils.h" -#include "src/char-predicates-inl.h" +#include "src/codegen/compiler.h" +#include "src/codegen/cpu-features.h" +#include "src/common/assert-scope.h" +#include "src/common/globals.h" #include "src/compiler-dispatcher/compiler-dispatcher.h" -#include "src/compiler.h" -#include "src/contexts.h" -#include "src/conversions-inl.h" -#include "src/counters.h" -#include "src/cpu-features.h" -#include "src/date.h" +#include "src/date/date.h" #include "src/debug/debug-coverage.h" #include "src/debug/debug-evaluate.h" #include "src/debug/debug-type-profile.h" #include "src/debug/debug.h" #include "src/debug/liveedit.h" -#include "src/deoptimizer.h" -#include "src/detachable-vector.h" -#include "src/execution.h" -#include "src/frames-inl.h" -#include "src/gdb-jit.h" -#include "src/global-handles.h" -#include "src/globals.h" +#include "src/deoptimizer/deoptimizer.h" +#include "src/diagnostics/gdb-jit.h" +#include "src/execution/execution.h" +#include "src/execution/frames-inl.h" +#include "src/execution/isolate-inl.h" +#include "src/execution/messages.h" +#include "src/execution/microtask-queue.h" +#include "src/execution/runtime-profiler.h" +#include "src/execution/simulator.h" +#include "src/execution/v8threads.h" +#include "src/execution/vm-state-inl.h" +#include "src/handles/global-handles.h" +#include "src/heap/embedder-tracing.h" #include "src/heap/heap-inl.h" -#include "src/icu_util.h" -#include "src/isolate-inl.h" -#include "src/json-parser.h" -#include "src/json-stringifier.h" -#include "src/messages.h" -#include "src/microtask-queue.h" -#include "src/objects-inl.h" +#include "src/init/bootstrapper.h" +#include "src/init/icu_util.h" +#include "src/init/startup-data-util.h" +#include "src/init/v8.h" +#include "src/json/json-parser.h" +#include "src/json/json-stringifier.h" +#include "src/logging/counters.h" +#include "src/numbers/conversions-inl.h" #include "src/objects/api-callbacks.h" +#include "src/objects/contexts.h" #include "src/objects/embedder-data-array-inl.h" #include "src/objects/embedder-data-slot-inl.h" #include "src/objects/frame-array-inl.h" @@ -65,44 +69,41 @@ #include "src/objects/js-promise-inl.h" #include "src/objects/js-regexp-inl.h" #include "src/objects/module-inl.h" +#include "src/objects/objects-inl.h" #include "src/objects/oddball.h" #include "src/objects/ordered-hash-table-inl.h" +#include "src/objects/property-descriptor.h" +#include "src/objects/property-details.h" +#include "src/objects/property.h" +#include "src/objects/prototype.h" #include "src/objects/slots.h" #include "src/objects/smi.h" #include "src/objects/stack-frame-info-inl.h" #include "src/objects/templates.h" +#include "src/objects/value-serializer.h" #include "src/parsing/parse-info.h" #include "src/parsing/parser.h" +#include "src/parsing/pending-compilation-error-handler.h" #include "src/parsing/scanner-character-streams.h" -#include "src/pending-compilation-error-handler.h" #include "src/profiler/cpu-profiler.h" #include "src/profiler/heap-profiler.h" #include "src/profiler/heap-snapshot-generator-inl.h" #include "src/profiler/profile-generator-inl.h" #include "src/profiler/tick-sample.h" -#include "src/property-descriptor.h" -#include "src/property-details.h" -#include "src/property.h" -#include "src/prototype.h" -#include "src/runtime-profiler.h" #include "src/runtime/runtime.h" -#include "src/simulator.h" #include "src/snapshot/code-serializer.h" #include "src/snapshot/natives.h" #include "src/snapshot/partial-serializer.h" #include "src/snapshot/read-only-serializer.h" #include "src/snapshot/snapshot.h" #include "src/snapshot/startup-serializer.h" -#include "src/startup-data-util.h" -#include "src/string-hasher.h" +#include "src/strings/char-predicates-inl.h" +#include "src/strings/string-hasher.h" +#include "src/strings/unicode-inl.h" #include "src/tracing/trace-event.h" #include "src/trap-handler/trap-handler.h" -#include "src/unicode-inl.h" -#include "src/v8.h" -#include "src/v8threads.h" -#include "src/value-serializer.h" -#include "src/version.h" -#include "src/vm-state-inl.h" +#include "src/utils/detachable-vector.h" +#include "src/utils/version.h" #include "src/wasm/streaming-decoder.h" #include "src/wasm/wasm-engine.h" #include "src/wasm/wasm-objects-inl.h" @@ -121,7 +122,7 @@ #include "include/v8-wasm-trap-handler-win.h" #include "src/trap-handler/handler-inside-win.h" #if V8_TARGET_ARCH_X64 -#include "src/unwinding-info-win64.h" +#include "src/diagnostics/unwinding-info-win64.h" #endif // V8_TARGET_ARCH_X64 #endif // V8_OS_WIN @@ -239,7 +240,6 @@ namespace v8 { #define RETURN_TO_LOCAL_UNCHECKED(maybe_local, T) \ return maybe_local.FromMaybe(Local()); - #define RETURN_ESCAPED(value) return handle_scope.Escape(value); namespace { @@ -286,7 +286,7 @@ class CallDepthScope { i::Handle env = Utils::OpenHandle(*context); i::HandleScopeImplementer* impl = isolate->handle_scope_implementer(); if (!isolate->context().is_null() && - isolate->context()->native_context() == env->native_context()) { + isolate->context().native_context() == env->native_context()) { context_ = Local(); } else { impl->SaveContext(isolate->context()); @@ -302,7 +302,7 @@ class CallDepthScope { isolate_->set_context(impl->RestoreContext()); i::Handle env = Utils::OpenHandle(*context_); - microtask_queue = env->native_context()->microtask_queue(); + microtask_queue = env->native_context().microtask_queue(); } if (!escaped_) isolate_->handle_scope_implementer()->DecrementCallDepth(); if (do_callback) isolate_->FireCallCompletedCallback(microtask_queue); @@ -335,7 +335,6 @@ class CallDepthScope { } // namespace - static ScriptOrigin GetScriptOriginForScript(i::Isolate* isolate, i::Handle script) { i::Handle scriptName(script->GetNameOrSourceURL(), isolate); @@ -358,7 +357,6 @@ static ScriptOrigin GetScriptOriginForScript(i::Isolate* isolate, return origin; } - // --- E x c e p t i o n B e h a v i o r --- void i::FatalProcessOutOfMemory(i::Isolate* isolate, const char* location) { @@ -462,7 +460,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* isolate, const char* location, FATAL("API fatal error handler returned after process out of memory"); } - void Utils::ReportApiFailure(const char* location, const char* message) { i::Isolate* isolate = i::Isolate::Current(); FatalErrorCallback callback = nullptr; @@ -510,12 +507,10 @@ static inline bool IsExecutionTerminatingCheck(i::Isolate* isolate) { return false; } - void V8::SetNativesDataBlob(StartupData* natives_blob) { i::V8::SetNativesBlob(natives_blob); } - void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { i::V8::SetSnapshotBlob(snapshot_blob); } @@ -648,7 +643,7 @@ size_t SnapshotCreator::AddData(i::Address object) { i::HandleScope scope(isolate); i::Handle obj(i::Object(object), isolate); i::Handle list; - if (!isolate->heap()->serialized_objects()->IsArrayList()) { + if (!isolate->heap()->serialized_objects().IsArrayList()) { list = i::ArrayList::New(isolate, 1); } else { list = i::Handle( @@ -668,7 +663,7 @@ size_t SnapshotCreator::AddData(Local context, i::Address object) { i::HandleScope scope(isolate); i::Handle obj(i::Object(object), isolate); i::Handle list; - if (!ctx->serialized_objects()->IsArrayList()) { + if (!ctx->serialized_objects().IsArrayList()) { list = i::ArrayList::New(isolate, 1); } else { list = i::Handle( @@ -684,7 +679,7 @@ namespace { void ConvertSerializedObjectsToFixedArray(Local context) { i::Handle ctx = Utils::OpenHandle(*context); i::Isolate* isolate = ctx->GetIsolate(); - if (!ctx->serialized_objects()->IsArrayList()) { + if (!ctx->serialized_objects().IsArrayList()) { ctx->set_serialized_objects(i::ReadOnlyRoots(isolate).empty_fixed_array()); } else { i::Handle list(i::ArrayList::cast(ctx->serialized_objects()), @@ -695,7 +690,7 @@ void ConvertSerializedObjectsToFixedArray(Local context) { } void ConvertSerializedObjectsToFixedArray(i::Isolate* isolate) { - if (!isolate->heap()->serialized_objects()->IsArrayList()) { + if (!isolate->heap()->serialized_objects().IsArrayList()) { isolate->heap()->SetSerializedObjects( i::ReadOnlyRoots(isolate).empty_fixed_array()); } else { @@ -737,7 +732,7 @@ StartupData SnapshotCreator::CreateBlob( i::Handle context = v8::Utils::OpenHandle(*data->contexts_.Get(i)); global_proxy_sizes->set(i, - i::Smi::FromInt(context->global_proxy()->Size())); + i::Smi::FromInt(context->global_proxy().Size())); } isolate->heap()->SetSerializedGlobalProxySizes(*global_proxy_sizes); } @@ -754,8 +749,6 @@ StartupData SnapshotCreator::CreateBlob( isolate->heap()->CompactWeakArrayLists(internal::AllocationType::kOld); } - isolate->heap()->read_only_space()->ClearStringPaddingIfNeeded(); - if (function_code_handling == FunctionCodeHandling::kClear) { // Clear out re-compilable data from all shared function infos. Any // JSFunctions using these SFIs will have their code pointers reset by the @@ -774,16 +767,16 @@ StartupData SnapshotCreator::CreateBlob( i::HeapIterator heap_iterator(isolate->heap()); for (i::HeapObject current_obj = heap_iterator.next(); !current_obj.is_null(); current_obj = heap_iterator.next()) { - if (current_obj->IsSharedFunctionInfo()) { + if (current_obj.IsSharedFunctionInfo()) { i::SharedFunctionInfo shared = i::SharedFunctionInfo::cast(current_obj); - if (shared->CanDiscardCompiled()) { + if (shared.CanDiscardCompiled()) { sfis_to_clear.emplace_back(shared, isolate); } - } else if (current_obj->IsJSRegExp()) { + } else if (current_obj.IsJSRegExp()) { i::JSRegExp regexp = i::JSRegExp::cast(current_obj); - if (regexp->HasCompiledCode()) { - regexp->DiscardCompiledCodeForSerialization(); + if (regexp.HasCompiledCode()) { + regexp.DiscardCompiledCodeForSerialization(); } } } @@ -820,23 +813,22 @@ StartupData SnapshotCreator::CreateBlob( i::HeapIterator heap_iterator(isolate->heap()); for (i::HeapObject current_obj = heap_iterator.next(); !current_obj.is_null(); current_obj = heap_iterator.next()) { - if (current_obj->IsJSFunction()) { + if (current_obj.IsJSFunction()) { i::JSFunction fun = i::JSFunction::cast(current_obj); // Complete in-object slack tracking for all functions. - fun->CompleteInobjectSlackTrackingIfActive(); + fun.CompleteInobjectSlackTrackingIfActive(); // Also, clear out feedback vectors, or any optimized code. - if (!fun->raw_feedback_cell()->value()->IsUndefined()) { - fun->raw_feedback_cell()->set_value( + if (!fun.raw_feedback_cell().value().IsUndefined()) { + fun.raw_feedback_cell().set_value( i::ReadOnlyRoots(isolate).undefined_value()); - fun->set_code(isolate->builtins()->builtin(i::Builtins::kCompileLazy)); + fun.set_code(isolate->builtins()->builtin(i::Builtins::kCompileLazy)); } if (function_code_handling == FunctionCodeHandling::kClear) { - DCHECK(fun->shared()->HasWasmExportedFunctionData() || - fun->shared()->HasBuiltinId() || - fun->shared()->IsApiFunction() || - fun->shared()->HasUncompiledDataWithoutPreparseData()); + DCHECK(fun.shared().HasWasmExportedFunctionData() || + fun.shared().HasBuiltinId() || fun.shared().IsApiFunction() || + fun.shared().HasUncompiledDataWithoutPreparseData()); } } } @@ -896,11 +888,19 @@ void V8::SetDcheckErrorHandler(DcheckErrorCallback that) { v8::base::SetDcheckFunction(that); } -void V8::SetFlagsFromString(const char* str, int length) { +void V8::SetFlagsFromString(const char* str) { + SetFlagsFromString(str, strlen(str)); +} + +void V8::SetFlagsFromString(const char* str, size_t length) { i::FlagList::SetFlagsFromString(str, length); i::FlagList::EnforceFlagImplications(); } +void V8::SetFlagsFromString(const char* str, int length) { + CHECK_LE(0, length); + SetFlagsFromString(str, static_cast(length)); +} void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) { i::FlagList::SetFlagsFromCommandLine(argc, argv, remove_flags); @@ -950,15 +950,12 @@ void RegisterExtension(std::unique_ptr extension) { RegisteredExtension::Register(std::move(extension)); } -Extension::Extension(const char* name, - const char* source, - int dep_count, - const char** deps, - int source_length) +Extension::Extension(const char* name, const char* source, int dep_count, + const char** deps, int source_length) : name_(name), - source_length_(source_length >= 0 ? - source_length : - (source ? static_cast(strlen(source)) : 0)), + source_length_(source_length >= 0 + ? source_length + : (source ? static_cast(strlen(source)) : 0)), dep_count_(dep_count), deps_(deps), auto_enable_(false) { @@ -1009,7 +1006,7 @@ i::Address* V8::GlobalizeReference(i::Isolate* isolate, i::Address* obj) { i::Handle result = isolate->global_handles()->Create(*obj); #ifdef VERIFY_HEAP if (i::FLAG_verify_heap) { - i::Object(*obj)->ObjectVerify(isolate); + i::Object(*obj).ObjectVerify(isolate); } #endif // VERIFY_HEAP return result.location(); @@ -1022,7 +1019,7 @@ i::Address* V8::GlobalizeTracedReference(i::Isolate* isolate, i::Address* obj, isolate->global_handles()->CreateTraced(*obj, slot); #ifdef VERIFY_HEAP if (i::FLAG_verify_heap) { - i::Object(*obj)->ObjectVerify(isolate); + i::Object(*obj).ObjectVerify(isolate); } #endif // VERIFY_HEAP return result.location(); @@ -1042,11 +1039,6 @@ void V8::MoveTracedGlobalReference(internal::Address** from, i::GlobalHandles::MoveTracedGlobal(from, to); } -void V8::RegisterExternallyReferencedObject(i::Address* location, - i::Isolate* isolate) { - isolate->heap()->RegisterExternallyReferencedObject(location); -} - void V8::MakeWeak(i::Address* location, void* parameter, WeakCallbackInfo::Callback weak_callback, WeakCallbackType type) { @@ -1089,12 +1081,10 @@ Value* V8::Eternalize(Isolate* v8_isolate, Value* value) { isolate->eternal_handles()->Get(index).location()); } - void V8::FromJustIsNothing() { Utils::ApiCheck(false, "v8::FromJust", "Maybe value is Nothing."); } - void V8::ToLocalEmpty() { Utils::ApiCheck(false, "v8::ToLocalChecked", "Empty MaybeLocal."); } @@ -1105,14 +1095,9 @@ void V8::InternalFieldOutOfBounds(int index) { "Internal field out of bounds."); } - // --- H a n d l e s --- - -HandleScope::HandleScope(Isolate* isolate) { - Initialize(isolate); -} - +HandleScope::HandleScope(Isolate* isolate) { Initialize(isolate); } void HandleScope::Initialize(Isolate* isolate) { i::Isolate* internal_isolate = reinterpret_cast(isolate); @@ -1134,7 +1119,6 @@ void HandleScope::Initialize(Isolate* isolate) { current->level++; } - HandleScope::~HandleScope() { i::HandleScope::CloseScope(isolate_, prev_next_, prev_limit_); } @@ -1156,16 +1140,16 @@ i::Address* HandleScope::CreateHandle(i::Isolate* isolate, i::Address value) { EscapableHandleScope::EscapableHandleScope(Isolate* v8_isolate) { i::Isolate* isolate = reinterpret_cast(v8_isolate); escape_slot_ = - CreateHandle(isolate, i::ReadOnlyRoots(isolate).the_hole_value()->ptr()); + CreateHandle(isolate, i::ReadOnlyRoots(isolate).the_hole_value().ptr()); Initialize(v8_isolate); } i::Address* EscapableHandleScope::Escape(i::Address* escape_value) { i::Heap* heap = reinterpret_cast(GetIsolate())->heap(); - Utils::ApiCheck(i::Object(*escape_slot_)->IsTheHole(heap->isolate()), + Utils::ApiCheck(i::Object(*escape_slot_).IsTheHole(heap->isolate()), "EscapableHandleScope::Escape", "Escape value set twice"); if (escape_value == nullptr) { - *escape_slot_ = i::ReadOnlyRoots(heap).undefined_value()->ptr(); + *escape_slot_ = i::ReadOnlyRoots(heap).undefined_value().ptr(); return nullptr; } *escape_slot_ = *escape_value; @@ -1188,7 +1172,6 @@ SealHandleScope::SealHandleScope(Isolate* isolate) current->sealed_level = current->level; } - SealHandleScope::~SealHandleScope() { i::HandleScopeData* current = isolate_->handle_scope_data(); DCHECK_EQ(current->next, current->limit); @@ -1256,11 +1239,9 @@ static i::Handle EmbedderDataFor(Context* context, const char* location) { i::Handle env = Utils::OpenHandle(context); i::Isolate* isolate = env->GetIsolate(); - bool ok = - Utils::ApiCheck(env->IsNativeContext(), - location, - "Not a native context") && - Utils::ApiCheck(index >= 0, location, "Negative index"); + bool ok = Utils::ApiCheck(env->IsNativeContext(), location, + "Not a native context") && + Utils::ApiCheck(index >= 0, location, "Negative index"); if (!ok) return i::Handle(); // TODO(ishell): remove cast once embedder_data slot has a proper type. i::Handle data( @@ -1280,7 +1261,7 @@ uint32_t Context::GetNumberOfEmbedderDataFields() { CHECK(context->IsNativeContext()); // TODO(ishell): remove cast once embedder_data slot has a proper type. return static_cast( - i::EmbedderDataArray::cast(context->embedder_data())->length()); + i::EmbedderDataArray::cast(context->embedder_data()).length()); } v8::Local Context::SlowGetEmbedderData(int index) { @@ -1294,7 +1275,6 @@ v8::Local Context::SlowGetEmbedderData(int index) { return Utils::ToLocal(result); } - void Context::SetEmbedderData(int index, v8::Local value) { const char* location = "v8::Context::SetEmbedderData()"; i::Handle data = @@ -1306,7 +1286,6 @@ void Context::SetEmbedderData(int index, v8::Local value) { *Utils::OpenHandle(*GetEmbedderData(index))); } - void* Context::SlowGetAlignedPointerFromEmbedderData(int index) { const char* location = "v8::Context::GetAlignedPointerFromEmbedderData()"; i::Handle data = @@ -1318,7 +1297,6 @@ void* Context::SlowGetAlignedPointerFromEmbedderData(int index) { return result; } - void Context::SetAlignedPointerInEmbedderData(int index, void* value) { const char* location = "v8::Context::SetAlignedPointerInEmbedderData()"; i::Handle data = @@ -1328,16 +1306,13 @@ void Context::SetAlignedPointerInEmbedderData(int index, void* value) { DCHECK_EQ(value, GetAlignedPointerFromEmbedderData(index)); } - // --- T e m p l a t e --- - static void InitializeTemplate(i::Handle that, int type) { that->set_number_of_properties(0); that->set_tag(i::Smi::FromInt(type)); } - void Template::Set(v8::Local name, v8::Local value, v8::PropertyAttribute attribute) { auto templ = Utils::OpenHandle(this); @@ -1363,12 +1338,11 @@ void Template::SetPrivate(v8::Local name, v8::Local value, attribute); } -void Template::SetAccessorProperty( - v8::Local name, - v8::Local getter, - v8::Local setter, - v8::PropertyAttribute attribute, - v8::AccessControl access_control) { +void Template::SetAccessorProperty(v8::Local name, + v8::Local getter, + v8::Local setter, + v8::PropertyAttribute attribute, + v8::AccessControl access_control) { // TODO(verwaest): Remove |access_control|. DCHECK_EQ(v8::DEFAULT, access_control); auto templ = Utils::OpenHandle(this); @@ -1383,7 +1357,6 @@ void Template::SetAccessorProperty( static_cast(attribute)); } - // --- F u n c t i o n T e m p l a t e --- static void InitializeFunctionTemplate( i::Handle info) { @@ -1416,8 +1389,8 @@ void FunctionTemplate::SetPrototypeProviderTemplate( ENTER_V8_NO_SCRIPT_NO_EXCEPTION(i_isolate); i::Handle result = Utils::OpenHandle(*prototype_provider); auto info = Utils::OpenHandle(this); - CHECK(info->GetPrototypeTemplate()->IsUndefined(i_isolate)); - CHECK(info->GetParentTemplate()->IsUndefined(i_isolate)); + CHECK(info->GetPrototypeTemplate().IsUndefined(i_isolate)); + CHECK(info->GetParentTemplate().IsUndefined(i_isolate)); i::FunctionTemplateInfo::SetPrototypeProviderTemplate(i_isolate, info, result); } @@ -1428,13 +1401,12 @@ static void EnsureNotInstantiated(i::Handle info, "FunctionTemplate already instantiated"); } - void FunctionTemplate::Inherit(v8::Local value) { auto info = Utils::OpenHandle(this); EnsureNotInstantiated(info, "v8::FunctionTemplate::Inherit"); i::Isolate* i_isolate = info->GetIsolate(); ENTER_V8_NO_SCRIPT_NO_EXCEPTION(i_isolate); - CHECK(info->GetPrototypeProviderTemplate()->IsUndefined(i_isolate)); + CHECK(info->GetPrototypeProviderTemplate().IsUndefined(i_isolate)); i::FunctionTemplateInfo::SetParentTemplate(i_isolate, info, Utils::OpenHandle(*value)); } @@ -1492,9 +1464,9 @@ MaybeLocal FunctionTemplate::FromSnapshot(Isolate* isolate, i::Isolate* i_isolate = reinterpret_cast(isolate); i::FixedArray serialized_objects = i_isolate->heap()->serialized_objects(); int int_index = static_cast(index); - if (int_index < serialized_objects->length()) { - i::Object info = serialized_objects->get(int_index); - if (info->IsFunctionTemplateInfo()) { + if (int_index < serialized_objects.length()) { + i::Object info = serialized_objects.get(int_index); + if (info.IsFunctionTemplateInfo()) { return Utils::ToLocal(i::Handle( i::FunctionTemplateInfo::cast(info), i_isolate)); } @@ -1518,7 +1490,6 @@ Local Signature::New(Isolate* isolate, return Utils::SignatureToLocal(Utils::OpenHandle(*receiver)); } - Local AccessorSignature::New( Isolate* isolate, Local receiver) { return Utils::AccessorSignatureToLocal(Utils::OpenHandle(*receiver)); @@ -1549,7 +1520,6 @@ void FunctionTemplate::SetCallHandler(FunctionCallback callback, info->set_call_code(*obj); } - namespace { template @@ -1602,7 +1572,7 @@ Local FunctionTemplate::InstanceTemplate() { } i::Isolate* isolate = handle->GetIsolate(); ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate); - if (handle->GetInstanceTemplate()->IsUndefined(isolate)) { + if (handle->GetInstanceTemplate().IsUndefined(isolate)) { Local templ = ObjectTemplate::New(isolate, ToApiHandle(handle)); i::FunctionTemplateInfo::SetInstanceTemplate(isolate, handle, @@ -1613,7 +1583,6 @@ Local FunctionTemplate::InstanceTemplate() { return Utils::ToLocal(result); } - void FunctionTemplate::SetLength(int length) { auto info = Utils::OpenHandle(this); EnsureNotInstantiated(info, "v8::FunctionTemplate::SetLength"); @@ -1622,7 +1591,6 @@ void FunctionTemplate::SetLength(int length) { info->set_length(length); } - void FunctionTemplate::SetClassName(Local name) { auto info = Utils::OpenHandle(this); EnsureNotInstantiated(info, "v8::FunctionTemplate::SetClassName"); @@ -1631,7 +1599,6 @@ void FunctionTemplate::SetClassName(Local name) { info->set_class_name(*Utils::OpenHandle(*name)); } - void FunctionTemplate::SetAcceptAnyReceiver(bool value) { auto info = Utils::OpenHandle(this); EnsureNotInstantiated(info, "v8::FunctionTemplate::SetAcceptAnyReceiver"); @@ -1640,16 +1607,6 @@ void FunctionTemplate::SetAcceptAnyReceiver(bool value) { info->set_accept_any_receiver(value); } - -void FunctionTemplate::SetHiddenPrototype(bool value) { - auto info = Utils::OpenHandle(this); - EnsureNotInstantiated(info, "v8::FunctionTemplate::SetHiddenPrototype"); - auto isolate = info->GetIsolate(); - ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate); - info->set_hidden_prototype(value); -} - - void FunctionTemplate::ReadOnlyPrototype() { auto info = Utils::OpenHandle(this); EnsureNotInstantiated(info, "v8::FunctionTemplate::ReadOnlyPrototype"); @@ -1658,7 +1615,6 @@ void FunctionTemplate::ReadOnlyPrototype() { info->set_read_only_prototype(true); } - void FunctionTemplate::RemovePrototype() { auto info = Utils::OpenHandle(this); EnsureNotInstantiated(info, "v8::FunctionTemplate::RemovePrototype"); @@ -1667,16 +1623,13 @@ void FunctionTemplate::RemovePrototype() { info->set_remove_prototype(true); } - // --- O b j e c t T e m p l a t e --- - Local ObjectTemplate::New( Isolate* isolate, v8::Local constructor) { return New(reinterpret_cast(isolate), constructor); } - static Local ObjectTemplateNew( i::Isolate* isolate, v8::Local constructor, bool do_not_cache) { @@ -1708,9 +1661,9 @@ MaybeLocal ObjectTemplate::FromSnapshot(Isolate* isolate, i::Isolate* i_isolate = reinterpret_cast(isolate); i::FixedArray serialized_objects = i_isolate->heap()->serialized_objects(); int int_index = static_cast(index); - if (int_index < serialized_objects->length()) { - i::Object info = serialized_objects->get(int_index); - if (info->IsObjectTemplateInfo()) { + if (int_index < serialized_objects.length()) { + i::Object info = serialized_objects.get(int_index); + if (info.IsObjectTemplateInfo()) { return Utils::ToLocal(i::Handle( i::ObjectTemplateInfo::cast(info), i_isolate)); } @@ -1721,10 +1674,9 @@ MaybeLocal ObjectTemplate::FromSnapshot(Isolate* isolate, // Ensure that the object template has a constructor. If no // constructor is available we create one. static i::Handle EnsureConstructor( - i::Isolate* isolate, - ObjectTemplate* object_template) { + i::Isolate* isolate, ObjectTemplate* object_template) { i::Object obj = Utils::OpenHandle(object_template)->constructor(); - if (!obj->IsUndefined(isolate)) { + if (!obj.IsUndefined(isolate)) { i::FunctionTemplateInfo info = i::FunctionTemplateInfo::cast(obj); return i::Handle(info, isolate); } @@ -1917,7 +1869,6 @@ void ObjectTemplate::SetHandler( config.flags); } - void ObjectTemplate::MarkAsUndetectable() { i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate); @@ -1927,7 +1878,6 @@ void ObjectTemplate::MarkAsUndetectable() { cons->set_undetectable(true); } - void ObjectTemplate::SetAccessCheckCallback(AccessCheckCallback callback, Local data) { i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); @@ -2057,7 +2007,6 @@ void ObjectTemplate::SetImmutableProto() { // --- S c r i p t s --- - // Internally, UnboundScript is a SharedFunctionInfo, and Script is a // JSFunction. @@ -2068,7 +2017,6 @@ ScriptCompiler::CachedData::CachedData(const uint8_t* data_, int length_, rejected(false), buffer_policy(buffer_policy_) {} - ScriptCompiler::CachedData::~CachedData() { if (buffer_policy == BufferOwned) { delete[] data; @@ -2110,13 +2058,12 @@ int UnboundScript::GetId() { return script->id(); } - int UnboundScript::GetLineNumber(int code_pos) { i::Handle obj = i::Handle::cast(Utils::OpenHandle(this)); i::Isolate* isolate = obj->GetIsolate(); LOG_API(isolate, UnboundScript, GetLineNumber); - if (obj->script()->IsScript()) { + if (obj->script().IsScript()) { i::Handle script(i::Script::cast(obj->script()), isolate); return i::Script::GetLineNumber(script, code_pos); } else { @@ -2124,49 +2071,45 @@ int UnboundScript::GetLineNumber(int code_pos) { } } - Local UnboundScript::GetScriptName() { i::Handle obj = i::Handle::cast(Utils::OpenHandle(this)); i::Isolate* isolate = obj->GetIsolate(); LOG_API(isolate, UnboundScript, GetName); - if (obj->script()->IsScript()) { - i::Object name = i::Script::cast(obj->script())->name(); + if (obj->script().IsScript()) { + i::Object name = i::Script::cast(obj->script()).name(); return Utils::ToLocal(i::Handle(name, isolate)); } else { return Local(); } } - Local UnboundScript::GetSourceURL() { i::Handle obj = i::Handle::cast(Utils::OpenHandle(this)); i::Isolate* isolate = obj->GetIsolate(); LOG_API(isolate, UnboundScript, GetSourceURL); - if (obj->script()->IsScript()) { - i::Object url = i::Script::cast(obj->script())->source_url(); + if (obj->script().IsScript()) { + i::Object url = i::Script::cast(obj->script()).source_url(); return Utils::ToLocal(i::Handle(url, isolate)); } else { return Local(); } } - Local UnboundScript::GetSourceMappingURL() { i::Handle obj = i::Handle::cast(Utils::OpenHandle(this)); i::Isolate* isolate = obj->GetIsolate(); LOG_API(isolate, UnboundScript, GetSourceMappingURL); - if (obj->script()->IsScript()) { - i::Object url = i::Script::cast(obj->script())->source_mapping_url(); + if (obj->script().IsScript()) { + i::Object url = i::Script::cast(obj->script()).source_mapping_url(); return Utils::ToLocal(i::Handle(url, isolate)); } else { return Local(); } } - MaybeLocal Script::Run(Local context) { auto isolate = reinterpret_cast(context->GetIsolate()); TRACE_EVENT_CALL_STATS_SCOPED(isolate, "v8", "V8.Execute"); @@ -2186,7 +2129,6 @@ MaybeLocal Script::Run(Local context) { RETURN_ESCAPED(result); } - Local ScriptOrModule::GetResourceName() { i::Handle obj = Utils::OpenHandle(this); i::Isolate* isolate = obj->GetIsolate(); @@ -2205,8 +2147,8 @@ Local ScriptOrModule::GetHostDefinedOptions() { Local Script::GetUnboundScript() { i::Handle obj = Utils::OpenHandle(this); - i::SharedFunctionInfo sfi = i::JSFunction::cast(*obj)->shared(); - i::Isolate* isolate = sfi->GetIsolate(); + i::SharedFunctionInfo sfi = i::JSFunction::cast(*obj).shared(); + i::Isolate* isolate = sfi.GetIsolate(); return ToApiHandle(i::handle(sfi, isolate)); } @@ -2280,14 +2222,14 @@ Local Module::GetException() const { int Module::GetModuleRequestsLength() const { i::Handle self = Utils::OpenHandle(this); - return self->info()->module_requests()->length(); + return self->info().module_requests().length(); } Local Module::GetModuleRequest(int i) const { CHECK_GE(i, 0); i::Handle self = Utils::OpenHandle(this); i::Isolate* isolate = self->GetIsolate(); - i::Handle module_requests(self->info()->module_requests(), + i::Handle module_requests(self->info().module_requests(), isolate); CHECK_LT(i, module_requests->length()); return ToApiHandle(i::handle(module_requests->get(i), isolate)); @@ -2299,7 +2241,7 @@ Location Module::GetModuleRequestLocation(int i) const { i::HandleScope scope(isolate); i::Handle self = Utils::OpenHandle(this); i::Handle module_request_positions( - self->info()->module_request_positions(), isolate); + self->info().module_request_positions(), isolate); CHECK_LT(i, module_request_positions->length()); int position = i::Smi::ToInt(module_request_positions->get(i)); i::Handle script(self->script(), isolate); @@ -2499,83 +2441,70 @@ MaybeLocal ScriptCompiler::CompileFunctionInContext( Local v8_context, Source* source, size_t arguments_count, Local arguments[], size_t context_extension_count, Local context_extensions[], CompileOptions options, - NoCacheReason no_cache_reason, - Local* script_or_module_out) { - Local result; - - { - PREPARE_FOR_EXECUTION(v8_context, ScriptCompiler, CompileFunctionInContext, - Function); - TRACE_EVENT_CALL_STATS_SCOPED(isolate, "v8", "V8.ScriptCompiler"); - - DCHECK(options == CompileOptions::kConsumeCodeCache || - options == CompileOptions::kEagerCompile || - options == CompileOptions::kNoCompileOptions); - - i::Handle context = Utils::OpenHandle(*v8_context); - - DCHECK(context->IsNativeContext()); + NoCacheReason no_cache_reason) { + PREPARE_FOR_EXECUTION(v8_context, ScriptCompiler, CompileFunctionInContext, + Function); + TRACE_EVENT_CALL_STATS_SCOPED(isolate, "v8", "V8.ScriptCompiler"); - i::Handle arguments_list = - isolate->factory()->NewFixedArray(static_cast(arguments_count)); - for (int i = 0; i < static_cast(arguments_count); i++) { - i::Handle argument = Utils::OpenHandle(*arguments[i]); - if (!IsIdentifier(isolate, argument)) return Local(); - arguments_list->set(i, *argument); - } + DCHECK(options == CompileOptions::kConsumeCodeCache || + options == CompileOptions::kEagerCompile || + options == CompileOptions::kNoCompileOptions); - for (size_t i = 0; i < context_extension_count; ++i) { - i::Handle extension = - Utils::OpenHandle(*context_extensions[i]); - if (!extension->IsJSObject()) return Local(); - context = isolate->factory()->NewWithContext( - context, - i::ScopeInfo::CreateForWithScope( - isolate, - context->IsNativeContext() - ? i::Handle::null() - : i::Handle(context->scope_info(), isolate)), - extension); - } + i::Handle context = Utils::OpenHandle(*v8_context); - i::Compiler::ScriptDetails script_details = GetScriptDetails( - isolate, source->resource_name, source->resource_line_offset, - source->resource_column_offset, source->source_map_url, - source->host_defined_options); + DCHECK(context->IsNativeContext()); + i::Handle outer_info( + context->empty_function().shared(), isolate); + + i::Handle fun; + i::Handle arguments_list = + isolate->factory()->NewFixedArray(static_cast(arguments_count)); + for (int i = 0; i < static_cast(arguments_count); i++) { + i::Handle argument = Utils::OpenHandle(*arguments[i]); + if (!IsIdentifier(isolate, argument)) return Local(); + arguments_list->set(i, *argument); + } + + for (size_t i = 0; i < context_extension_count; ++i) { + i::Handle extension = + Utils::OpenHandle(*context_extensions[i]); + if (!extension->IsJSObject()) return Local(); + context = isolate->factory()->NewWithContext( + context, + i::ScopeInfo::CreateForWithScope( + isolate, + context->IsNativeContext() + ? i::Handle::null() + : i::Handle(context->scope_info(), isolate)), + extension); + } - i::ScriptData* script_data = nullptr; - if (options == kConsumeCodeCache) { - DCHECK(source->cached_data); - // ScriptData takes care of pointer-aligning the data. - script_data = new i::ScriptData(source->cached_data->data, - source->cached_data->length); - } + i::Compiler::ScriptDetails script_details = GetScriptDetails( + isolate, source->resource_name, source->resource_line_offset, + source->resource_column_offset, source->source_map_url, + source->host_defined_options); - i::Handle scoped_result; - has_pending_exception = - !i::Compiler::GetWrappedFunction( - Utils::OpenHandle(*source->source_string), arguments_list, context, - script_details, source->resource_options, script_data, options, - no_cache_reason) - .ToHandle(&scoped_result); - if (options == kConsumeCodeCache) { - source->cached_data->rejected = script_data->rejected(); - } - delete script_data; - RETURN_ON_FAILED_EXECUTION(Function); - result = handle_scope.Escape(Utils::CallableToLocal(scoped_result)); + i::ScriptData* script_data = nullptr; + if (options == kConsumeCodeCache) { + DCHECK(source->cached_data); + // ScriptData takes care of pointer-aligning the data. + script_data = new i::ScriptData(source->cached_data->data, + source->cached_data->length); } - if (script_or_module_out != nullptr) { - i::Handle function = - i::Handle::cast(Utils::OpenHandle(*result)); - i::Isolate* isolate = function->GetIsolate(); - i::Handle shared(function->shared(), isolate); - i::Handle script(i::Script::cast(shared->script()), isolate); - *script_or_module_out = v8::Utils::ScriptOrModuleToLocal(script); + i::Handle result; + has_pending_exception = + !i::Compiler::GetWrappedFunction( + Utils::OpenHandle(*source->source_string), arguments_list, context, + script_details, source->resource_options, script_data, options, + no_cache_reason) + .ToHandle(&result); + if (options == kConsumeCodeCache) { + source->cached_data->rejected = script_data->rejected(); } - - return result; + delete script_data; + RETURN_ON_FAILED_EXECUTION(Function); + RETURN_ESCAPED(Utils::CallableToLocal(result)); } void ScriptCompiler::ScriptStreamingTask::Run() { data_->task->Run(); } @@ -2674,7 +2603,6 @@ MaybeLocal