Upgrade V8 to 8.8.278.14

Bug: 162604069
Bug: 167389063
Test: gts-tradefed run gts-dev --module GtsGmscoreHostTestCases
      --test com.google.android.gts.devicepolicy.DeviceOwnerTest#testProxyPacProxyTest
Test: m -j proxy_resolver_v8_unittest && adb sync && adb shell \
      /data/nativetest/proxy_resolver_v8_unittest/proxy_resolver_v8_unittest

Change-Id: Ifb09923b9d7f6d8990fb062d7dc0294edf2c098e
diff --git a/AUTHORS b/AUTHORS
index 898bc8f..72e4504 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -15,14 +15,19 @@
 BlackBerry Limited <*@blackberry.com>
 Opera Software ASA <*@opera.com>
 Intel Corporation <*@intel.com>
+LG Electronics, Inc. <*@lge.com>
+Microsoft <*@microsoft.com>
 MIPS Technologies, Inc. <*@mips.com>
 Imagination Technologies, LLC <*@imgtec.com>
 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>
+Red Hat Inc. <*@redhat.com>
 Samsung <*@*.samsung.com>
+Samsung <*@samsung.com>
 Joyent, Inc <*@joyent.com>
 RT-RK Computer Based System <*@rt-rk.com>
 Amazon, Inc <*@amazon.com>
@@ -35,22 +40,31 @@
 Groupon <*@groupon.com>
 Meteor Development Group <*@meteor.com>
 Cloudflare, Inc. <*@cloudflare.com>
+Julia Computing, Inc. <*@juliacomputing.com>
+CodeWeavers, Inc. <*@codeweavers.com>
 
 Aaron Bieber <deftly@gmail.com>
+Aaron O'Mullan <aaron.omullan@gmail.com>
 Abdulla Kamar <abdulla.kamar@gmail.com>
+Adam Kallai <kadam@inf.u-szeged.hu>
 Akinori MUSHA <knu@FreeBSD.org>
+Alessandro Pignotti <alessandro@leaningtech.com>
 Alex Kodat <akodat@rocketsoftware.com>
 Alexander Botero-Lowry <alexbl@FreeBSD.org>
 Alexander Karpinsky <homm86@gmail.com>
+Alexander Neville <dark@volatile.bz>
 Alexandre Vassalotti <avassalotti@gmail.com>
 Alexis Campailla <alexis@janeasystems.com>
+Allan Sandfeld Jensen <allan.jensen@qt.io>
 Amos Lim <eui-sang.lim@samsung.com>
 Andreas Anyuru <andreas.anyuru@gmail.com>
 Andrew Paprocki <andrew@ishiboo.com>
 Andrei Kashcha <anvaka@gmail.com>
 Anna Henningsen <anna@addaleax.net>
+Anton Bikineev <ant.bikineev@gmail.com>
 Bangfu Tao <bangfu.tao@samsung.com>
-Ben Coe <ben@npmjs.com>
+Daniel Shelton <d1.shelton@samsung.com>
+Ben Coe <bencoe@gmail.com>
 Ben Newman <ben@meteor.com>
 Ben Noordhuis <info@bnoordhuis.nl>
 Benjamin Tan <demoneaux@gmail.com>
@@ -58,17 +72,24 @@
 Burcu Dogan <burcujdogan@gmail.com>
 Caitlin Potter <caitpotter88@gmail.com>
 Craig Schlenter <craig.schlenter@gmail.com>
+Charles Kerr <charles@charleskerr.com>
+Chengzhong Wu <legendecas@gmail.com>
 Choongwoo Han <cwhan.tunz@gmail.com>
 Chris Nardi <hichris123@gmail.com>
 Christopher A. Taylor <chris@gameclosure.com>
 Colin Ihrig <cjihrig@gmail.com>
+Cong Zuo <zckevinzc@gmail.com>
 Daniel Andersson <kodandersson@gmail.com>
 Daniel Bevenius <daniel.bevenius@gmail.com>
 Daniel James <dnljms@gmail.com>
+David Carlier <devnexen@gmail.com>
+David Manouchehri <david@davidmanouchehri.com>
+Deepak Mohan <hop2deep@gmail.com>
 Deon Dior <diaoyuanjie@gmail.com>
 Dominic Farolini <domfarolino@gmail.com>
 Douglas Crosher <dtc-v8@scieneer.com>
 Dusan Milosavljevic <dusan.m.milosavljevic@gmail.com>
+Eric Rannaud <eric.rannaud@gmail.com>
 Erich Ocean <erich.ocean@me.com>
 Evan Lucas <evan.lucas@help.com>
 Fedor Indutny <fedor@indutny.com>
@@ -77,26 +98,37 @@
 Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
 Geoffrey Garside <ggarside@gmail.com>
 Gergely Nagy <ngg@ngg.hu>
+Gilang Mentari Hamidy <gilang@hamidy.net>
 Gus Caplan <me@gus.host>
 Gwang Yoon Hwang <ryumiel@company100.net>
+Hannu Trey <hannu.trey@gmail.com>
 Henrique Ferreiro <henrique.ferreiro@gmail.com>
 Hirofumi Mako <mkhrfm@gmail.com>
 Honggyu Kim <honggyu.kp@gmail.com>
+Huáng Jùnliàng <jlhwung@gmail.com>
+HyeockJin Kim <kherootz@gmail.com>
+Iain Ireland <iireland@mozilla.com>
 Ingvar Stepanyan <me@rreverser.com>
 Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>
 Isiah Meadows <impinball@gmail.com>
 Jaime Bernardo <jaime@janeasystems.com>
 Jan de Mooij <jandemooij@gmail.com>
 Jan Krems <jan.krems@gmail.com>
+Janusz Majnert <jmajnert@gmail.com>
 Jay Freeman <saurik@saurik.com>
 James Pike <g00gle@chilon.net>
 James M Snell <jasnell@gmail.com>
+Javad Amiri <javad.amiri@anu.edu.au>
 Jianghua Yang <jianghua.yjh@alibaba-inc.com>
+Jiawen Geng <technicalcute@gmail.com>
+Jiaxun Yang <jiaxun.yang@flygoat.com>
 Joel Stanley <joel@jms.id.au>
 Johan Bergström <johan@bergstroem.nu>
 Jonathan Liu <net147@gmail.com>
 Julien Brianceau <jbriance@cisco.com>
+Junha Park <jpark3@scu.edu>
 JunHo Seo <sejunho@gmail.com>
+Junming Huang <kiminghjm@gmail.com>
 Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
 Karl Skomski <karl@skomski.com>
 Kevin Gibbons <bakkot@gmail.com>
@@ -106,48 +138,67 @@
 Luis Reis <luis.m.reis@gmail.com>
 Luke Zarko <lukezarko@gmail.com>
 Maciej Małecki <me@mmalecki.com>
+Marcel Laverdet <marcel@laverdet.com>
 Marcin Cieślak <saper@marcincieslak.com>
 Marcin Wiącek <marcin@mwiacek.com>
+Martin Bidlingmaier <martin.bidlingmaier@gmail.com>
 Mateusz Czeladka <mateusz.szczap@gmail.com>
-Matheus Marchini <matheus@sthima.com.br>
+Matheus Marchini <mat@mmarchini.me>
+Matheus Marchini <mmarchini@netflix.com>
 Mathias Bynens <mathias@qiwi.be>
 Matt Hanselman <mjhanselman@gmail.com>
 Matthew Sporleder <msporleder@gmail.com>
+Maxim Mazurok <maxim@mazurok.com>
 Maxim Mossienko <maxim.mossienko@gmail.com>
 Michael Lutz <michi@icosahedron.de>
+Michael Mclaughlin <m8ch88l@gmail.com>
 Michael Smith <mike@w3.org>
 Michaël Zasso <mic.besace@gmail.com>
 Mike Gilbert <floppymaster@gmail.com>
 Mike Pennisi <mike@mikepennisi.com>
 Mikhail Gusarov <dottedmag@dottedmag.net>
 Milton Chiang <milton.chiang@mediatek.com>
+Mu Tao <pamilty@gmail.com>
 Myeong-bo Shim <m0609.shim@samsung.com>
 Nicolas Antonius Ernst Leopold Maria Kaiser <nikai@nikai.net>
 Niklas Hambüchen <mail@nh2.me>
 Noj Vek <nojvek@gmail.com>
 Oleksandr Chekhovskyi <oleksandr.chekhovskyi@gmail.com>
+Oliver Dunk <oliver@oliverdunk.com>
 Paolo Giarrusso <p.giarrusso@gmail.com>
 Patrick Gansterer <paroga@paroga.com>
+Peng Fei <pfgenyun@gmail.com>
+Peng-Yu Chen <pengyu@libstarrify.so>
 Peter Rybin <peter.rybin@gmail.com>
 Peter Varga <pvarga@inf.u-szeged.hu>
 Peter Wong <peter.wm.wong@gmail.com>
 Paul Lind <plind44@gmail.com>
+Pavel Medvedev <pmedvedev@gmail.com>
+PhistucK <phistuck@gmail.com>
 Qingyan Li <qingyan.liqy@alibaba-inc.com>
 Qiuyi Zhang <qiuyi.zqy@alibaba-inc.com>
 Rafal Krypa <rafal@krypa.net>
+Raul Tambre <raul@tambre.ee>
 Ray Glover <ray@rayglover.net>
 Refael Ackermann <refack@gmail.com>
 Rene Rebe <rene@exactcode.de>
 Rick Waldron <waldron.rick@gmail.com>
 Rob Wu <rob@robwu.nl>
+Robert Meijer <robert.s.meijer@gmail.com>
 Robert Mustacchi <rm@fingolfin.org>
 Robert Nagy <robert.nagy@gmail.com>
+Robert O'Callahan <rocallahan@gmail.com>
+Rong Wang <wangrong089@gmail.com>
+Ross Kirsling <rkirsling@gmail.com>
+Ruben Bridgewater <ruben@bridgewater.de>
 Ryan Dahl <ry@tinyclouds.org>
 Sakthipriyan Vairamani (thefourtheye) <thechargingvolcano@gmail.com>
 Sander Mathijs van Veen <sander@leaningtech.com>
 Sandro Santilli <strk@keybit.net>
 Sanjoy Das <sanjoy@playingwithpointers.com>
 Seo Sanghyeon <sanxiyn@gmail.com>
+Shawn Anastasio <shawnanastasio@gmail.com>
+Shawn Presser <shawnpresser@gmail.com>
 Stefan Penner <stefan.penner@gmail.com>
 Sylvestre Ledru <sledru@mozilla.com>
 Taketoshi Aono <brn@b6n.ch>
@@ -156,14 +207,25 @@
 Tobias Burnus <burnus@net-b.de>
 Tobias Nießen <tniessen@tnie.de>
 Ujjwal Sharma <usharma1998@gmail.com>
+Vadim Gorbachev <bmsdave@gmail.com>
+Varun Varada <varuncvarada@gmail.com>
 Victor Costan <costan@gmail.com>
 Vlad Burlik <vladbph@gmail.com>
 Vladimir Krivosheev <develar@gmail.com>
 Vladimir Shutoff <vovan@shutoff.ru>
+Wenlu Wang <kingwenlu@gmail.com>
 Wiktor Garbacz <wiktor.garbacz@gmail.com>
+Wouter Vermeiren <wouter.vermeiren@essensium.com>
 Xiaoyin Liu <xiaoyin.l@outlook.com>
+Yanbo Li <lybvinci@gmail.com>
+Yannic Bonenberger <contact@yannic-bonenberger.com>
 Yong Wang <ccyongwang@tencent.com>
+Youfeng Hao <ajihyf@gmail.com>
 Yu Yin <xwafish@gmail.com>
 Zac Hansen <xaxxon@gmail.com>
+Zeynep Cankara <zeynepcankara402@gmail.com>
+Zhao Jiazhong <kyslie3100@gmail.com>
 Zhongping Wang <kewpie.w.zp@gmail.com>
 柳荣一 <admin@web-tinker.com>
+Tianping Yang <yangtianping@oppo.com>
+Takeshi Yoneda <takeshi@tetrate.io>
diff --git a/Android.base.bp b/Android.base.bp
index e4a18a1..3388444 100644
--- a/Android.base.bp
+++ b/Android.base.bp
@@ -1,43 +1,659 @@
 // GENERATED, do not edit
 // for changes, see genmakefiles.py
 cc_library_static {
-    name: "libv8base",
-    defaults: ["v8_defaults"],
-    host_supported: true,
-    srcs: [
-        "src/base/bits.cc",
-        "src/base/cpu.cc",
-        "src/base/debug/stack_trace.cc",
-        "src/base/division-by-constant.cc",
-        "src/base/file-utils.cc",
-        "src/base/functional.cc",
-        "src/base/ieee754.cc",
-        "src/base/logging.cc",
-        "src/base/once.cc",
-        "src/base/page-allocator.cc",
-        "src/base/platform/condition-variable.cc",
-        "src/base/platform/mutex.cc",
-        "src/base/platform/platform-posix-time.cc",
-        "src/base/platform/platform-posix.cc",
-        "src/base/platform/semaphore.cc",
-        "src/base/platform/time.cc",
-        "src/base/sys-info.cc",
-        "src/base/utils/random-number-generator.cc",
+    name: "v8_base",
+    defaults: [
+        "v8_defaults",
+        "v8_torque_headers",
     ],
-    local_include_dirs: ["src"],
-    target: {
-        android: {
-            srcs: ["src/base/debug/stack_trace_android.cc"],
+    srcs: [
+        "src/api/api-arguments.cc",
+        "src/api/api-natives.cc",
+        "src/api/api.cc",
+        "src/asmjs/asm-js.cc",
+        "src/asmjs/asm-parser.cc",
+        "src/asmjs/asm-scanner.cc",
+        "src/asmjs/asm-types.cc",
+        "src/ast/ast-function-literal-id-reindexer.cc",
+        "src/ast/ast-value-factory.cc",
+        "src/ast/ast.cc",
+        "src/ast/modules.cc",
+        "src/ast/prettyprinter.cc",
+        "src/ast/scopes.cc",
+        "src/ast/source-range-ast-visitor.cc",
+        "src/ast/variables.cc",
+        "src/builtins/accessors.cc",
+        "src/builtins/builtins-api.cc",
+        "src/builtins/builtins-array.cc",
+        "src/builtins/builtins-arraybuffer.cc",
+        "src/builtins/builtins-async-module.cc",
+        "src/builtins/builtins-bigint.cc",
+        "src/builtins/builtins-callsite.cc",
+        "src/builtins/builtins-collections.cc",
+        "src/builtins/builtins-console.cc",
+        "src/builtins/builtins-dataview.cc",
+        "src/builtins/builtins-date.cc",
+        "src/builtins/builtins-error.cc",
+        "src/builtins/builtins-function.cc",
+        "src/builtins/builtins-global.cc",
+        "src/builtins/builtins-internal.cc",
+        "src/builtins/builtins-json.cc",
+        "src/builtins/builtins-number.cc",
+        "src/builtins/builtins-object.cc",
+        "src/builtins/builtins-reflect.cc",
+        "src/builtins/builtins-regexp.cc",
+        "src/builtins/builtins-sharedarraybuffer.cc",
+        "src/builtins/builtins-string.cc",
+        "src/builtins/builtins-symbol.cc",
+        "src/builtins/builtins-trace.cc",
+        "src/builtins/builtins-typed-array.cc",
+        "src/builtins/builtins-weak-refs.cc",
+        "src/builtins/builtins.cc",
+        "src/builtins/constants-table-builder.cc",
+        "src/codegen/assembler.cc",
+        "src/codegen/bailout-reason.cc",
+        "src/codegen/code-comments.cc",
+        "src/codegen/code-desc.cc",
+        "src/codegen/code-factory.cc",
+        "src/codegen/code-reference.cc",
+        "src/codegen/compilation-cache.cc",
+        "src/codegen/compiler.cc",
+        "src/codegen/constant-pool.cc",
+        "src/codegen/external-reference-encoder.cc",
+        "src/codegen/external-reference-table.cc",
+        "src/codegen/external-reference.cc",
+        "src/codegen/flush-instruction-cache.cc",
+        "src/codegen/handler-table.cc",
+        "src/codegen/interface-descriptors.cc",
+        "src/codegen/machine-type.cc",
+        "src/codegen/optimized-compilation-info.cc",
+        "src/codegen/pending-optimization-table.cc",
+        "src/codegen/register-configuration.cc",
+        "src/codegen/register.cc",
+        "src/codegen/reloc-info.cc",
+        "src/codegen/safepoint-table.cc",
+        "src/codegen/source-position-table.cc",
+        "src/codegen/source-position.cc",
+        "src/codegen/string-constants.cc",
+        "src/codegen/tick-counter.cc",
+        "src/codegen/tnode.cc",
+        "src/codegen/turbo-assembler.cc",
+        "src/codegen/unoptimized-compilation-info.cc",
+        "src/common/assert-scope.cc",
+        "src/compiler-dispatcher/compiler-dispatcher.cc",
+        "src/compiler-dispatcher/optimizing-compile-dispatcher.cc",
+        "src/compiler/access-builder.cc",
+        "src/compiler/access-info.cc",
+        "src/compiler/add-type-assertions-reducer.cc",
+        "src/compiler/all-nodes.cc",
+        "src/compiler/backend/code-generator.cc",
+        "src/compiler/backend/frame-elider.cc",
+        "src/compiler/backend/gap-resolver.cc",
+        "src/compiler/backend/instruction-scheduler.cc",
+        "src/compiler/backend/instruction-selector.cc",
+        "src/compiler/backend/instruction.cc",
+        "src/compiler/backend/jump-threading.cc",
+        "src/compiler/backend/mid-tier-register-allocator.cc",
+        "src/compiler/backend/move-optimizer.cc",
+        "src/compiler/backend/register-allocator-verifier.cc",
+        "src/compiler/backend/register-allocator.cc",
+        "src/compiler/backend/spill-placer.cc",
+        "src/compiler/basic-block-instrumentor.cc",
+        "src/compiler/branch-elimination.cc",
+        "src/compiler/bytecode-analysis.cc",
+        "src/compiler/bytecode-graph-builder.cc",
+        "src/compiler/bytecode-liveness-map.cc",
+        "src/compiler/c-linkage.cc",
+        "src/compiler/checkpoint-elimination.cc",
+        "src/compiler/code-assembler.cc",
+        "src/compiler/common-node-cache.cc",
+        "src/compiler/common-operator-reducer.cc",
+        "src/compiler/common-operator.cc",
+        "src/compiler/compilation-dependencies.cc",
+        "src/compiler/compiler-source-position-table.cc",
+        "src/compiler/constant-folding-reducer.cc",
+        "src/compiler/control-equivalence.cc",
+        "src/compiler/control-flow-optimizer.cc",
+        "src/compiler/csa-load-elimination.cc",
+        "src/compiler/dead-code-elimination.cc",
+        "src/compiler/decompression-optimizer.cc",
+        "src/compiler/effect-control-linearizer.cc",
+        "src/compiler/escape-analysis-reducer.cc",
+        "src/compiler/escape-analysis.cc",
+        "src/compiler/feedback-source.cc",
+        "src/compiler/frame-states.cc",
+        "src/compiler/frame.cc",
+        "src/compiler/graph-assembler.cc",
+        "src/compiler/graph-reducer.cc",
+        "src/compiler/graph-trimmer.cc",
+        "src/compiler/graph-visualizer.cc",
+        "src/compiler/graph.cc",
+        "src/compiler/int64-lowering.cc",
+        "src/compiler/js-call-reducer.cc",
+        "src/compiler/js-context-specialization.cc",
+        "src/compiler/js-create-lowering.cc",
+        "src/compiler/js-generic-lowering.cc",
+        "src/compiler/js-graph.cc",
+        "src/compiler/js-heap-broker.cc",
+        "src/compiler/js-heap-copy-reducer.cc",
+        "src/compiler/js-inlining-heuristic.cc",
+        "src/compiler/js-inlining.cc",
+        "src/compiler/js-intrinsic-lowering.cc",
+        "src/compiler/js-native-context-specialization.cc",
+        "src/compiler/js-operator.cc",
+        "src/compiler/js-type-hint-lowering.cc",
+        "src/compiler/js-typed-lowering.cc",
+        "src/compiler/linkage.cc",
+        "src/compiler/load-elimination.cc",
+        "src/compiler/loop-analysis.cc",
+        "src/compiler/loop-peeling.cc",
+        "src/compiler/loop-variable-optimizer.cc",
+        "src/compiler/machine-graph-verifier.cc",
+        "src/compiler/machine-graph.cc",
+        "src/compiler/machine-operator-reducer.cc",
+        "src/compiler/machine-operator.cc",
+        "src/compiler/map-inference.cc",
+        "src/compiler/memory-lowering.cc",
+        "src/compiler/memory-optimizer.cc",
+        "src/compiler/node-marker.cc",
+        "src/compiler/node-matchers.cc",
+        "src/compiler/node-origin-table.cc",
+        "src/compiler/node-properties.cc",
+        "src/compiler/node.cc",
+        "src/compiler/opcodes.cc",
+        "src/compiler/operation-typer.cc",
+        "src/compiler/operator-properties.cc",
+        "src/compiler/operator.cc",
+        "src/compiler/osr.cc",
+        "src/compiler/pipeline-statistics.cc",
+        "src/compiler/pipeline.cc",
+        "src/compiler/property-access-builder.cc",
+        "src/compiler/raw-machine-assembler.cc",
+        "src/compiler/redundancy-elimination.cc",
+        "src/compiler/refs-map.cc",
+        "src/compiler/representation-change.cc",
+        "src/compiler/schedule.cc",
+        "src/compiler/scheduled-machine-lowering.cc",
+        "src/compiler/scheduler.cc",
+        "src/compiler/select-lowering.cc",
+        "src/compiler/serializer-for-background-compilation.cc",
+        "src/compiler/simd-scalar-lowering.cc",
+        "src/compiler/simplified-lowering.cc",
+        "src/compiler/simplified-operator-reducer.cc",
+        "src/compiler/simplified-operator.cc",
+        "src/compiler/state-values-utils.cc",
+        "src/compiler/store-store-elimination.cc",
+        "src/compiler/type-cache.cc",
+        "src/compiler/type-narrowing-reducer.cc",
+        "src/compiler/typed-optimization.cc",
+        "src/compiler/typer.cc",
+        "src/compiler/types.cc",
+        "src/compiler/value-numbering-reducer.cc",
+        "src/compiler/verifier.cc",
+        "src/compiler/wasm-compiler.cc",
+        "src/compiler/zone-stats.cc",
+        "src/date/date.cc",
+        "src/date/dateparser.cc",
+        "src/debug/debug-coverage.cc",
+        "src/debug/debug-evaluate.cc",
+        "src/debug/debug-frames.cc",
+        "src/debug/debug-property-iterator.cc",
+        "src/debug/debug-scope-iterator.cc",
+        "src/debug/debug-scopes.cc",
+        "src/debug/debug-stack-trace-iterator.cc",
+        "src/debug/debug-type-profile.cc",
+        "src/debug/debug.cc",
+        "src/debug/liveedit.cc",
+        "src/deoptimizer/deoptimize-reason.cc",
+        "src/deoptimizer/deoptimizer.cc",
+        "src/diagnostics/basic-block-profiler.cc",
+        "src/diagnostics/compilation-statistics.cc",
+        "src/diagnostics/disassembler.cc",
+        "src/diagnostics/eh-frame.cc",
+        "src/diagnostics/gdb-jit.cc",
+        "src/diagnostics/objects-debug.cc",
+        "src/diagnostics/objects-printer.cc",
+        "src/diagnostics/perf-jit.cc",
+        "src/diagnostics/unwinder.cc",
+        "src/execution/arguments.cc",
+        "src/execution/execution.cc",
+        "src/execution/external-pointer-table.cc",
+        "src/execution/frames.cc",
+        "src/execution/futex-emulation.cc",
+        "src/execution/interrupts-scope.cc",
+        "src/execution/isolate.cc",
+        "src/execution/local-isolate.cc",
+        "src/execution/messages.cc",
+        "src/execution/microtask-queue.cc",
+        "src/execution/protectors.cc",
+        "src/execution/runtime-profiler.cc",
+        "src/execution/simulator-base.cc",
+        "src/execution/stack-guard.cc",
+        "src/execution/thread-id.cc",
+        "src/execution/thread-local-top.cc",
+        "src/execution/v8threads.cc",
+        "src/extensions/cputracemark-extension.cc",
+        "src/extensions/externalize-string-extension.cc",
+        "src/extensions/gc-extension.cc",
+        "src/extensions/ignition-statistics-extension.cc",
+        "src/extensions/statistics-extension.cc",
+        "src/extensions/trigger-failure-extension.cc",
+        "src/flags/flags.cc",
+        "src/handles/global-handles.cc",
+        "src/handles/handles.cc",
+        "src/handles/local-handles.cc",
+        "src/handles/persistent-handles.cc",
+        "src/heap/allocation-observer.cc",
+        "src/heap/array-buffer-sweeper.cc",
+        "src/heap/base-space.cc",
+        "src/heap/base/stack.cc",
+        "src/heap/base/worklist.cc",
+        "src/heap/basic-memory-chunk.cc",
+        "src/heap/code-object-registry.cc",
+        "src/heap/code-stats.cc",
+        "src/heap/collection-barrier.cc",
+        "src/heap/combined-heap.cc",
+        "src/heap/concurrent-allocator.cc",
+        "src/heap/concurrent-marking.cc",
+        "src/heap/cppgc-js/cpp-heap.cc",
+        "src/heap/cppgc-js/cpp-snapshot.cc",
+        "src/heap/cppgc-js/unified-heap-marking-verifier.cc",
+        "src/heap/cppgc-js/unified-heap-marking-visitor.cc",
+        "src/heap/embedder-tracing.cc",
+        "src/heap/factory-base.cc",
+        "src/heap/factory.cc",
+        "src/heap/finalization-registry-cleanup-task.cc",
+        "src/heap/free-list.cc",
+        "src/heap/gc-idle-time-handler.cc",
+        "src/heap/gc-tracer.cc",
+        "src/heap/heap-controller.cc",
+        "src/heap/heap-write-barrier.cc",
+        "src/heap/heap.cc",
+        "src/heap/incremental-marking-job.cc",
+        "src/heap/incremental-marking.cc",
+        "src/heap/index-generator.cc",
+        "src/heap/invalidated-slots.cc",
+        "src/heap/item-parallel-job.cc",
+        "src/heap/large-spaces.cc",
+        "src/heap/local-factory.cc",
+        "src/heap/local-heap.cc",
+        "src/heap/mark-compact.cc",
+        "src/heap/marking-barrier.cc",
+        "src/heap/marking-worklist.cc",
+        "src/heap/marking.cc",
+        "src/heap/memory-allocator.cc",
+        "src/heap/memory-chunk-layout.cc",
+        "src/heap/memory-chunk.cc",
+        "src/heap/memory-measurement.cc",
+        "src/heap/memory-reducer.cc",
+        "src/heap/new-spaces.cc",
+        "src/heap/object-stats.cc",
+        "src/heap/objects-visiting.cc",
+        "src/heap/paged-spaces.cc",
+        "src/heap/read-only-heap.cc",
+        "src/heap/read-only-spaces.cc",
+        "src/heap/safepoint.cc",
+        "src/heap/scavenge-job.cc",
+        "src/heap/scavenger.cc",
+        "src/heap/slot-set.cc",
+        "src/heap/spaces.cc",
+        "src/heap/stress-marking-observer.cc",
+        "src/heap/stress-scavenge-observer.cc",
+        "src/heap/sweeper.cc",
+        "src/heap/third-party/heap-api-stub.cc",
+        "src/heap/weak-object-worklists.cc",
+        "src/ic/call-optimization.cc",
+        "src/ic/handler-configuration.cc",
+        "src/ic/ic-stats.cc",
+        "src/ic/ic.cc",
+        "src/ic/stub-cache.cc",
+        "src/init/bootstrapper.cc",
+        "src/init/icu_util.cc",
+        "src/init/isolate-allocator.cc",
+        "src/init/startup-data-util.cc",
+        "src/init/v8.cc",
+        "src/interpreter/bytecode-array-accessor.cc",
+        "src/interpreter/bytecode-array-builder.cc",
+        "src/interpreter/bytecode-array-iterator.cc",
+        "src/interpreter/bytecode-array-random-iterator.cc",
+        "src/interpreter/bytecode-array-writer.cc",
+        "src/interpreter/bytecode-decoder.cc",
+        "src/interpreter/bytecode-flags.cc",
+        "src/interpreter/bytecode-generator.cc",
+        "src/interpreter/bytecode-label.cc",
+        "src/interpreter/bytecode-node.cc",
+        "src/interpreter/bytecode-operands.cc",
+        "src/interpreter/bytecode-register-optimizer.cc",
+        "src/interpreter/bytecode-register.cc",
+        "src/interpreter/bytecode-source-info.cc",
+        "src/interpreter/bytecodes.cc",
+        "src/interpreter/constant-array-builder.cc",
+        "src/interpreter/control-flow-builders.cc",
+        "src/interpreter/handler-table-builder.cc",
+        "src/interpreter/interpreter-intrinsics.cc",
+        "src/interpreter/interpreter.cc",
+        "src/json/json-parser.cc",
+        "src/json/json-stringifier.cc",
+        "src/logging/counters.cc",
+        "src/logging/local-logger.cc",
+        "src/logging/log-utils.cc",
+        "src/logging/log.cc",
+        "src/logging/metrics.cc",
+        "src/logging/tracing-flags.cc",
+        "src/numbers/bignum-dtoa.cc",
+        "src/numbers/bignum.cc",
+        "src/numbers/cached-powers.cc",
+        "src/numbers/conversions.cc",
+        "src/numbers/diy-fp.cc",
+        "src/numbers/dtoa.cc",
+        "src/numbers/fast-dtoa.cc",
+        "src/numbers/fixed-dtoa.cc",
+        "src/numbers/math-random.cc",
+        "src/numbers/strtod.cc",
+        "src/objects/backing-store.cc",
+        "src/objects/bigint.cc",
+        "src/objects/code-kind.cc",
+        "src/objects/code.cc",
+        "src/objects/compilation-cache-table.cc",
+        "src/objects/contexts.cc",
+        "src/objects/debug-objects.cc",
+        "src/objects/elements-kind.cc",
+        "src/objects/elements.cc",
+        "src/objects/embedder-data-array.cc",
+        "src/objects/feedback-vector.cc",
+        "src/objects/field-type.cc",
+        "src/objects/js-array-buffer.cc",
+        "src/objects/js-function.cc",
+        "src/objects/js-objects.cc",
+        "src/objects/js-regexp.cc",
+        "src/objects/keys.cc",
+        "src/objects/layout-descriptor.cc",
+        "src/objects/literal-objects.cc",
+        "src/objects/lookup-cache.cc",
+        "src/objects/lookup.cc",
+        "src/objects/managed.cc",
+        "src/objects/map-updater.cc",
+        "src/objects/map.cc",
+        "src/objects/module.cc",
+        "src/objects/objects.cc",
+        "src/objects/ordered-hash-table.cc",
+        "src/objects/osr-optimized-code-cache.cc",
+        "src/objects/property-descriptor.cc",
+        "src/objects/property.cc",
+        "src/objects/scope-info.cc",
+        "src/objects/shared-function-info.cc",
+        "src/objects/source-text-module.cc",
+        "src/objects/stack-frame-info.cc",
+        "src/objects/string-comparator.cc",
+        "src/objects/string-table.cc",
+        "src/objects/string.cc",
+        "src/objects/synthetic-module.cc",
+        "src/objects/tagged-impl.cc",
+        "src/objects/template-objects.cc",
+        "src/objects/transitions.cc",
+        "src/objects/type-hints.cc",
+        "src/objects/value-serializer.cc",
+        "src/objects/visitors.cc",
+        "src/parsing/func-name-inferrer.cc",
+        "src/parsing/literal-buffer.cc",
+        "src/parsing/parse-info.cc",
+        "src/parsing/parser.cc",
+        "src/parsing/parsing.cc",
+        "src/parsing/pending-compilation-error-handler.cc",
+        "src/parsing/preparse-data.cc",
+        "src/parsing/preparser.cc",
+        "src/parsing/rewriter.cc",
+        "src/parsing/scanner-character-streams.cc",
+        "src/parsing/scanner.cc",
+        "src/parsing/token.cc",
+        "src/profiler/allocation-tracker.cc",
+        "src/profiler/cpu-profiler.cc",
+        "src/profiler/heap-profiler.cc",
+        "src/profiler/heap-snapshot-generator.cc",
+        "src/profiler/profile-generator.cc",
+        "src/profiler/profiler-listener.cc",
+        "src/profiler/profiler-stats.cc",
+        "src/profiler/sampling-heap-profiler.cc",
+        "src/profiler/strings-storage.cc",
+        "src/profiler/symbolizer.cc",
+        "src/profiler/tick-sample.cc",
+        "src/profiler/tracing-cpu-profiler.cc",
+        "src/regexp/experimental/experimental-bytecode.cc",
+        "src/regexp/experimental/experimental-compiler.cc",
+        "src/regexp/experimental/experimental-interpreter.cc",
+        "src/regexp/experimental/experimental.cc",
+        "src/regexp/property-sequences.cc",
+        "src/regexp/regexp-ast.cc",
+        "src/regexp/regexp-bytecode-generator.cc",
+        "src/regexp/regexp-bytecode-peephole.cc",
+        "src/regexp/regexp-bytecodes.cc",
+        "src/regexp/regexp-compiler-tonode.cc",
+        "src/regexp/regexp-compiler.cc",
+        "src/regexp/regexp-dotprinter.cc",
+        "src/regexp/regexp-error.cc",
+        "src/regexp/regexp-interpreter.cc",
+        "src/regexp/regexp-macro-assembler-tracer.cc",
+        "src/regexp/regexp-macro-assembler.cc",
+        "src/regexp/regexp-parser.cc",
+        "src/regexp/regexp-stack.cc",
+        "src/regexp/regexp-utils.cc",
+        "src/regexp/regexp.cc",
+        "src/roots/roots.cc",
+        "src/runtime/runtime-array.cc",
+        "src/runtime/runtime-atomics.cc",
+        "src/runtime/runtime-bigint.cc",
+        "src/runtime/runtime-classes.cc",
+        "src/runtime/runtime-collections.cc",
+        "src/runtime/runtime-compiler.cc",
+        "src/runtime/runtime-date.cc",
+        "src/runtime/runtime-debug.cc",
+        "src/runtime/runtime-forin.cc",
+        "src/runtime/runtime-function.cc",
+        "src/runtime/runtime-futex.cc",
+        "src/runtime/runtime-generator.cc",
+        "src/runtime/runtime-internal.cc",
+        "src/runtime/runtime-interpreter.cc",
+        "src/runtime/runtime-literals.cc",
+        "src/runtime/runtime-module.cc",
+        "src/runtime/runtime-numbers.cc",
+        "src/runtime/runtime-object.cc",
+        "src/runtime/runtime-operators.cc",
+        "src/runtime/runtime-promise.cc",
+        "src/runtime/runtime-proxy.cc",
+        "src/runtime/runtime-regexp.cc",
+        "src/runtime/runtime-scopes.cc",
+        "src/runtime/runtime-strings.cc",
+        "src/runtime/runtime-symbol.cc",
+        "src/runtime/runtime-test.cc",
+        "src/runtime/runtime-typedarray.cc",
+        "src/runtime/runtime-wasm.cc",
+        "src/runtime/runtime-weak-refs.cc",
+        "src/runtime/runtime.cc",
+        "src/sanitizer/lsan-page-allocator.cc",
+        "src/snapshot/code-serializer.cc",
+        "src/snapshot/context-deserializer.cc",
+        "src/snapshot/context-serializer.cc",
+        "src/snapshot/deserializer.cc",
+        "src/snapshot/embedded/embedded-data.cc",
+        "src/snapshot/object-deserializer.cc",
+        "src/snapshot/read-only-deserializer.cc",
+        "src/snapshot/read-only-serializer.cc",
+        "src/snapshot/roots-serializer.cc",
+        "src/snapshot/serializer-deserializer.cc",
+        "src/snapshot/serializer.cc",
+        "src/snapshot/snapshot-compression.cc",
+        "src/snapshot/snapshot-data.cc",
+        "src/snapshot/snapshot-source-sink.cc",
+        "src/snapshot/snapshot-utils.cc",
+        "src/snapshot/snapshot.cc",
+        "src/snapshot/startup-deserializer.cc",
+        "src/snapshot/startup-serializer.cc",
+        "src/strings/string-builder.cc",
+        "src/strings/string-case.cc",
+        "src/strings/string-stream.cc",
+        "src/strings/unicode-decoder.cc",
+        "src/strings/unicode.cc",
+        "src/strings/uri.cc",
+        "src/tasks/cancelable-task.cc",
+        "src/tasks/task-utils.cc",
+        "src/third_party/siphash/halfsiphash.cc",
+        "src/tracing/trace-event.cc",
+        "src/tracing/traced-value.cc",
+        "src/tracing/tracing-category-observer.cc",
+        "src/trap-handler/handler-inside.cc",
+        "src/trap-handler/handler-outside.cc",
+        "src/trap-handler/handler-shared.cc",
+        "src/utils/address-map.cc",
+        "src/utils/allocation.cc",
+        "src/utils/bit-vector.cc",
+        "src/utils/detachable-vector.cc",
+        "src/utils/identity-map.cc",
+        "src/utils/memcopy.cc",
+        "src/utils/ostreams.cc",
+        "src/utils/utils.cc",
+        "src/utils/version.cc",
+        "src/wasm/baseline/liftoff-assembler.cc",
+        "src/wasm/baseline/liftoff-compiler.cc",
+        "src/wasm/function-body-decoder.cc",
+        "src/wasm/function-compiler.cc",
+        "src/wasm/graph-builder-interface.cc",
+        "src/wasm/jump-table-assembler.cc",
+        "src/wasm/local-decl-encoder.cc",
+        "src/wasm/memory-tracing.cc",
+        "src/wasm/module-compiler.cc",
+        "src/wasm/module-decoder.cc",
+        "src/wasm/module-instantiate.cc",
+        "src/wasm/signature-map.cc",
+        "src/wasm/simd-shuffle.cc",
+        "src/wasm/streaming-decoder.cc",
+        "src/wasm/sync-streaming-decoder.cc",
+        "src/wasm/wasm-code-manager.cc",
+        "src/wasm/wasm-debug-evaluate.cc",
+        "src/wasm/wasm-debug.cc",
+        "src/wasm/wasm-engine.cc",
+        "src/wasm/wasm-external-refs.cc",
+        "src/wasm/wasm-features.cc",
+        "src/wasm/wasm-import-wrapper-cache.cc",
+        "src/wasm/wasm-js.cc",
+        "src/wasm/wasm-module-builder.cc",
+        "src/wasm/wasm-module-sourcemap.cc",
+        "src/wasm/wasm-module.cc",
+        "src/wasm/wasm-objects.cc",
+        "src/wasm/wasm-opcodes.cc",
+        "src/wasm/wasm-result.cc",
+        "src/wasm/wasm-serialization.cc",
+        "src/wasm/wasm-subtyping.cc",
+        "src/zone/accounting-allocator.cc",
+        "src/zone/type-stats.cc",
+        "src/zone/zone-segment.cc",
+        "src/zone/zone.cc",
+        "third_party/zlib/google/compression_utils_portable.cc",
+    ],
+    arch: {
+        arm: {
+            srcs: [
+                "src/codegen/arm/assembler-arm.cc",
+                "src/codegen/arm/constants-arm.cc",
+                "src/codegen/arm/cpu-arm.cc",
+                "src/codegen/arm/interface-descriptors-arm.cc",
+                "src/codegen/arm/macro-assembler-arm.cc",
+                "src/compiler/backend/arm/code-generator-arm.cc",
+                "src/compiler/backend/arm/instruction-scheduler-arm.cc",
+                "src/compiler/backend/arm/instruction-selector-arm.cc",
+                "src/compiler/backend/arm/unwinding-info-writer-arm.cc",
+                "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/diagnostics/arm/unwinder-arm.cc",
+                "src/execution/arm/frame-constants-arm.cc",
+                "src/execution/arm/simulator-arm.cc",
+                "src/regexp/arm/regexp-macro-assembler-arm.cc",
+            ],
+            generated_sources: [
+                "v8_torque_file_cc_32",
+            ],
         },
-        linux: {
-            srcs: ["src/base/platform/platform-linux.cc"],
+        arm64: {
+            srcs: [
+                "src/codegen/arm64/assembler-arm64.cc",
+                "src/codegen/arm64/cpu-arm64.cc",
+                "src/codegen/arm64/decoder-arm64.cc",
+                "src/codegen/arm64/instructions-arm64-constants.cc",
+                "src/codegen/arm64/instructions-arm64.cc",
+                "src/codegen/arm64/interface-descriptors-arm64.cc",
+                "src/codegen/arm64/macro-assembler-arm64.cc",
+                "src/codegen/arm64/register-arm64.cc",
+                "src/codegen/arm64/utils-arm64.cc",
+                "src/compiler/backend/arm64/code-generator-arm64.cc",
+                "src/compiler/backend/arm64/instruction-scheduler-arm64.cc",
+                "src/compiler/backend/arm64/instruction-selector-arm64.cc",
+                "src/compiler/backend/arm64/unwinding-info-writer-arm64.cc",
+                "src/debug/arm64/debug-arm64.cc",
+                "src/deoptimizer/arm64/deoptimizer-arm64.cc",
+                "src/diagnostics/arm64/disasm-arm64.cc",
+                "src/diagnostics/arm64/eh-frame-arm64.cc",
+                "src/diagnostics/arm64/unwinder-arm64.cc",
+                "src/execution/arm64/frame-constants-arm64.cc",
+                "src/execution/arm64/pointer-auth-arm64.cc",
+                "src/execution/arm64/simulator-arm64.cc",
+                "src/execution/arm64/simulator-logic-arm64.cc",
+                "src/regexp/arm64/regexp-macro-assembler-arm64.cc",
+            ],
+            generated_sources: [
+                "v8_torque_file_cc",
+            ],
         },
-        host: {
-            srcs: ["src/base/debug/stack_trace_posix.cc"],
-            cflags: ["-UANDROID"],
+        x86: {
+            srcs: [
+                "src/codegen/ia32/assembler-ia32.cc",
+                "src/codegen/ia32/cpu-ia32.cc",
+                "src/codegen/ia32/interface-descriptors-ia32.cc",
+                "src/codegen/ia32/macro-assembler-ia32.cc",
+                "src/compiler/backend/ia32/code-generator-ia32.cc",
+                "src/compiler/backend/ia32/instruction-scheduler-ia32.cc",
+                "src/compiler/backend/ia32/instruction-selector-ia32.cc",
+                "src/debug/ia32/debug-ia32.cc",
+                "src/deoptimizer/ia32/deoptimizer-ia32.cc",
+                "src/diagnostics/ia32/disasm-ia32.cc",
+                "src/diagnostics/ia32/unwinder-ia32.cc",
+                "src/execution/ia32/frame-constants-ia32.cc",
+                "src/regexp/ia32/regexp-macro-assembler-ia32.cc",
+            ],
+            generated_sources: [
+                "v8_torque_file_cc_32",
+            ],
+
         },
-        darwin: {
-            srcs: ["src/base/platform/platform-macos.cc"],
+        x86_64: {
+            srcs: [
+                "src/codegen/x64/assembler-x64.cc",
+                "src/codegen/x64/cpu-x64.cc",
+                "src/codegen/x64/interface-descriptors-x64.cc",
+                "src/codegen/x64/macro-assembler-x64.cc",
+                "src/compiler/backend/x64/code-generator-x64.cc",
+                "src/compiler/backend/x64/instruction-scheduler-x64.cc",
+                "src/compiler/backend/x64/instruction-selector-x64.cc",
+                "src/compiler/backend/x64/unwinding-info-writer-x64.cc",
+                "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/diagnostics/x64/unwinder-x64.cc",
+                "src/execution/x64/frame-constants-x64.cc",
+                "src/regexp/x64/regexp-macro-assembler-x64.cc",
+                "src/trap-handler/handler-inside-posix.cc",
+                "src/trap-handler/handler-outside-posix.cc",
+            ],
+            generated_sources: [
+                "v8_torque_file_cc",
+            ],
         },
     },
+    local_include_dirs: [
+        "src",
+        "include",
+        "third_party/zlib",
+    ],
+    generated_headers: ["v8_generate_bytecode_builtins_list"],
 }
diff --git a/Android.bp b/Android.bp
index a5859f2..3cec564 100644
--- a/Android.bp
+++ b/Android.bp
@@ -14,11 +14,12 @@
 
 // Include generated Android.bp files
 build = [
+    "Android.libbase.bp",
+    "Android.libplatform.bp",
+    "Android.libsampler.bp",
     "Android.base.bp",
-    "Android.platform.bp",
-    "Android.sampler.bp",
-    "Android.v8.bp",
-    "Android.v8gen.bp",
+    "Android.initializers.bp",
+    "Android.torque.bp",
 ]
 
 cc_defaults {
@@ -38,45 +39,36 @@
         "-Wno-missing-field-initializers",
         "-Wno-ignored-qualifiers",
         "-Wno-undefined-var-template",
-        "-Wno-null-pointer-arithmetic",
+//        "-Wno-null-pointer-arithmetic",
         "-Wno-non-virtual-dtor",
         "-Wno-user-defined-warnings",
         "-Wno-unused-lambda-capture",
+	    "-Wno-missing-braces",
         "-fno-exceptions",
         "-fvisibility=hidden",
-        "-DENABLE_DEBUGGER_SUPPORT",
-        "-DENABLE_LOGGING_AND_PROFILING",
-        "-DENABLE_VMSTATE_TRACKING",
-        "-DV8_NATIVE_REGEXP",
-        "-DV8_INTL_SUPPORT",
-        "-DV8_CONCURRENT_MARKING",
-        "-std=gnu++0x",
+        "-fno-rtti",
+        "-g0",
         "-Os",
+        "-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64",
+        "-DV8_ATOMIC_OBJECT_FIELD_WRITES",
+        "-DV8_ATOMIC_MARKING_STATE",
+        "-DV8_ENABLE_LAZY_SOURCE_POSITIONS",
+        "-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH",
+        "-DV8_SNAPSHOT_COMPRESSION",
+        "-DV8_NO_ARGUMENTS_ADAPTOR",
+        "-DDISABLE_UNTRUSTED_CODE_MITIGATIONS",
     ],
-
+    cpp_std: "gnu++14",
     arch: {
         arm: {
-            cflags: ["-DV8_TARGET_ARCH_ARM"],
+            cflags: [
+                "-DV8_TARGET_ARCH_ARM",
+                "-DV8_SHARED_RO_HEAP",
+            ],
         },
         arm64: {
             cflags: ["-DV8_TARGET_ARCH_ARM64"],
         },
-        mips: {
-            cflags: [
-                "-DV8_TARGET_ARCH_MIPS",
-                "-Umips",
-                "-finline-limit=64",
-                "-fno-strict-aliasing",
-            ],
-        },
-        mips64: {
-            cflags: [
-                "-DV8_TARGET_ARCH_MIPS64",
-                "-Umips",
-                "-finline-limit=64",
-                "-fno-strict-aliasing",
-            ],
-        },
         x86: {
             cflags: ["-DV8_TARGET_ARCH_IA32"],
         },
@@ -87,193 +79,250 @@
 }
 
 cc_library_static {
-    name: "libv8gen",
+    name: "libv8",
+    defaults: [
+        "v8_defaults",
+        "v8_snapshot"
+    ],
+    whole_static_libs: [
+        "v8_base",
+        "v8_libbase",
+        "v8_libplatform",
+        "v8_libsampler",
+        "v8_zlib",
+    ],
+    local_include_dirs: [
+        "third_party/zlib"
+    ],
+    generated_headers: [
+        "v8_generate_bytecode_builtins_list"
+    ],
+
+    export_include_dirs: ["include"],
+}
+
+cc_binary {
+    name: "v8_mksnapshot_32",
+    defaults: ["v8_mksnapshot_base"],
+    compile_multilib: "32",
+}
+
+cc_binary {
+    name: "v8_mksnapshot_64",
+    defaults: ["v8_mksnapshot_base"],
+    compile_multilib: "64",
+}
+
+cc_defaults {
+    name: "v8_mksnapshot_base",
+    defaults: [
+        "v8_defaults",
+        "v8_torque_headers"
+    ],
+    srcs: [
+        "src/snapshot/embedded/embedded-empty.cc",
+        "src/snapshot/embedded/embedded-file-writer.cc",
+        "src/snapshot/embedded/platform-embedded-file-writer-aix.cc",
+        "src/snapshot/embedded/platform-embedded-file-writer-base.cc",
+        "src/snapshot/embedded/platform-embedded-file-writer-generic.cc",
+        "src/snapshot/embedded/platform-embedded-file-writer-mac.cc",
+        "src/snapshot/embedded/platform-embedded-file-writer-win.cc",
+        "src/snapshot/mksnapshot.cc",
+        "src/snapshot/snapshot-empty.cc",
+        ":v8_init",
+    ],
+    // From v8_initializers
+    arch: {
+        arm: {
+            srcs: [
+                "src/builtins/arm/builtins-arm.cc",
+            ],
+        },
+        arm64: {
+            srcs: [
+                "src/builtins/arm64/builtins-arm64.cc",
+            ],
+        },
+        x86: {
+            srcs: [
+                "src/builtins/ia32/builtins-ia32.cc",
+            ],
+        },
+        x86_64: {
+            srcs: [
+                "src/builtins/x64/builtins-x64.cc",
+            ],
+        },
+    },
+    generated_headers: [
+        "v8_generate_bytecode_builtins_list"
+    ],
+
+    static_libs: [
+        "v8_base",
+        "v8_libplatform",
+        "v8_libsampler",
+        "v8_libbase",
+        "v8_zlib",
+    ],
+    shared_libs: [
+        "liblog",
+    ],
+    local_include_dirs: ["include"],
+}
+
+cc_binary_host {
+    name: "v8_bytecode_builtins_list_generator",
     defaults: ["v8_defaults"],
-    srcs: ["src/snapshot/snapshot-empty.cc"],
-    generated_sources: [
-        "v8gen_libraries",
-        "v8gen_extra_libraries",
-        "v8gen_experimental_extra_libraries",
+    host_ldlibs: ["-lrt"],
+    srcs: [
+        "src/builtins/generate-bytecodes-builtins-list.cc",
+        "src/interpreter/bytecode-operands.cc",
+        "src/interpreter/bytecodes.cc",
     ],
-    cflags: ["-DANDROID_LINK_SHARED_ICU4C"],
-    header_libs: [
-        "libicuuc_headers",
-        "libicui18n_headers",
+    static_libs: [
+        "v8_libbase",
     ],
-    generated_headers: ["v8_torque_file"],
+}
+
+genrule {
+    name: "v8_generate_bytecode_builtins_list",
+    tools: ["v8_bytecode_builtins_list_generator"],
+    srcs: [],
+    cmd: "mkdir -p $(genDir)/builtins-generated/ && $(location v8_bytecode_builtins_list_generator) $(out)",
+    out: [
+        "builtins-generated/bytecodes-builtins-list.h"
+    ],
 }
 
 cc_binary_host {
     name: "v8_torque",
     defaults: ["v8_defaults"],
+    cflags: [
+        "-fexceptions",
+        "-frtti",
+    ],
+    host_ldlibs: ["-lrt"],
     srcs: [
+        "src/torque/cc-generator.cc",
+        "src/torque/cfg.cc",
+        "src/torque/class-debug-reader-generator.cc",
+        "src/torque/csa-generator.cc",
         "src/torque/declarable.cc",
         "src/torque/declaration-visitor.cc",
         "src/torque/declarations.cc",
         "src/torque/earley-parser.cc",
-        "src/torque/file-visitor.cc",
+        "src/torque/global-context.cc",
         "src/torque/implementation-visitor.cc",
-        "src/torque/scope.cc",
+        "src/torque/instance-type-generator.cc",
+        "src/torque/instructions.cc",
+        "src/torque/server-data.cc",
         "src/torque/source-positions.cc",
+        "src/torque/torque-code-generator.cc",
+        "src/torque/torque-compiler.cc",
         "src/torque/torque-parser.cc",
+        "src/torque/type-inference.cc",
         "src/torque/type-oracle.cc",
+        "src/torque/type-visitor.cc",
         "src/torque/types.cc",
         "src/torque/utils.cc",
-
         "src/torque/torque.cc",
     ],
     static_libs: [
-        "libv8base",
+        "v8_libbase",
     ],
 }
 
-genrule {
-    name: "v8_torque_file",
-    tools: ["v8_torque"],
+cc_defaults {
+    name: "v8_snapshot",
+    defaults: ["v8_torque_headers"],
     srcs: [
-          "src/builtins/base.tq",
-          "src/builtins/array.tq",
-          "src/builtins/array-copywithin.tq",
-          "src/builtins/array-foreach.tq",
-          "src/builtins/array-reverse.tq",
-          "src/builtins/typed-array.tq",
-          "src/builtins/data-view.tq",
-          "third_party/v8/builtins/array-sort.tq",
+        "src/init/setup-isolate-deserialize.cc",
     ],
-    cmd: "mkdir -p $(genDir)/torque-generated/ && $(location v8_torque) -o $(genDir)/torque-generated/ $(in) && $(location v8_torque) -o $(genDir)/ $(in)",
-    out: [
-        "torque-generated/builtin-definitions-from-dsl.h",
-        "torque-generated/builtins-base-from-dsl-gen.h",
-        "torque-generated/builtins-array-from-dsl-gen.h",
-        "torque-generated/builtins-typed-array-from-dsl-gen.h",
-        "torque-generated/builtins-data-view-from-dsl-gen.h",
-        "builtin-definitions-from-dsl.h",
-        "builtins-base-from-dsl-gen.h",
-        "builtins-array-from-dsl-gen.h",
-        "builtins-typed-array-from-dsl-gen.h",
-        "builtins-data-view-from-dsl-gen.h",
-    ],
-}
-
-genrule {
-    name: "v8_torque_file_cc",
-    tools: ["v8_torque"],
-    srcs: [
-          "src/builtins/base.tq",
-          "src/builtins/array.tq",
-          "src/builtins/array-copywithin.tq",
-          "src/builtins/array-foreach.tq",
-          "src/builtins/array-reverse.tq",
-          "src/builtins/typed-array.tq",
-          "src/builtins/data-view.tq",
-          //"test/torque/test-torque.tq",
-          "third_party/v8/builtins/array-sort.tq",
-    ],
-    cmd: "mkdir -p $(genDir)/torque-generated/ && $(location v8_torque) -o $(genDir)/ $(in)",
-    out: [
-        "builtins-base-from-dsl-gen.cc",
-        "builtins-array-from-dsl-gen.cc",
-        "builtins-typed-array-from-dsl-gen.cc",
-        "builtins-data-view-from-dsl-gen.cc",
-    ],
-}
-
-
-python_binary_host {
-    name: "v8_js2c",
-    main: "tools/js2c.py",
-    srcs: [
-        "tools/js2c.py",
-        "tools/jsmin.py",
-    ],
-    version: {
-        py2: {
-            enabled: true,
-            embedded_launcher: true,
+    arch: {
+        arm: {
+            srcs: [
+                "snapshot/embedded-arm.S",
+                "snapshot/snapshot-arm.cc",
+            ],
         },
-        py3: {
-            enabled: false,
+        arm64: {
+            srcs: [
+                "snapshot/embedded-arm64.S",
+                "snapshot/snapshot-arm64.cc",
+            ],
+        },
+        x86: {
+            srcs: [
+                "snapshot/embedded-x86.S",
+                "snapshot/snapshot-x86.cc",
+            ],
+        },
+        x86_64: {
+            srcs: [
+                "snapshot/embedded-x86_64.S",
+                "snapshot/snapshot-x86_64.cc",
+            ],
         },
     },
 }
 
-genrule {
-    name: "v8gen_libraries",
-    tools: ["v8_js2c"],
-    cmd: "$(location v8_js2c) $(out) CORE $(in)",
-    srcs: [":v8_js_lib_files"],
-    out: ["libraries.cc"],
+cc_defaults {
+    name: "v8_torque_headers",
+    arch: {
+        arm: {
+            generated_headers: [
+                "v8_torque_file_32",
+            ],
+        },
+        arm64: {
+            generated_headers: [
+                "v8_torque_file",
+            ],
+        },
+        x86: {
+            generated_headers: [
+                "v8_torque_file_32",
+            ],
+        },
+        x86_64: {
+            generated_headers: [
+                "v8_torque_file",
+            ],
+        },
+    },
 }
 
-genrule {
-    name: "v8gen_extra_libraries",
-    tools: ["v8_js2c"],
-    cmd: "$(location v8_js2c) $(out) EXTRAS",
-    out: ["extra-libraries.cc"],
-}
-
-genrule {
-    name: "v8gen_experimental_extra_libraries",
-    tools: ["v8_js2c"],
-    cmd: "$(location v8_js2c) $(out) EXPERIMENTAL_EXTRAS",
-    out: ["experimental-extra-libraries.cc"],
+filegroup {
+    name: "v8_init",
+    srcs: [
+        "src/init/setup-isolate-full.cc",
+        ":v8_initializers",
+    ]
 }
 
 cc_library_static {
-    name: "libv8",
+    name: "v8_zlib",
     defaults: ["v8_defaults"],
-    whole_static_libs: [
-        "libv8base",
-        "libv8platform",
-        "libv8sampler",
-        "libv8src",
-        "libv8gen",
-    ],
-    export_include_dirs: ["include"],
-}
-
-// The bare 'd8' name conflicts with d8 from prebuilts/r8
-// NOT WORKING YET
-/*
-cc_binary {
-    name: "v8_d8",
-    defaults: ["v8_defaults"],
-
+    cflags: ["-Wno-error"],
     srcs: [
-        "src/d8.cc",
-        "src/d8-posix.cc",
-        "src/async-hooks-wrapper.cc",
-        "src/d8-console.cc",
-        //"src/inspector/v8-inspector-impl.cc",
+        "third_party/zlib/adler32.c",
+        "third_party/zlib/compress.c",
+        "third_party/zlib/cpu_features.c",
+        "third_party/zlib/crc32.c",
+        "third_party/zlib/deflate.c",
+        "third_party/zlib/gzclose.c",
+        "third_party/zlib/gzlib.c",
+        "third_party/zlib/gzread.c",
+        "third_party/zlib/gzwrite.c",
+        "third_party/zlib/infback.c",
+        "third_party/zlib/inffast.c",
+        "third_party/zlib/inftrees.c",
+        "third_party/zlib/trees.c",
+        "third_party/zlib/uncompr.c",
+        "third_party/zlib/zutil.c",
+        "third_party/zlib/inflate.c",
     ],
-    generated_sources: ["v8_d8_gen"],
-    generated_headers: ["v8_torque_file"],
-
-    static_libs: ["libv8"],
-    shared_libs: [
-        "liblog",
-        "libicuuc",
-        "libicui18n",
-    ],
-    cflags: ["-O0", "-DANDROID_LINK_SHARED_ICU4C"],
-    local_include_dirs: ["include"],
-
-    arch: {
-        mips: {
-            // Bug: http://b/31101212  WAR LLVM bug until next Clang update
-            cflags: ["-O2"],
-        },
-    },
+    host_supported: true,
+    local_include_dirs: ["third_party/zlib"],
 }
-
-genrule {
-    name: "v8_d8_gen",
-    tools: ["v8_js2c"],
-    cmd: "$(location v8_js2c) $(out) D8 $(in)",
-    srcs: [
-        "src/d8.js",
-        "src/js/macros.py",
-    ],
-    out: ["d8-js.cc"],
-}
-*/
\ No newline at end of file
diff --git a/Android.initializers.bp b/Android.initializers.bp
new file mode 100644
index 0000000..e5800ed
--- /dev/null
+++ b/Android.initializers.bp
@@ -0,0 +1,49 @@
+// GENERATED, do not edit
+// for changes, see genmakefiles.py
+filegroup {
+    name: "v8_initializers",
+    srcs: [
+        "src/builtins/builtins-array-gen.cc",
+        "src/builtins/builtins-async-function-gen.cc",
+        "src/builtins/builtins-async-gen.cc",
+        "src/builtins/builtins-async-generator-gen.cc",
+        "src/builtins/builtins-async-iterator-gen.cc",
+        "src/builtins/builtins-bigint-gen.cc",
+        "src/builtins/builtins-call-gen.cc",
+        "src/builtins/builtins-collections-gen.cc",
+        "src/builtins/builtins-constructor-gen.cc",
+        "src/builtins/builtins-conversion-gen.cc",
+        "src/builtins/builtins-date-gen.cc",
+        "src/builtins/builtins-debug-gen.cc",
+        "src/builtins/builtins-generator-gen.cc",
+        "src/builtins/builtins-global-gen.cc",
+        "src/builtins/builtins-handler-gen.cc",
+        "src/builtins/builtins-ic-gen.cc",
+        "src/builtins/builtins-internal-gen.cc",
+        "src/builtins/builtins-interpreter-gen.cc",
+        "src/builtins/builtins-iterator-gen.cc",
+        "src/builtins/builtins-lazy-gen.cc",
+        "src/builtins/builtins-microtask-queue-gen.cc",
+        "src/builtins/builtins-number-gen.cc",
+        "src/builtins/builtins-object-gen.cc",
+        "src/builtins/builtins-promise-gen.cc",
+        "src/builtins/builtins-proxy-gen.cc",
+        "src/builtins/builtins-regexp-gen.cc",
+        "src/builtins/builtins-sharedarraybuffer-gen.cc",
+        "src/builtins/builtins-string-gen.cc",
+        "src/builtins/builtins-typed-array-gen.cc",
+        "src/builtins/builtins-wasm-gen.cc",
+        "src/builtins/growable-fixed-array-gen.cc",
+        "src/builtins/profile-data-reader.cc",
+        "src/builtins/setup-builtins-internal.cc",
+        "src/codegen/code-stub-assembler.cc",
+        "src/heap/setup-heap-internal.cc",
+        "src/ic/accessor-assembler.cc",
+        "src/ic/binary-op-assembler.cc",
+        "src/ic/keyed-store-generic.cc",
+        "src/ic/unary-op-assembler.cc",
+        "src/interpreter/interpreter-assembler.cc",
+        "src/interpreter/interpreter-generator.cc",
+        "src/interpreter/interpreter-intrinsics-generator.cc",
+    ],
+}
diff --git a/Android.libbase.bp b/Android.libbase.bp
new file mode 100644
index 0000000..63de80e
--- /dev/null
+++ b/Android.libbase.bp
@@ -0,0 +1,47 @@
+// GENERATED, do not edit
+// for changes, see genmakefiles.py
+cc_library_static {
+    name: "v8_libbase",
+    defaults: ["v8_defaults"],
+    host_supported: true,
+    srcs: [
+        "src/base/bits.cc",
+        "src/base/bounded-page-allocator.cc",
+        "src/base/cpu.cc",
+        "src/base/debug/stack_trace.cc",
+        "src/base/division-by-constant.cc",
+        "src/base/file-utils.cc",
+        "src/base/functional.cc",
+        "src/base/ieee754.cc",
+        "src/base/logging.cc",
+        "src/base/once.cc",
+        "src/base/page-allocator.cc",
+        "src/base/platform/condition-variable.cc",
+        "src/base/platform/mutex.cc",
+        "src/base/platform/platform-posix-time.cc",
+        "src/base/platform/platform-posix.cc",
+        "src/base/platform/semaphore.cc",
+        "src/base/platform/time.cc",
+        "src/base/platform/wrappers_std.cc",
+        "src/base/region-allocator.cc",
+        "src/base/sys-info.cc",
+        "src/base/utils/random-number-generator.cc",
+        "src/base/vlq-base64.cc",
+    ],
+    local_include_dirs: ["src"],
+    target: {
+        android: {
+            srcs: [
+                "src/base/debug/stack_trace_android.cc",
+                "src/base/platform/platform-linux.cc",
+            ],
+        },
+        host: {
+            srcs: [
+                "src/base/debug/stack_trace_posix.cc",
+                "src/base/platform/platform-linux.cc",
+            ],
+            cflags: ["-UANDROID"],
+        },
+    },
+}
diff --git a/Android.libplatform.bp b/Android.libplatform.bp
new file mode 100644
index 0000000..fd7907e
--- /dev/null
+++ b/Android.libplatform.bp
@@ -0,0 +1,24 @@
+// GENERATED, do not edit
+// for changes, see genmakefiles.py
+cc_library_static {
+    name: "v8_libplatform",
+    defaults: ["v8_defaults"],
+    srcs: [
+        "src/libplatform/default-foreground-task-runner.cc",
+        "src/libplatform/default-job.cc",
+        "src/libplatform/default-platform.cc",
+        "src/libplatform/default-worker-threads-task-runner.cc",
+        "src/libplatform/delayed-task-queue.cc",
+        "src/libplatform/task-queue.cc",
+        "src/libplatform/tracing/trace-buffer.cc",
+        "src/libplatform/tracing/trace-config.cc",
+        "src/libplatform/tracing/trace-object.cc",
+        "src/libplatform/tracing/trace-writer.cc",
+        "src/libplatform/tracing/tracing-controller.cc",
+        "src/libplatform/worker-thread.cc",
+    ],
+    local_include_dirs: [
+        "src",
+        "include",
+    ],
+}
diff --git a/Android.libsampler.bp b/Android.libsampler.bp
new file mode 100644
index 0000000..9ae91e2
--- /dev/null
+++ b/Android.libsampler.bp
@@ -0,0 +1,11 @@
+// GENERATED, do not edit
+// for changes, see genmakefiles.py
+cc_library_static {
+    name: "v8_libsampler",
+    defaults: ["v8_defaults"],
+    srcs: ["src/libsampler/sampler.cc"],
+    local_include_dirs: [
+        "src",
+        "include",
+    ],
+}
diff --git a/Android.platform.bp b/Android.platform.bp
deleted file mode 100644
index 3a228b1..0000000
--- a/Android.platform.bp
+++ /dev/null
@@ -1,22 +0,0 @@
-// GENERATED, do not edit
-// for changes, see genmakefiles.py
-cc_library_static {
-    name: "libv8platform",
-    defaults: ["v8_defaults"],
-    srcs: [
-        "src/libplatform/default-foreground-task-runner.cc",
-        "src/libplatform/default-platform.cc",
-        "src/libplatform/default-worker-threads-task-runner.cc",
-        "src/libplatform/task-queue.cc",
-        "src/libplatform/tracing/trace-buffer.cc",
-        "src/libplatform/tracing/trace-config.cc",
-        "src/libplatform/tracing/trace-object.cc",
-        "src/libplatform/tracing/trace-writer.cc",
-        "src/libplatform/tracing/tracing-controller.cc",
-        "src/libplatform/worker-thread.cc",
-    ],
-    local_include_dirs: [
-        "src",
-        "include",
-    ],
-}
diff --git a/Android.sampler.bp b/Android.sampler.bp
deleted file mode 100644
index 081744e..0000000
--- a/Android.sampler.bp
+++ /dev/null
@@ -1,11 +0,0 @@
-// GENERATED, do not edit
-// for changes, see genmakefiles.py
-cc_library_static {
-    name: "libv8sampler",
-    defaults: ["v8_defaults"],
-    srcs: ["src/libsampler/sampler.cc"],
-    local_include_dirs: [
-        "src",
-        "include",
-    ],
-}
diff --git a/Android.torque.bp b/Android.torque.bp
new file mode 100644
index 0000000..6b004bb
--- /dev/null
+++ b/Android.torque.bp
@@ -0,0 +1,2015 @@
+// GENERATED, do not edit
+// for changes, see genmakefiles.py
+filegroup {
+    name: "v8_torque_src_files",
+    srcs: [
+        "src/builtins/aggregate-error.tq",
+        "src/builtins/array-copywithin.tq",
+        "src/builtins/array-every.tq",
+        "src/builtins/array-filter.tq",
+        "src/builtins/array-find.tq",
+        "src/builtins/array-findindex.tq",
+        "src/builtins/array-foreach.tq",
+        "src/builtins/array-from.tq",
+        "src/builtins/array-isarray.tq",
+        "src/builtins/array-join.tq",
+        "src/builtins/array-lastindexof.tq",
+        "src/builtins/array-map.tq",
+        "src/builtins/array-of.tq",
+        "src/builtins/array-reduce-right.tq",
+        "src/builtins/array-reduce.tq",
+        "src/builtins/array-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/arraybuffer.tq",
+        "src/builtins/base.tq",
+        "src/builtins/boolean.tq",
+        "src/builtins/builtins-bigint.tq",
+        "src/builtins/builtins-string.tq",
+        "src/builtins/cast.tq",
+        "src/builtins/collections.tq",
+        "src/builtins/constructor.tq",
+        "src/builtins/conversion.tq",
+        "src/builtins/convert.tq",
+        "src/builtins/console.tq",
+        "src/builtins/data-view.tq",
+        "src/builtins/finalization-registry.tq",
+        "src/builtins/frames.tq",
+        "src/builtins/frame-arguments.tq",
+        "src/builtins/function.tq",
+        "src/builtins/growable-fixed-array.tq",
+        "src/builtins/ic-callable.tq",
+        "src/builtins/ic-dynamic-map-checks.tq",
+        "src/builtins/ic.tq",
+        "src/builtins/internal-coverage.tq",
+        "src/builtins/internal.tq",
+        "src/builtins/iterator.tq",
+        "src/builtins/math.tq",
+        "src/builtins/number.tq",
+        "src/builtins/object-fromentries.tq",
+        "src/builtins/object.tq",
+        "src/builtins/promise-abstract-operations.tq",
+        "src/builtins/promise-all.tq",
+        "src/builtins/promise-all-element-closure.tq",
+        "src/builtins/promise-any.tq",
+        "src/builtins/promise-constructor.tq",
+        "src/builtins/promise-finally.tq",
+        "src/builtins/promise-misc.tq",
+        "src/builtins/promise-race.tq",
+        "src/builtins/promise-reaction-job.tq",
+        "src/builtins/promise-resolve.tq",
+        "src/builtins/promise-then.tq",
+        "src/builtins/promise-jobs.tq",
+        "src/builtins/proxy-constructor.tq",
+        "src/builtins/proxy-delete-property.tq",
+        "src/builtins/proxy-get-property.tq",
+        "src/builtins/proxy-get-prototype-of.tq",
+        "src/builtins/proxy-has-property.tq",
+        "src/builtins/proxy-is-extensible.tq",
+        "src/builtins/proxy-prevent-extensions.tq",
+        "src/builtins/proxy-revocable.tq",
+        "src/builtins/proxy-revoke.tq",
+        "src/builtins/proxy-set-property.tq",
+        "src/builtins/proxy-set-prototype-of.tq",
+        "src/builtins/proxy.tq",
+        "src/builtins/reflect.tq",
+        "src/builtins/regexp-exec.tq",
+        "src/builtins/regexp-match-all.tq",
+        "src/builtins/regexp-match.tq",
+        "src/builtins/regexp-replace.tq",
+        "src/builtins/regexp-search.tq",
+        "src/builtins/regexp-source.tq",
+        "src/builtins/regexp-split.tq",
+        "src/builtins/regexp-test.tq",
+        "src/builtins/regexp.tq",
+        "src/builtins/string-endswith.tq",
+        "src/builtins/string-html.tq",
+        "src/builtins/string-iterator.tq",
+        "src/builtins/string-pad.tq",
+        "src/builtins/string-repeat.tq",
+        "src/builtins/string-replaceall.tq",
+        "src/builtins/string-slice.tq",
+        "src/builtins/string-startswith.tq",
+        "src/builtins/string-substr.tq",
+        "src/builtins/string-substring.tq",
+        "src/builtins/string-trim.tq",
+        "src/builtins/symbol.tq",
+        "src/builtins/torque-internal.tq",
+        "src/builtins/typed-array-createtypedarray.tq",
+        "src/builtins/typed-array-every.tq",
+        "src/builtins/typed-array-entries.tq",
+        "src/builtins/typed-array-filter.tq",
+        "src/builtins/typed-array-find.tq",
+        "src/builtins/typed-array-findindex.tq",
+        "src/builtins/typed-array-foreach.tq",
+        "src/builtins/typed-array-from.tq",
+        "src/builtins/typed-array-keys.tq",
+        "src/builtins/typed-array-of.tq",
+        "src/builtins/typed-array-reduce.tq",
+        "src/builtins/typed-array-reduceright.tq",
+        "src/builtins/typed-array-set.tq",
+        "src/builtins/typed-array-slice.tq",
+        "src/builtins/typed-array-some.tq",
+        "src/builtins/typed-array-sort.tq",
+        "src/builtins/typed-array-subarray.tq",
+        "src/builtins/typed-array-values.tq",
+        "src/builtins/typed-array.tq",
+        "src/builtins/wasm.tq",
+        "src/builtins/weak-ref.tq",
+        "src/ic/handler-configuration.tq",
+        "src/objects/allocation-site.tq",
+        "src/objects/api-callbacks.tq",
+        "src/objects/arguments.tq",
+        "src/objects/bigint.tq",
+        "src/objects/cell.tq",
+        "src/objects/code.tq",
+        "src/objects/contexts.tq",
+        "src/objects/data-handler.tq",
+        "src/objects/debug-objects.tq",
+        "src/objects/descriptor-array.tq",
+        "src/objects/embedder-data-array.tq",
+        "src/objects/feedback-cell.tq",
+        "src/objects/feedback-vector.tq",
+        "src/objects/fixed-array.tq",
+        "src/objects/foreign.tq",
+        "src/objects/free-space.tq",
+        "src/objects/heap-number.tq",
+        "src/objects/heap-object.tq",
+        "src/objects/js-array-buffer.tq",
+        "src/objects/js-array.tq",
+        "src/objects/js-collection-iterator.tq",
+        "src/objects/js-collection.tq",
+        "src/objects/js-function.tq",
+        "src/objects/js-generator.tq",
+        "src/objects/js-objects.tq",
+        "src/objects/js-promise.tq",
+        "src/objects/js-proxy.tq",
+        "src/objects/js-regexp-string-iterator.tq",
+        "src/objects/js-regexp.tq",
+        "src/objects/js-weak-refs.tq",
+        "src/objects/literal-objects.tq",
+        "src/objects/map.tq",
+        "src/objects/microtask.tq",
+        "src/objects/module.tq",
+        "src/objects/name.tq",
+        "src/objects/oddball.tq",
+        "src/objects/ordered-hash-table.tq",
+        "src/objects/primitive-heap-object.tq",
+        "src/objects/promise.tq",
+        "src/objects/property-array.tq",
+        "src/objects/property-cell.tq",
+        "src/objects/property-descriptor-object.tq",
+        "src/objects/prototype-info.tq",
+        "src/objects/regexp-match-info.tq",
+        "src/objects/scope-info.tq",
+        "src/objects/script.tq",
+        "src/objects/shared-function-info.tq",
+        "src/objects/source-text-module.tq",
+        "src/objects/stack-frame-info.tq",
+        "src/objects/string.tq",
+        "src/objects/struct.tq",
+        "src/objects/synthetic-module.tq",
+        "src/objects/template-objects.tq",
+        "src/objects/templates.tq",
+        "src/objects/torque-defined-classes.tq",
+        "src/wasm/wasm-objects.tq",
+        "test/torque/test-torque.tq",
+        "third_party/v8/builtins/array-sort.tq",
+    ],
+}
+
+genrule {
+    name: "v8_torque_file",
+    tools: ["v8_torque"],
+    srcs: [":v8_torque_src_files"],
+    cmd: "mkdir -p $(genDir)/torque-generated/ && pushd . && cd $(genDir)/torque-generated/ && mkdir -p third_party/v8/builtins test/torque src/wasm src/ic src/objects src/builtins && popd && $(location v8_torque) -o $(genDir)/torque-generated/ -v8-root $$(pwd)/external/v8 $$(echo $(in) | sed 's/external.v8.//g'); true",
+    out: [
+        "torque-generated/bit-fields.h",
+        "torque-generated/builtin-definitions.h",
+        "torque-generated/interface-descriptors.inc",
+        "torque-generated/factory.inc",
+        "torque-generated/field-offsets.h",
+        "torque-generated/class-verifiers.h",
+        "torque-generated/objects-body-descriptors-inl.inc",
+        "torque-generated/exported-macros-assembler.h",
+        "torque-generated/csa-types.h",
+        "torque-generated/instance-types.h",
+        "torque-generated/runtime-macros.h",
+        "torque-generated/class-forward-declarations.h",
+        "torque-generated/src/builtins/aggregate-error-tq-csa.h",
+        "torque-generated/src/builtins/aggregate-error-tq-inl.inc",
+        "torque-generated/src/builtins/aggregate-error-tq.inc",
+        "torque-generated/src/builtins/array-copywithin-tq-csa.h",
+        "torque-generated/src/builtins/array-copywithin-tq-inl.inc",
+        "torque-generated/src/builtins/array-copywithin-tq.inc",
+        "torque-generated/src/builtins/array-every-tq-csa.h",
+        "torque-generated/src/builtins/array-every-tq-inl.inc",
+        "torque-generated/src/builtins/array-every-tq.inc",
+        "torque-generated/src/builtins/array-filter-tq-csa.h",
+        "torque-generated/src/builtins/array-filter-tq-inl.inc",
+        "torque-generated/src/builtins/array-filter-tq.inc",
+        "torque-generated/src/builtins/array-find-tq-csa.h",
+        "torque-generated/src/builtins/array-find-tq-inl.inc",
+        "torque-generated/src/builtins/array-find-tq.inc",
+        "torque-generated/src/builtins/array-findindex-tq-csa.h",
+        "torque-generated/src/builtins/array-findindex-tq-inl.inc",
+        "torque-generated/src/builtins/array-findindex-tq.inc",
+        "torque-generated/src/builtins/array-foreach-tq-csa.h",
+        "torque-generated/src/builtins/array-foreach-tq-inl.inc",
+        "torque-generated/src/builtins/array-foreach-tq.inc",
+        "torque-generated/src/builtins/array-from-tq-csa.h",
+        "torque-generated/src/builtins/array-from-tq-inl.inc",
+        "torque-generated/src/builtins/array-from-tq.inc",
+        "torque-generated/src/builtins/array-isarray-tq-csa.h",
+        "torque-generated/src/builtins/array-isarray-tq-inl.inc",
+        "torque-generated/src/builtins/array-isarray-tq.inc",
+        "torque-generated/src/builtins/array-join-tq-csa.h",
+        "torque-generated/src/builtins/array-join-tq-inl.inc",
+        "torque-generated/src/builtins/array-join-tq.inc",
+        "torque-generated/src/builtins/array-lastindexof-tq-csa.h",
+        "torque-generated/src/builtins/array-lastindexof-tq-inl.inc",
+        "torque-generated/src/builtins/array-lastindexof-tq.inc",
+        "torque-generated/src/builtins/array-map-tq-csa.h",
+        "torque-generated/src/builtins/array-map-tq-inl.inc",
+        "torque-generated/src/builtins/array-map-tq.inc",
+        "torque-generated/src/builtins/array-of-tq-csa.h",
+        "torque-generated/src/builtins/array-of-tq-inl.inc",
+        "torque-generated/src/builtins/array-of-tq.inc",
+        "torque-generated/src/builtins/array-reduce-right-tq-csa.h",
+        "torque-generated/src/builtins/array-reduce-right-tq-inl.inc",
+        "torque-generated/src/builtins/array-reduce-right-tq.inc",
+        "torque-generated/src/builtins/array-reduce-tq-csa.h",
+        "torque-generated/src/builtins/array-reduce-tq-inl.inc",
+        "torque-generated/src/builtins/array-reduce-tq.inc",
+        "torque-generated/src/builtins/array-reverse-tq-csa.h",
+        "torque-generated/src/builtins/array-reverse-tq-inl.inc",
+        "torque-generated/src/builtins/array-reverse-tq.inc",
+        "torque-generated/src/builtins/array-shift-tq-csa.h",
+        "torque-generated/src/builtins/array-shift-tq-inl.inc",
+        "torque-generated/src/builtins/array-shift-tq.inc",
+        "torque-generated/src/builtins/array-slice-tq-csa.h",
+        "torque-generated/src/builtins/array-slice-tq-inl.inc",
+        "torque-generated/src/builtins/array-slice-tq.inc",
+        "torque-generated/src/builtins/array-some-tq-csa.h",
+        "torque-generated/src/builtins/array-some-tq-inl.inc",
+        "torque-generated/src/builtins/array-some-tq.inc",
+        "torque-generated/src/builtins/array-splice-tq-csa.h",
+        "torque-generated/src/builtins/array-splice-tq-inl.inc",
+        "torque-generated/src/builtins/array-splice-tq.inc",
+        "torque-generated/src/builtins/array-unshift-tq-csa.h",
+        "torque-generated/src/builtins/array-unshift-tq-inl.inc",
+        "torque-generated/src/builtins/array-unshift-tq.inc",
+        "torque-generated/src/builtins/array-tq-csa.h",
+        "torque-generated/src/builtins/array-tq-inl.inc",
+        "torque-generated/src/builtins/array-tq.inc",
+        "torque-generated/src/builtins/arraybuffer-tq-csa.h",
+        "torque-generated/src/builtins/arraybuffer-tq-inl.inc",
+        "torque-generated/src/builtins/arraybuffer-tq.inc",
+        "torque-generated/src/builtins/base-tq-csa.h",
+        "torque-generated/src/builtins/base-tq-inl.inc",
+        "torque-generated/src/builtins/base-tq.inc",
+        "torque-generated/src/builtins/boolean-tq-csa.h",
+        "torque-generated/src/builtins/boolean-tq-inl.inc",
+        "torque-generated/src/builtins/boolean-tq.inc",
+        "torque-generated/src/builtins/builtins-bigint-tq-csa.h",
+        "torque-generated/src/builtins/builtins-bigint-tq-inl.inc",
+        "torque-generated/src/builtins/builtins-bigint-tq.inc",
+        "torque-generated/src/builtins/builtins-string-tq-csa.h",
+        "torque-generated/src/builtins/builtins-string-tq-inl.inc",
+        "torque-generated/src/builtins/builtins-string-tq.inc",
+        "torque-generated/src/builtins/cast-tq-csa.h",
+        "torque-generated/src/builtins/cast-tq-inl.inc",
+        "torque-generated/src/builtins/cast-tq.inc",
+        "torque-generated/src/builtins/collections-tq-csa.h",
+        "torque-generated/src/builtins/collections-tq-inl.inc",
+        "torque-generated/src/builtins/collections-tq.inc",
+        "torque-generated/src/builtins/constructor-tq-csa.h",
+        "torque-generated/src/builtins/constructor-tq-inl.inc",
+        "torque-generated/src/builtins/constructor-tq.inc",
+        "torque-generated/src/builtins/conversion-tq-csa.h",
+        "torque-generated/src/builtins/conversion-tq-inl.inc",
+        "torque-generated/src/builtins/conversion-tq.inc",
+        "torque-generated/src/builtins/convert-tq-csa.h",
+        "torque-generated/src/builtins/convert-tq-inl.inc",
+        "torque-generated/src/builtins/convert-tq.inc",
+        "torque-generated/src/builtins/console-tq-csa.h",
+        "torque-generated/src/builtins/console-tq-inl.inc",
+        "torque-generated/src/builtins/console-tq.inc",
+        "torque-generated/src/builtins/data-view-tq-csa.h",
+        "torque-generated/src/builtins/data-view-tq-inl.inc",
+        "torque-generated/src/builtins/data-view-tq.inc",
+        "torque-generated/src/builtins/finalization-registry-tq-csa.h",
+        "torque-generated/src/builtins/finalization-registry-tq-inl.inc",
+        "torque-generated/src/builtins/finalization-registry-tq.inc",
+        "torque-generated/src/builtins/frames-tq-csa.h",
+        "torque-generated/src/builtins/frames-tq-inl.inc",
+        "torque-generated/src/builtins/frames-tq.inc",
+        "torque-generated/src/builtins/frame-arguments-tq-csa.h",
+        "torque-generated/src/builtins/frame-arguments-tq-inl.inc",
+        "torque-generated/src/builtins/frame-arguments-tq.inc",
+        "torque-generated/src/builtins/function-tq-csa.h",
+        "torque-generated/src/builtins/function-tq-inl.inc",
+        "torque-generated/src/builtins/function-tq.inc",
+        "torque-generated/src/builtins/growable-fixed-array-tq-csa.h",
+        "torque-generated/src/builtins/growable-fixed-array-tq-inl.inc",
+        "torque-generated/src/builtins/growable-fixed-array-tq.inc",
+        "torque-generated/src/builtins/ic-callable-tq-csa.h",
+        "torque-generated/src/builtins/ic-callable-tq-inl.inc",
+        "torque-generated/src/builtins/ic-callable-tq.inc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq-csa.h",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq-inl.inc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq.inc",
+        "torque-generated/src/builtins/ic-tq-csa.h",
+        "torque-generated/src/builtins/ic-tq-inl.inc",
+        "torque-generated/src/builtins/ic-tq.inc",
+        "torque-generated/src/builtins/internal-coverage-tq-csa.h",
+        "torque-generated/src/builtins/internal-coverage-tq-inl.inc",
+        "torque-generated/src/builtins/internal-coverage-tq.inc",
+        "torque-generated/src/builtins/internal-tq-csa.h",
+        "torque-generated/src/builtins/internal-tq-inl.inc",
+        "torque-generated/src/builtins/internal-tq.inc",
+        "torque-generated/src/builtins/iterator-tq-csa.h",
+        "torque-generated/src/builtins/iterator-tq-inl.inc",
+        "torque-generated/src/builtins/iterator-tq.inc",
+        "torque-generated/src/builtins/math-tq-csa.h",
+        "torque-generated/src/builtins/math-tq-inl.inc",
+        "torque-generated/src/builtins/math-tq.inc",
+        "torque-generated/src/builtins/number-tq-csa.h",
+        "torque-generated/src/builtins/number-tq-inl.inc",
+        "torque-generated/src/builtins/number-tq.inc",
+        "torque-generated/src/builtins/object-fromentries-tq-csa.h",
+        "torque-generated/src/builtins/object-fromentries-tq-inl.inc",
+        "torque-generated/src/builtins/object-fromentries-tq.inc",
+        "torque-generated/src/builtins/object-tq-csa.h",
+        "torque-generated/src/builtins/object-tq-inl.inc",
+        "torque-generated/src/builtins/object-tq.inc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq-csa.h",
+        "torque-generated/src/builtins/promise-abstract-operations-tq-inl.inc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq.inc",
+        "torque-generated/src/builtins/promise-all-tq-csa.h",
+        "torque-generated/src/builtins/promise-all-tq-inl.inc",
+        "torque-generated/src/builtins/promise-all-tq.inc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq-csa.h",
+        "torque-generated/src/builtins/promise-all-element-closure-tq-inl.inc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq.inc",
+        "torque-generated/src/builtins/promise-any-tq-csa.h",
+        "torque-generated/src/builtins/promise-any-tq-inl.inc",
+        "torque-generated/src/builtins/promise-any-tq.inc",
+        "torque-generated/src/builtins/promise-constructor-tq-csa.h",
+        "torque-generated/src/builtins/promise-constructor-tq-inl.inc",
+        "torque-generated/src/builtins/promise-constructor-tq.inc",
+        "torque-generated/src/builtins/promise-finally-tq-csa.h",
+        "torque-generated/src/builtins/promise-finally-tq-inl.inc",
+        "torque-generated/src/builtins/promise-finally-tq.inc",
+        "torque-generated/src/builtins/promise-misc-tq-csa.h",
+        "torque-generated/src/builtins/promise-misc-tq-inl.inc",
+        "torque-generated/src/builtins/promise-misc-tq.inc",
+        "torque-generated/src/builtins/promise-race-tq-csa.h",
+        "torque-generated/src/builtins/promise-race-tq-inl.inc",
+        "torque-generated/src/builtins/promise-race-tq.inc",
+        "torque-generated/src/builtins/promise-reaction-job-tq-csa.h",
+        "torque-generated/src/builtins/promise-reaction-job-tq-inl.inc",
+        "torque-generated/src/builtins/promise-reaction-job-tq.inc",
+        "torque-generated/src/builtins/promise-resolve-tq-csa.h",
+        "torque-generated/src/builtins/promise-resolve-tq-inl.inc",
+        "torque-generated/src/builtins/promise-resolve-tq.inc",
+        "torque-generated/src/builtins/promise-then-tq-csa.h",
+        "torque-generated/src/builtins/promise-then-tq-inl.inc",
+        "torque-generated/src/builtins/promise-then-tq.inc",
+        "torque-generated/src/builtins/promise-jobs-tq-csa.h",
+        "torque-generated/src/builtins/promise-jobs-tq-inl.inc",
+        "torque-generated/src/builtins/promise-jobs-tq.inc",
+        "torque-generated/src/builtins/proxy-constructor-tq-csa.h",
+        "torque-generated/src/builtins/proxy-constructor-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-constructor-tq.inc",
+        "torque-generated/src/builtins/proxy-delete-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-delete-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-delete-property-tq.inc",
+        "torque-generated/src/builtins/proxy-get-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-get-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-get-property-tq.inc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq-csa.h",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq.inc",
+        "torque-generated/src/builtins/proxy-has-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-has-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-has-property-tq.inc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq-csa.h",
+        "torque-generated/src/builtins/proxy-is-extensible-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq.inc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq-csa.h",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq.inc",
+        "torque-generated/src/builtins/proxy-revocable-tq-csa.h",
+        "torque-generated/src/builtins/proxy-revocable-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-revocable-tq.inc",
+        "torque-generated/src/builtins/proxy-revoke-tq-csa.h",
+        "torque-generated/src/builtins/proxy-revoke-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-revoke-tq.inc",
+        "torque-generated/src/builtins/proxy-set-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-set-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-set-property-tq.inc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq-csa.h",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq.inc",
+        "torque-generated/src/builtins/proxy-tq-csa.h",
+        "torque-generated/src/builtins/proxy-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-tq.inc",
+        "torque-generated/src/builtins/reflect-tq-csa.h",
+        "torque-generated/src/builtins/reflect-tq-inl.inc",
+        "torque-generated/src/builtins/reflect-tq.inc",
+        "torque-generated/src/builtins/regexp-exec-tq-csa.h",
+        "torque-generated/src/builtins/regexp-exec-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-exec-tq.inc",
+        "torque-generated/src/builtins/regexp-match-all-tq-csa.h",
+        "torque-generated/src/builtins/regexp-match-all-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-match-all-tq.inc",
+        "torque-generated/src/builtins/regexp-match-tq-csa.h",
+        "torque-generated/src/builtins/regexp-match-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-match-tq.inc",
+        "torque-generated/src/builtins/regexp-replace-tq-csa.h",
+        "torque-generated/src/builtins/regexp-replace-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-replace-tq.inc",
+        "torque-generated/src/builtins/regexp-search-tq-csa.h",
+        "torque-generated/src/builtins/regexp-search-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-search-tq.inc",
+        "torque-generated/src/builtins/regexp-source-tq-csa.h",
+        "torque-generated/src/builtins/regexp-source-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-source-tq.inc",
+        "torque-generated/src/builtins/regexp-split-tq-csa.h",
+        "torque-generated/src/builtins/regexp-split-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-split-tq.inc",
+        "torque-generated/src/builtins/regexp-test-tq-csa.h",
+        "torque-generated/src/builtins/regexp-test-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-test-tq.inc",
+        "torque-generated/src/builtins/regexp-tq-csa.h",
+        "torque-generated/src/builtins/regexp-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-tq.inc",
+        "torque-generated/src/builtins/string-endswith-tq-csa.h",
+        "torque-generated/src/builtins/string-endswith-tq-inl.inc",
+        "torque-generated/src/builtins/string-endswith-tq.inc",
+        "torque-generated/src/builtins/string-html-tq-csa.h",
+        "torque-generated/src/builtins/string-html-tq-inl.inc",
+        "torque-generated/src/builtins/string-html-tq.inc",
+        "torque-generated/src/builtins/string-iterator-tq-csa.h",
+        "torque-generated/src/builtins/string-iterator-tq-inl.inc",
+        "torque-generated/src/builtins/string-iterator-tq.inc",
+        "torque-generated/src/builtins/string-pad-tq-csa.h",
+        "torque-generated/src/builtins/string-pad-tq-inl.inc",
+        "torque-generated/src/builtins/string-pad-tq.inc",
+        "torque-generated/src/builtins/string-repeat-tq-csa.h",
+        "torque-generated/src/builtins/string-repeat-tq-inl.inc",
+        "torque-generated/src/builtins/string-repeat-tq.inc",
+        "torque-generated/src/builtins/string-replaceall-tq-csa.h",
+        "torque-generated/src/builtins/string-replaceall-tq-inl.inc",
+        "torque-generated/src/builtins/string-replaceall-tq.inc",
+        "torque-generated/src/builtins/string-slice-tq-csa.h",
+        "torque-generated/src/builtins/string-slice-tq-inl.inc",
+        "torque-generated/src/builtins/string-slice-tq.inc",
+        "torque-generated/src/builtins/string-startswith-tq-csa.h",
+        "torque-generated/src/builtins/string-startswith-tq-inl.inc",
+        "torque-generated/src/builtins/string-startswith-tq.inc",
+        "torque-generated/src/builtins/string-substr-tq-csa.h",
+        "torque-generated/src/builtins/string-substr-tq-inl.inc",
+        "torque-generated/src/builtins/string-substr-tq.inc",
+        "torque-generated/src/builtins/string-substring-tq-csa.h",
+        "torque-generated/src/builtins/string-substring-tq-inl.inc",
+        "torque-generated/src/builtins/string-substring-tq.inc",
+        "torque-generated/src/builtins/string-trim-tq-csa.h",
+        "torque-generated/src/builtins/string-trim-tq-inl.inc",
+        "torque-generated/src/builtins/string-trim-tq.inc",
+        "torque-generated/src/builtins/symbol-tq-csa.h",
+        "torque-generated/src/builtins/symbol-tq-inl.inc",
+        "torque-generated/src/builtins/symbol-tq.inc",
+        "torque-generated/src/builtins/torque-internal-tq-csa.h",
+        "torque-generated/src/builtins/torque-internal-tq-inl.inc",
+        "torque-generated/src/builtins/torque-internal-tq.inc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq.inc",
+        "torque-generated/src/builtins/typed-array-every-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-every-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-every-tq.inc",
+        "torque-generated/src/builtins/typed-array-entries-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-entries-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-entries-tq.inc",
+        "torque-generated/src/builtins/typed-array-filter-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-filter-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-filter-tq.inc",
+        "torque-generated/src/builtins/typed-array-find-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-find-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-find-tq.inc",
+        "torque-generated/src/builtins/typed-array-findindex-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-findindex-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-findindex-tq.inc",
+        "torque-generated/src/builtins/typed-array-foreach-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-foreach-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-foreach-tq.inc",
+        "torque-generated/src/builtins/typed-array-from-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-from-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-from-tq.inc",
+        "torque-generated/src/builtins/typed-array-keys-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-keys-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-keys-tq.inc",
+        "torque-generated/src/builtins/typed-array-of-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-of-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-of-tq.inc",
+        "torque-generated/src/builtins/typed-array-reduce-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-reduce-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-reduce-tq.inc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-reduceright-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq.inc",
+        "torque-generated/src/builtins/typed-array-set-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-set-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-set-tq.inc",
+        "torque-generated/src/builtins/typed-array-slice-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-slice-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-slice-tq.inc",
+        "torque-generated/src/builtins/typed-array-some-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-some-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-some-tq.inc",
+        "torque-generated/src/builtins/typed-array-sort-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-sort-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-sort-tq.inc",
+        "torque-generated/src/builtins/typed-array-subarray-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-subarray-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-subarray-tq.inc",
+        "torque-generated/src/builtins/typed-array-values-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-values-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-values-tq.inc",
+        "torque-generated/src/builtins/typed-array-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-tq.inc",
+        "torque-generated/src/builtins/wasm-tq-csa.h",
+        "torque-generated/src/builtins/wasm-tq-inl.inc",
+        "torque-generated/src/builtins/wasm-tq.inc",
+        "torque-generated/src/builtins/weak-ref-tq-csa.h",
+        "torque-generated/src/builtins/weak-ref-tq-inl.inc",
+        "torque-generated/src/builtins/weak-ref-tq.inc",
+        "torque-generated/src/ic/handler-configuration-tq-csa.h",
+        "torque-generated/src/ic/handler-configuration-tq-inl.inc",
+        "torque-generated/src/ic/handler-configuration-tq.inc",
+        "torque-generated/src/objects/allocation-site-tq-csa.h",
+        "torque-generated/src/objects/allocation-site-tq-inl.inc",
+        "torque-generated/src/objects/allocation-site-tq.inc",
+        "torque-generated/src/objects/api-callbacks-tq-csa.h",
+        "torque-generated/src/objects/api-callbacks-tq-inl.inc",
+        "torque-generated/src/objects/api-callbacks-tq.inc",
+        "torque-generated/src/objects/arguments-tq-csa.h",
+        "torque-generated/src/objects/arguments-tq-inl.inc",
+        "torque-generated/src/objects/arguments-tq.inc",
+        "torque-generated/src/objects/bigint-tq-csa.h",
+        "torque-generated/src/objects/bigint-tq-inl.inc",
+        "torque-generated/src/objects/bigint-tq.inc",
+        "torque-generated/src/objects/cell-tq-csa.h",
+        "torque-generated/src/objects/cell-tq-inl.inc",
+        "torque-generated/src/objects/cell-tq.inc",
+        "torque-generated/src/objects/code-tq-csa.h",
+        "torque-generated/src/objects/code-tq-inl.inc",
+        "torque-generated/src/objects/code-tq.inc",
+        "torque-generated/src/objects/contexts-tq-csa.h",
+        "torque-generated/src/objects/contexts-tq-inl.inc",
+        "torque-generated/src/objects/contexts-tq.inc",
+        "torque-generated/src/objects/data-handler-tq-csa.h",
+        "torque-generated/src/objects/data-handler-tq-inl.inc",
+        "torque-generated/src/objects/data-handler-tq.inc",
+        "torque-generated/src/objects/debug-objects-tq-csa.h",
+        "torque-generated/src/objects/debug-objects-tq-inl.inc",
+        "torque-generated/src/objects/debug-objects-tq.inc",
+        "torque-generated/src/objects/descriptor-array-tq-csa.h",
+        "torque-generated/src/objects/descriptor-array-tq-inl.inc",
+        "torque-generated/src/objects/descriptor-array-tq.inc",
+        "torque-generated/src/objects/embedder-data-array-tq-csa.h",
+        "torque-generated/src/objects/embedder-data-array-tq-inl.inc",
+        "torque-generated/src/objects/embedder-data-array-tq.inc",
+        "torque-generated/src/objects/feedback-cell-tq-csa.h",
+        "torque-generated/src/objects/feedback-cell-tq-inl.inc",
+        "torque-generated/src/objects/feedback-cell-tq.inc",
+        "torque-generated/src/objects/feedback-vector-tq-csa.h",
+        "torque-generated/src/objects/feedback-vector-tq-inl.inc",
+        "torque-generated/src/objects/feedback-vector-tq.inc",
+        "torque-generated/src/objects/fixed-array-tq-csa.h",
+        "torque-generated/src/objects/fixed-array-tq-inl.inc",
+        "torque-generated/src/objects/fixed-array-tq.inc",
+        "torque-generated/src/objects/foreign-tq-csa.h",
+        "torque-generated/src/objects/foreign-tq-inl.inc",
+        "torque-generated/src/objects/foreign-tq.inc",
+        "torque-generated/src/objects/free-space-tq-csa.h",
+        "torque-generated/src/objects/free-space-tq-inl.inc",
+        "torque-generated/src/objects/free-space-tq.inc",
+        "torque-generated/src/objects/heap-number-tq-csa.h",
+        "torque-generated/src/objects/heap-number-tq-inl.inc",
+        "torque-generated/src/objects/heap-number-tq.inc",
+        "torque-generated/src/objects/heap-object-tq-csa.h",
+        "torque-generated/src/objects/heap-object-tq-inl.inc",
+        "torque-generated/src/objects/heap-object-tq.inc",
+        "torque-generated/src/objects/js-array-buffer-tq-csa.h",
+        "torque-generated/src/objects/js-array-buffer-tq-inl.inc",
+        "torque-generated/src/objects/js-array-buffer-tq.inc",
+        "torque-generated/src/objects/js-array-tq-csa.h",
+        "torque-generated/src/objects/js-array-tq-inl.inc",
+        "torque-generated/src/objects/js-array-tq.inc",
+        "torque-generated/src/objects/js-collection-iterator-tq-csa.h",
+        "torque-generated/src/objects/js-collection-iterator-tq-inl.inc",
+        "torque-generated/src/objects/js-collection-iterator-tq.inc",
+        "torque-generated/src/objects/js-collection-tq-csa.h",
+        "torque-generated/src/objects/js-collection-tq-inl.inc",
+        "torque-generated/src/objects/js-collection-tq.inc",
+        "torque-generated/src/objects/js-function-tq-csa.h",
+        "torque-generated/src/objects/js-function-tq-inl.inc",
+        "torque-generated/src/objects/js-function-tq.inc",
+        "torque-generated/src/objects/js-generator-tq-csa.h",
+        "torque-generated/src/objects/js-generator-tq-inl.inc",
+        "torque-generated/src/objects/js-generator-tq.inc",
+        "torque-generated/src/objects/js-objects-tq-csa.h",
+        "torque-generated/src/objects/js-objects-tq-inl.inc",
+        "torque-generated/src/objects/js-objects-tq.inc",
+        "torque-generated/src/objects/js-promise-tq-csa.h",
+        "torque-generated/src/objects/js-promise-tq-inl.inc",
+        "torque-generated/src/objects/js-promise-tq.inc",
+        "torque-generated/src/objects/js-proxy-tq-csa.h",
+        "torque-generated/src/objects/js-proxy-tq-inl.inc",
+        "torque-generated/src/objects/js-proxy-tq.inc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq-csa.h",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq-inl.inc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq.inc",
+        "torque-generated/src/objects/js-regexp-tq-csa.h",
+        "torque-generated/src/objects/js-regexp-tq-inl.inc",
+        "torque-generated/src/objects/js-regexp-tq.inc",
+        "torque-generated/src/objects/js-weak-refs-tq-csa.h",
+        "torque-generated/src/objects/js-weak-refs-tq-inl.inc",
+        "torque-generated/src/objects/js-weak-refs-tq.inc",
+        "torque-generated/src/objects/literal-objects-tq-csa.h",
+        "torque-generated/src/objects/literal-objects-tq-inl.inc",
+        "torque-generated/src/objects/literal-objects-tq.inc",
+        "torque-generated/src/objects/map-tq-csa.h",
+        "torque-generated/src/objects/map-tq-inl.inc",
+        "torque-generated/src/objects/map-tq.inc",
+        "torque-generated/src/objects/microtask-tq-csa.h",
+        "torque-generated/src/objects/microtask-tq-inl.inc",
+        "torque-generated/src/objects/microtask-tq.inc",
+        "torque-generated/src/objects/module-tq-csa.h",
+        "torque-generated/src/objects/module-tq-inl.inc",
+        "torque-generated/src/objects/module-tq.inc",
+        "torque-generated/src/objects/name-tq-csa.h",
+        "torque-generated/src/objects/name-tq-inl.inc",
+        "torque-generated/src/objects/name-tq.inc",
+        "torque-generated/src/objects/oddball-tq-csa.h",
+        "torque-generated/src/objects/oddball-tq-inl.inc",
+        "torque-generated/src/objects/oddball-tq.inc",
+        "torque-generated/src/objects/ordered-hash-table-tq-csa.h",
+        "torque-generated/src/objects/ordered-hash-table-tq-inl.inc",
+        "torque-generated/src/objects/ordered-hash-table-tq.inc",
+        "torque-generated/src/objects/primitive-heap-object-tq-csa.h",
+        "torque-generated/src/objects/primitive-heap-object-tq-inl.inc",
+        "torque-generated/src/objects/primitive-heap-object-tq.inc",
+        "torque-generated/src/objects/promise-tq-csa.h",
+        "torque-generated/src/objects/promise-tq-inl.inc",
+        "torque-generated/src/objects/promise-tq.inc",
+        "torque-generated/src/objects/property-array-tq-csa.h",
+        "torque-generated/src/objects/property-array-tq-inl.inc",
+        "torque-generated/src/objects/property-array-tq.inc",
+        "torque-generated/src/objects/property-cell-tq-csa.h",
+        "torque-generated/src/objects/property-cell-tq-inl.inc",
+        "torque-generated/src/objects/property-cell-tq.inc",
+        "torque-generated/src/objects/property-descriptor-object-tq-csa.h",
+        "torque-generated/src/objects/property-descriptor-object-tq-inl.inc",
+        "torque-generated/src/objects/property-descriptor-object-tq.inc",
+        "torque-generated/src/objects/prototype-info-tq-csa.h",
+        "torque-generated/src/objects/prototype-info-tq-inl.inc",
+        "torque-generated/src/objects/prototype-info-tq.inc",
+        "torque-generated/src/objects/regexp-match-info-tq-csa.h",
+        "torque-generated/src/objects/regexp-match-info-tq-inl.inc",
+        "torque-generated/src/objects/regexp-match-info-tq.inc",
+        "torque-generated/src/objects/scope-info-tq-csa.h",
+        "torque-generated/src/objects/scope-info-tq-inl.inc",
+        "torque-generated/src/objects/scope-info-tq.inc",
+        "torque-generated/src/objects/script-tq-csa.h",
+        "torque-generated/src/objects/script-tq-inl.inc",
+        "torque-generated/src/objects/script-tq.inc",
+        "torque-generated/src/objects/shared-function-info-tq-csa.h",
+        "torque-generated/src/objects/shared-function-info-tq-inl.inc",
+        "torque-generated/src/objects/shared-function-info-tq.inc",
+        "torque-generated/src/objects/source-text-module-tq-csa.h",
+        "torque-generated/src/objects/source-text-module-tq-inl.inc",
+        "torque-generated/src/objects/source-text-module-tq.inc",
+        "torque-generated/src/objects/stack-frame-info-tq-csa.h",
+        "torque-generated/src/objects/stack-frame-info-tq-inl.inc",
+        "torque-generated/src/objects/stack-frame-info-tq.inc",
+        "torque-generated/src/objects/string-tq-csa.h",
+        "torque-generated/src/objects/string-tq-inl.inc",
+        "torque-generated/src/objects/string-tq.inc",
+        "torque-generated/src/objects/struct-tq-csa.h",
+        "torque-generated/src/objects/struct-tq-inl.inc",
+        "torque-generated/src/objects/struct-tq.inc",
+        "torque-generated/src/objects/synthetic-module-tq-csa.h",
+        "torque-generated/src/objects/synthetic-module-tq-inl.inc",
+        "torque-generated/src/objects/synthetic-module-tq.inc",
+        "torque-generated/src/objects/template-objects-tq-csa.h",
+        "torque-generated/src/objects/template-objects-tq-inl.inc",
+        "torque-generated/src/objects/template-objects-tq.inc",
+        "torque-generated/src/objects/templates-tq-csa.h",
+        "torque-generated/src/objects/templates-tq-inl.inc",
+        "torque-generated/src/objects/templates-tq.inc",
+        "torque-generated/src/objects/torque-defined-classes-tq-csa.h",
+        "torque-generated/src/objects/torque-defined-classes-tq-inl.inc",
+        "torque-generated/src/objects/torque-defined-classes-tq.inc",
+        "torque-generated/src/wasm/wasm-objects-tq-csa.h",
+        "torque-generated/src/wasm/wasm-objects-tq-inl.inc",
+        "torque-generated/src/wasm/wasm-objects-tq.inc",
+        "torque-generated/test/torque/test-torque-tq-csa.h",
+        "torque-generated/test/torque/test-torque-tq-inl.inc",
+        "torque-generated/test/torque/test-torque-tq.inc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq-csa.h",
+        "torque-generated/third_party/v8/builtins/array-sort-tq-inl.inc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq.inc",
+    ],
+}
+
+genrule {
+    name: "v8_torque_file_cc",
+    tools: ["v8_torque"],
+    srcs: [":v8_torque_src_files"],
+    cmd: "mkdir -p $(genDir)/torque-generated/ && pushd . && cd $(genDir)/torque-generated/ && mkdir -p third_party/v8/builtins test/torque src/wasm src/ic src/objects src/builtins && popd && $(location v8_torque) -o $(genDir)/torque-generated/ -v8-root $$(pwd)/external/v8 $$(echo $(in) | sed 's/external.v8.//g'); true",
+    out: [
+        "torque-generated/factory.cc",
+        "torque-generated/class-verifiers.cc",
+        "torque-generated/enum-verifiers.cc",
+        "torque-generated/objects-printer.cc",
+        "torque-generated/exported-macros-assembler.cc",
+        "torque-generated/runtime-macros.cc",
+        "torque-generated/src/builtins/aggregate-error-tq-csa.cc",
+        "torque-generated/src/builtins/aggregate-error-tq.cc",
+        "torque-generated/src/builtins/array-copywithin-tq-csa.cc",
+        "torque-generated/src/builtins/array-copywithin-tq.cc",
+        "torque-generated/src/builtins/array-every-tq-csa.cc",
+        "torque-generated/src/builtins/array-every-tq.cc",
+        "torque-generated/src/builtins/array-filter-tq-csa.cc",
+        "torque-generated/src/builtins/array-filter-tq.cc",
+        "torque-generated/src/builtins/array-find-tq-csa.cc",
+        "torque-generated/src/builtins/array-find-tq.cc",
+        "torque-generated/src/builtins/array-findindex-tq-csa.cc",
+        "torque-generated/src/builtins/array-findindex-tq.cc",
+        "torque-generated/src/builtins/array-foreach-tq-csa.cc",
+        "torque-generated/src/builtins/array-foreach-tq.cc",
+        "torque-generated/src/builtins/array-from-tq-csa.cc",
+        "torque-generated/src/builtins/array-from-tq.cc",
+        "torque-generated/src/builtins/array-isarray-tq-csa.cc",
+        "torque-generated/src/builtins/array-isarray-tq.cc",
+        "torque-generated/src/builtins/array-join-tq-csa.cc",
+        "torque-generated/src/builtins/array-join-tq.cc",
+        "torque-generated/src/builtins/array-lastindexof-tq-csa.cc",
+        "torque-generated/src/builtins/array-lastindexof-tq.cc",
+        "torque-generated/src/builtins/array-map-tq-csa.cc",
+        "torque-generated/src/builtins/array-map-tq.cc",
+        "torque-generated/src/builtins/array-of-tq-csa.cc",
+        "torque-generated/src/builtins/array-of-tq.cc",
+        "torque-generated/src/builtins/array-reduce-right-tq-csa.cc",
+        "torque-generated/src/builtins/array-reduce-right-tq.cc",
+        "torque-generated/src/builtins/array-reduce-tq-csa.cc",
+        "torque-generated/src/builtins/array-reduce-tq.cc",
+        "torque-generated/src/builtins/array-reverse-tq-csa.cc",
+        "torque-generated/src/builtins/array-reverse-tq.cc",
+        "torque-generated/src/builtins/array-shift-tq-csa.cc",
+        "torque-generated/src/builtins/array-shift-tq.cc",
+        "torque-generated/src/builtins/array-slice-tq-csa.cc",
+        "torque-generated/src/builtins/array-slice-tq.cc",
+        "torque-generated/src/builtins/array-some-tq-csa.cc",
+        "torque-generated/src/builtins/array-some-tq.cc",
+        "torque-generated/src/builtins/array-splice-tq-csa.cc",
+        "torque-generated/src/builtins/array-splice-tq.cc",
+        "torque-generated/src/builtins/array-unshift-tq-csa.cc",
+        "torque-generated/src/builtins/array-unshift-tq.cc",
+        "torque-generated/src/builtins/array-tq-csa.cc",
+        "torque-generated/src/builtins/array-tq.cc",
+        "torque-generated/src/builtins/arraybuffer-tq-csa.cc",
+        "torque-generated/src/builtins/arraybuffer-tq.cc",
+        "torque-generated/src/builtins/base-tq-csa.cc",
+        "torque-generated/src/builtins/base-tq.cc",
+        "torque-generated/src/builtins/boolean-tq-csa.cc",
+        "torque-generated/src/builtins/boolean-tq.cc",
+        "torque-generated/src/builtins/builtins-bigint-tq-csa.cc",
+        "torque-generated/src/builtins/builtins-bigint-tq.cc",
+        "torque-generated/src/builtins/builtins-string-tq-csa.cc",
+        "torque-generated/src/builtins/builtins-string-tq.cc",
+        "torque-generated/src/builtins/cast-tq-csa.cc",
+        "torque-generated/src/builtins/cast-tq.cc",
+        "torque-generated/src/builtins/collections-tq-csa.cc",
+        "torque-generated/src/builtins/collections-tq.cc",
+        "torque-generated/src/builtins/constructor-tq-csa.cc",
+        "torque-generated/src/builtins/constructor-tq.cc",
+        "torque-generated/src/builtins/conversion-tq-csa.cc",
+        "torque-generated/src/builtins/conversion-tq.cc",
+        "torque-generated/src/builtins/convert-tq-csa.cc",
+        "torque-generated/src/builtins/convert-tq.cc",
+        "torque-generated/src/builtins/console-tq-csa.cc",
+        "torque-generated/src/builtins/console-tq.cc",
+        "torque-generated/src/builtins/data-view-tq-csa.cc",
+        "torque-generated/src/builtins/data-view-tq.cc",
+        "torque-generated/src/builtins/finalization-registry-tq-csa.cc",
+        "torque-generated/src/builtins/finalization-registry-tq.cc",
+        "torque-generated/src/builtins/frames-tq-csa.cc",
+        "torque-generated/src/builtins/frames-tq.cc",
+        "torque-generated/src/builtins/frame-arguments-tq-csa.cc",
+        "torque-generated/src/builtins/frame-arguments-tq.cc",
+        "torque-generated/src/builtins/function-tq-csa.cc",
+        "torque-generated/src/builtins/function-tq.cc",
+        "torque-generated/src/builtins/growable-fixed-array-tq-csa.cc",
+        "torque-generated/src/builtins/growable-fixed-array-tq.cc",
+        "torque-generated/src/builtins/ic-callable-tq-csa.cc",
+        "torque-generated/src/builtins/ic-callable-tq.cc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq-csa.cc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq.cc",
+        "torque-generated/src/builtins/ic-tq-csa.cc",
+        "torque-generated/src/builtins/ic-tq.cc",
+        "torque-generated/src/builtins/internal-coverage-tq-csa.cc",
+        "torque-generated/src/builtins/internal-coverage-tq.cc",
+        "torque-generated/src/builtins/internal-tq-csa.cc",
+        "torque-generated/src/builtins/internal-tq.cc",
+        "torque-generated/src/builtins/iterator-tq-csa.cc",
+        "torque-generated/src/builtins/iterator-tq.cc",
+        "torque-generated/src/builtins/math-tq-csa.cc",
+        "torque-generated/src/builtins/math-tq.cc",
+        "torque-generated/src/builtins/number-tq-csa.cc",
+        "torque-generated/src/builtins/number-tq.cc",
+        "torque-generated/src/builtins/object-fromentries-tq-csa.cc",
+        "torque-generated/src/builtins/object-fromentries-tq.cc",
+        "torque-generated/src/builtins/object-tq-csa.cc",
+        "torque-generated/src/builtins/object-tq.cc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq-csa.cc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq.cc",
+        "torque-generated/src/builtins/promise-all-tq-csa.cc",
+        "torque-generated/src/builtins/promise-all-tq.cc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq-csa.cc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq.cc",
+        "torque-generated/src/builtins/promise-any-tq-csa.cc",
+        "torque-generated/src/builtins/promise-any-tq.cc",
+        "torque-generated/src/builtins/promise-constructor-tq-csa.cc",
+        "torque-generated/src/builtins/promise-constructor-tq.cc",
+        "torque-generated/src/builtins/promise-finally-tq-csa.cc",
+        "torque-generated/src/builtins/promise-finally-tq.cc",
+        "torque-generated/src/builtins/promise-misc-tq-csa.cc",
+        "torque-generated/src/builtins/promise-misc-tq.cc",
+        "torque-generated/src/builtins/promise-race-tq-csa.cc",
+        "torque-generated/src/builtins/promise-race-tq.cc",
+        "torque-generated/src/builtins/promise-reaction-job-tq-csa.cc",
+        "torque-generated/src/builtins/promise-reaction-job-tq.cc",
+        "torque-generated/src/builtins/promise-resolve-tq-csa.cc",
+        "torque-generated/src/builtins/promise-resolve-tq.cc",
+        "torque-generated/src/builtins/promise-then-tq-csa.cc",
+        "torque-generated/src/builtins/promise-then-tq.cc",
+        "torque-generated/src/builtins/promise-jobs-tq-csa.cc",
+        "torque-generated/src/builtins/promise-jobs-tq.cc",
+        "torque-generated/src/builtins/proxy-constructor-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-constructor-tq.cc",
+        "torque-generated/src/builtins/proxy-delete-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-delete-property-tq.cc",
+        "torque-generated/src/builtins/proxy-get-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-get-property-tq.cc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq.cc",
+        "torque-generated/src/builtins/proxy-has-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-has-property-tq.cc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq.cc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq.cc",
+        "torque-generated/src/builtins/proxy-revocable-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-revocable-tq.cc",
+        "torque-generated/src/builtins/proxy-revoke-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-revoke-tq.cc",
+        "torque-generated/src/builtins/proxy-set-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-set-property-tq.cc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq.cc",
+        "torque-generated/src/builtins/proxy-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-tq.cc",
+        "torque-generated/src/builtins/reflect-tq-csa.cc",
+        "torque-generated/src/builtins/reflect-tq.cc",
+        "torque-generated/src/builtins/regexp-exec-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-exec-tq.cc",
+        "torque-generated/src/builtins/regexp-match-all-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-match-all-tq.cc",
+        "torque-generated/src/builtins/regexp-match-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-match-tq.cc",
+        "torque-generated/src/builtins/regexp-replace-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-replace-tq.cc",
+        "torque-generated/src/builtins/regexp-search-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-search-tq.cc",
+        "torque-generated/src/builtins/regexp-source-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-source-tq.cc",
+        "torque-generated/src/builtins/regexp-split-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-split-tq.cc",
+        "torque-generated/src/builtins/regexp-test-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-test-tq.cc",
+        "torque-generated/src/builtins/regexp-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-tq.cc",
+        "torque-generated/src/builtins/string-endswith-tq-csa.cc",
+        "torque-generated/src/builtins/string-endswith-tq.cc",
+        "torque-generated/src/builtins/string-html-tq-csa.cc",
+        "torque-generated/src/builtins/string-html-tq.cc",
+        "torque-generated/src/builtins/string-iterator-tq-csa.cc",
+        "torque-generated/src/builtins/string-iterator-tq.cc",
+        "torque-generated/src/builtins/string-pad-tq-csa.cc",
+        "torque-generated/src/builtins/string-pad-tq.cc",
+        "torque-generated/src/builtins/string-repeat-tq-csa.cc",
+        "torque-generated/src/builtins/string-repeat-tq.cc",
+        "torque-generated/src/builtins/string-replaceall-tq-csa.cc",
+        "torque-generated/src/builtins/string-replaceall-tq.cc",
+        "torque-generated/src/builtins/string-slice-tq-csa.cc",
+        "torque-generated/src/builtins/string-slice-tq.cc",
+        "torque-generated/src/builtins/string-startswith-tq-csa.cc",
+        "torque-generated/src/builtins/string-startswith-tq.cc",
+        "torque-generated/src/builtins/string-substr-tq-csa.cc",
+        "torque-generated/src/builtins/string-substr-tq.cc",
+        "torque-generated/src/builtins/string-substring-tq-csa.cc",
+        "torque-generated/src/builtins/string-substring-tq.cc",
+        "torque-generated/src/builtins/string-trim-tq-csa.cc",
+        "torque-generated/src/builtins/string-trim-tq.cc",
+        "torque-generated/src/builtins/symbol-tq-csa.cc",
+        "torque-generated/src/builtins/symbol-tq.cc",
+        "torque-generated/src/builtins/torque-internal-tq-csa.cc",
+        "torque-generated/src/builtins/torque-internal-tq.cc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq.cc",
+        "torque-generated/src/builtins/typed-array-every-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-every-tq.cc",
+        "torque-generated/src/builtins/typed-array-entries-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-entries-tq.cc",
+        "torque-generated/src/builtins/typed-array-filter-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-filter-tq.cc",
+        "torque-generated/src/builtins/typed-array-find-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-find-tq.cc",
+        "torque-generated/src/builtins/typed-array-findindex-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-findindex-tq.cc",
+        "torque-generated/src/builtins/typed-array-foreach-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-foreach-tq.cc",
+        "torque-generated/src/builtins/typed-array-from-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-from-tq.cc",
+        "torque-generated/src/builtins/typed-array-keys-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-keys-tq.cc",
+        "torque-generated/src/builtins/typed-array-of-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-of-tq.cc",
+        "torque-generated/src/builtins/typed-array-reduce-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-reduce-tq.cc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq.cc",
+        "torque-generated/src/builtins/typed-array-set-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-set-tq.cc",
+        "torque-generated/src/builtins/typed-array-slice-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-slice-tq.cc",
+        "torque-generated/src/builtins/typed-array-some-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-some-tq.cc",
+        "torque-generated/src/builtins/typed-array-sort-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-sort-tq.cc",
+        "torque-generated/src/builtins/typed-array-subarray-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-subarray-tq.cc",
+        "torque-generated/src/builtins/typed-array-values-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-values-tq.cc",
+        "torque-generated/src/builtins/typed-array-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-tq.cc",
+        "torque-generated/src/builtins/wasm-tq-csa.cc",
+        "torque-generated/src/builtins/wasm-tq.cc",
+        "torque-generated/src/builtins/weak-ref-tq-csa.cc",
+        "torque-generated/src/builtins/weak-ref-tq.cc",
+        "torque-generated/src/ic/handler-configuration-tq-csa.cc",
+        "torque-generated/src/ic/handler-configuration-tq.cc",
+        "torque-generated/src/objects/allocation-site-tq-csa.cc",
+        "torque-generated/src/objects/allocation-site-tq.cc",
+        "torque-generated/src/objects/api-callbacks-tq-csa.cc",
+        "torque-generated/src/objects/api-callbacks-tq.cc",
+        "torque-generated/src/objects/arguments-tq-csa.cc",
+        "torque-generated/src/objects/arguments-tq.cc",
+        "torque-generated/src/objects/bigint-tq-csa.cc",
+        "torque-generated/src/objects/bigint-tq.cc",
+        "torque-generated/src/objects/cell-tq-csa.cc",
+        "torque-generated/src/objects/cell-tq.cc",
+        "torque-generated/src/objects/code-tq-csa.cc",
+        "torque-generated/src/objects/code-tq.cc",
+        "torque-generated/src/objects/contexts-tq-csa.cc",
+        "torque-generated/src/objects/contexts-tq.cc",
+        "torque-generated/src/objects/data-handler-tq-csa.cc",
+        "torque-generated/src/objects/data-handler-tq.cc",
+        "torque-generated/src/objects/debug-objects-tq-csa.cc",
+        "torque-generated/src/objects/debug-objects-tq.cc",
+        "torque-generated/src/objects/descriptor-array-tq-csa.cc",
+        "torque-generated/src/objects/descriptor-array-tq.cc",
+        "torque-generated/src/objects/embedder-data-array-tq-csa.cc",
+        "torque-generated/src/objects/embedder-data-array-tq.cc",
+        "torque-generated/src/objects/feedback-cell-tq-csa.cc",
+        "torque-generated/src/objects/feedback-cell-tq.cc",
+        "torque-generated/src/objects/feedback-vector-tq-csa.cc",
+        "torque-generated/src/objects/feedback-vector-tq.cc",
+        "torque-generated/src/objects/fixed-array-tq-csa.cc",
+        "torque-generated/src/objects/fixed-array-tq.cc",
+        "torque-generated/src/objects/foreign-tq-csa.cc",
+        "torque-generated/src/objects/foreign-tq.cc",
+        "torque-generated/src/objects/free-space-tq-csa.cc",
+        "torque-generated/src/objects/free-space-tq.cc",
+        "torque-generated/src/objects/heap-number-tq-csa.cc",
+        "torque-generated/src/objects/heap-number-tq.cc",
+        "torque-generated/src/objects/heap-object-tq-csa.cc",
+        "torque-generated/src/objects/heap-object-tq.cc",
+        "torque-generated/src/objects/js-array-buffer-tq-csa.cc",
+        "torque-generated/src/objects/js-array-buffer-tq.cc",
+        "torque-generated/src/objects/js-array-tq-csa.cc",
+        "torque-generated/src/objects/js-array-tq.cc",
+        "torque-generated/src/objects/js-collection-iterator-tq-csa.cc",
+        "torque-generated/src/objects/js-collection-iterator-tq.cc",
+        "torque-generated/src/objects/js-collection-tq-csa.cc",
+        "torque-generated/src/objects/js-collection-tq.cc",
+        "torque-generated/src/objects/js-function-tq-csa.cc",
+        "torque-generated/src/objects/js-function-tq.cc",
+        "torque-generated/src/objects/js-generator-tq-csa.cc",
+        "torque-generated/src/objects/js-generator-tq.cc",
+        "torque-generated/src/objects/js-objects-tq-csa.cc",
+        "torque-generated/src/objects/js-objects-tq.cc",
+        "torque-generated/src/objects/js-promise-tq-csa.cc",
+        "torque-generated/src/objects/js-promise-tq.cc",
+        "torque-generated/src/objects/js-proxy-tq-csa.cc",
+        "torque-generated/src/objects/js-proxy-tq.cc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq-csa.cc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq.cc",
+        "torque-generated/src/objects/js-regexp-tq-csa.cc",
+        "torque-generated/src/objects/js-regexp-tq.cc",
+        "torque-generated/src/objects/js-weak-refs-tq-csa.cc",
+        "torque-generated/src/objects/js-weak-refs-tq.cc",
+        "torque-generated/src/objects/literal-objects-tq-csa.cc",
+        "torque-generated/src/objects/literal-objects-tq.cc",
+        "torque-generated/src/objects/map-tq-csa.cc",
+        "torque-generated/src/objects/map-tq.cc",
+        "torque-generated/src/objects/microtask-tq-csa.cc",
+        "torque-generated/src/objects/microtask-tq.cc",
+        "torque-generated/src/objects/module-tq-csa.cc",
+        "torque-generated/src/objects/module-tq.cc",
+        "torque-generated/src/objects/name-tq-csa.cc",
+        "torque-generated/src/objects/name-tq.cc",
+        "torque-generated/src/objects/oddball-tq-csa.cc",
+        "torque-generated/src/objects/oddball-tq.cc",
+        "torque-generated/src/objects/ordered-hash-table-tq-csa.cc",
+        "torque-generated/src/objects/ordered-hash-table-tq.cc",
+        "torque-generated/src/objects/primitive-heap-object-tq-csa.cc",
+        "torque-generated/src/objects/primitive-heap-object-tq.cc",
+        "torque-generated/src/objects/promise-tq-csa.cc",
+        "torque-generated/src/objects/promise-tq.cc",
+        "torque-generated/src/objects/property-array-tq-csa.cc",
+        "torque-generated/src/objects/property-array-tq.cc",
+        "torque-generated/src/objects/property-cell-tq-csa.cc",
+        "torque-generated/src/objects/property-cell-tq.cc",
+        "torque-generated/src/objects/property-descriptor-object-tq-csa.cc",
+        "torque-generated/src/objects/property-descriptor-object-tq.cc",
+        "torque-generated/src/objects/prototype-info-tq-csa.cc",
+        "torque-generated/src/objects/prototype-info-tq.cc",
+        "torque-generated/src/objects/regexp-match-info-tq-csa.cc",
+        "torque-generated/src/objects/regexp-match-info-tq.cc",
+        "torque-generated/src/objects/scope-info-tq-csa.cc",
+        "torque-generated/src/objects/scope-info-tq.cc",
+        "torque-generated/src/objects/script-tq-csa.cc",
+        "torque-generated/src/objects/script-tq.cc",
+        "torque-generated/src/objects/shared-function-info-tq-csa.cc",
+        "torque-generated/src/objects/shared-function-info-tq.cc",
+        "torque-generated/src/objects/source-text-module-tq-csa.cc",
+        "torque-generated/src/objects/source-text-module-tq.cc",
+        "torque-generated/src/objects/stack-frame-info-tq-csa.cc",
+        "torque-generated/src/objects/stack-frame-info-tq.cc",
+        "torque-generated/src/objects/string-tq-csa.cc",
+        "torque-generated/src/objects/string-tq.cc",
+        "torque-generated/src/objects/struct-tq-csa.cc",
+        "torque-generated/src/objects/struct-tq.cc",
+        "torque-generated/src/objects/synthetic-module-tq-csa.cc",
+        "torque-generated/src/objects/synthetic-module-tq.cc",
+        "torque-generated/src/objects/template-objects-tq-csa.cc",
+        "torque-generated/src/objects/template-objects-tq.cc",
+        "torque-generated/src/objects/templates-tq-csa.cc",
+        "torque-generated/src/objects/templates-tq.cc",
+        "torque-generated/src/objects/torque-defined-classes-tq-csa.cc",
+        "torque-generated/src/objects/torque-defined-classes-tq.cc",
+        "torque-generated/src/wasm/wasm-objects-tq-csa.cc",
+        "torque-generated/src/wasm/wasm-objects-tq.cc",
+        "torque-generated/test/torque/test-torque-tq-csa.cc",
+        "torque-generated/test/torque/test-torque-tq.cc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq-csa.cc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq.cc",
+    ],
+}
+
+genrule {
+    name: "v8_torque_file_32",
+    tools: ["v8_torque"],
+    srcs: [":v8_torque_src_files"],
+    cmd: "mkdir -p $(genDir)/torque-generated/ && pushd . && cd $(genDir)/torque-generated/ && mkdir -p third_party/v8/builtins test/torque src/wasm src/ic src/objects src/builtins && popd && $(location v8_torque) -o $(genDir)/torque-generated/ -v8-root $$(pwd)/external/v8 -m32 $$(echo $(in) | sed 's/external.v8.//g'); true",
+    out: [
+        "torque-generated/bit-fields.h",
+        "torque-generated/builtin-definitions.h",
+        "torque-generated/interface-descriptors.inc",
+        "torque-generated/factory.inc",
+        "torque-generated/field-offsets.h",
+        "torque-generated/class-verifiers.h",
+        "torque-generated/objects-body-descriptors-inl.inc",
+        "torque-generated/exported-macros-assembler.h",
+        "torque-generated/csa-types.h",
+        "torque-generated/instance-types.h",
+        "torque-generated/runtime-macros.h",
+        "torque-generated/class-forward-declarations.h",
+        "torque-generated/src/builtins/aggregate-error-tq-csa.h",
+        "torque-generated/src/builtins/aggregate-error-tq-inl.inc",
+        "torque-generated/src/builtins/aggregate-error-tq.inc",
+        "torque-generated/src/builtins/array-copywithin-tq-csa.h",
+        "torque-generated/src/builtins/array-copywithin-tq-inl.inc",
+        "torque-generated/src/builtins/array-copywithin-tq.inc",
+        "torque-generated/src/builtins/array-every-tq-csa.h",
+        "torque-generated/src/builtins/array-every-tq-inl.inc",
+        "torque-generated/src/builtins/array-every-tq.inc",
+        "torque-generated/src/builtins/array-filter-tq-csa.h",
+        "torque-generated/src/builtins/array-filter-tq-inl.inc",
+        "torque-generated/src/builtins/array-filter-tq.inc",
+        "torque-generated/src/builtins/array-find-tq-csa.h",
+        "torque-generated/src/builtins/array-find-tq-inl.inc",
+        "torque-generated/src/builtins/array-find-tq.inc",
+        "torque-generated/src/builtins/array-findindex-tq-csa.h",
+        "torque-generated/src/builtins/array-findindex-tq-inl.inc",
+        "torque-generated/src/builtins/array-findindex-tq.inc",
+        "torque-generated/src/builtins/array-foreach-tq-csa.h",
+        "torque-generated/src/builtins/array-foreach-tq-inl.inc",
+        "torque-generated/src/builtins/array-foreach-tq.inc",
+        "torque-generated/src/builtins/array-from-tq-csa.h",
+        "torque-generated/src/builtins/array-from-tq-inl.inc",
+        "torque-generated/src/builtins/array-from-tq.inc",
+        "torque-generated/src/builtins/array-isarray-tq-csa.h",
+        "torque-generated/src/builtins/array-isarray-tq-inl.inc",
+        "torque-generated/src/builtins/array-isarray-tq.inc",
+        "torque-generated/src/builtins/array-join-tq-csa.h",
+        "torque-generated/src/builtins/array-join-tq-inl.inc",
+        "torque-generated/src/builtins/array-join-tq.inc",
+        "torque-generated/src/builtins/array-lastindexof-tq-csa.h",
+        "torque-generated/src/builtins/array-lastindexof-tq-inl.inc",
+        "torque-generated/src/builtins/array-lastindexof-tq.inc",
+        "torque-generated/src/builtins/array-map-tq-csa.h",
+        "torque-generated/src/builtins/array-map-tq-inl.inc",
+        "torque-generated/src/builtins/array-map-tq.inc",
+        "torque-generated/src/builtins/array-of-tq-csa.h",
+        "torque-generated/src/builtins/array-of-tq-inl.inc",
+        "torque-generated/src/builtins/array-of-tq.inc",
+        "torque-generated/src/builtins/array-reduce-right-tq-csa.h",
+        "torque-generated/src/builtins/array-reduce-right-tq-inl.inc",
+        "torque-generated/src/builtins/array-reduce-right-tq.inc",
+        "torque-generated/src/builtins/array-reduce-tq-csa.h",
+        "torque-generated/src/builtins/array-reduce-tq-inl.inc",
+        "torque-generated/src/builtins/array-reduce-tq.inc",
+        "torque-generated/src/builtins/array-reverse-tq-csa.h",
+        "torque-generated/src/builtins/array-reverse-tq-inl.inc",
+        "torque-generated/src/builtins/array-reverse-tq.inc",
+        "torque-generated/src/builtins/array-shift-tq-csa.h",
+        "torque-generated/src/builtins/array-shift-tq-inl.inc",
+        "torque-generated/src/builtins/array-shift-tq.inc",
+        "torque-generated/src/builtins/array-slice-tq-csa.h",
+        "torque-generated/src/builtins/array-slice-tq-inl.inc",
+        "torque-generated/src/builtins/array-slice-tq.inc",
+        "torque-generated/src/builtins/array-some-tq-csa.h",
+        "torque-generated/src/builtins/array-some-tq-inl.inc",
+        "torque-generated/src/builtins/array-some-tq.inc",
+        "torque-generated/src/builtins/array-splice-tq-csa.h",
+        "torque-generated/src/builtins/array-splice-tq-inl.inc",
+        "torque-generated/src/builtins/array-splice-tq.inc",
+        "torque-generated/src/builtins/array-unshift-tq-csa.h",
+        "torque-generated/src/builtins/array-unshift-tq-inl.inc",
+        "torque-generated/src/builtins/array-unshift-tq.inc",
+        "torque-generated/src/builtins/array-tq-csa.h",
+        "torque-generated/src/builtins/array-tq-inl.inc",
+        "torque-generated/src/builtins/array-tq.inc",
+        "torque-generated/src/builtins/arraybuffer-tq-csa.h",
+        "torque-generated/src/builtins/arraybuffer-tq-inl.inc",
+        "torque-generated/src/builtins/arraybuffer-tq.inc",
+        "torque-generated/src/builtins/base-tq-csa.h",
+        "torque-generated/src/builtins/base-tq-inl.inc",
+        "torque-generated/src/builtins/base-tq.inc",
+        "torque-generated/src/builtins/boolean-tq-csa.h",
+        "torque-generated/src/builtins/boolean-tq-inl.inc",
+        "torque-generated/src/builtins/boolean-tq.inc",
+        "torque-generated/src/builtins/builtins-bigint-tq-csa.h",
+        "torque-generated/src/builtins/builtins-bigint-tq-inl.inc",
+        "torque-generated/src/builtins/builtins-bigint-tq.inc",
+        "torque-generated/src/builtins/builtins-string-tq-csa.h",
+        "torque-generated/src/builtins/builtins-string-tq-inl.inc",
+        "torque-generated/src/builtins/builtins-string-tq.inc",
+        "torque-generated/src/builtins/cast-tq-csa.h",
+        "torque-generated/src/builtins/cast-tq-inl.inc",
+        "torque-generated/src/builtins/cast-tq.inc",
+        "torque-generated/src/builtins/collections-tq-csa.h",
+        "torque-generated/src/builtins/collections-tq-inl.inc",
+        "torque-generated/src/builtins/collections-tq.inc",
+        "torque-generated/src/builtins/constructor-tq-csa.h",
+        "torque-generated/src/builtins/constructor-tq-inl.inc",
+        "torque-generated/src/builtins/constructor-tq.inc",
+        "torque-generated/src/builtins/conversion-tq-csa.h",
+        "torque-generated/src/builtins/conversion-tq-inl.inc",
+        "torque-generated/src/builtins/conversion-tq.inc",
+        "torque-generated/src/builtins/convert-tq-csa.h",
+        "torque-generated/src/builtins/convert-tq-inl.inc",
+        "torque-generated/src/builtins/convert-tq.inc",
+        "torque-generated/src/builtins/console-tq-csa.h",
+        "torque-generated/src/builtins/console-tq-inl.inc",
+        "torque-generated/src/builtins/console-tq.inc",
+        "torque-generated/src/builtins/data-view-tq-csa.h",
+        "torque-generated/src/builtins/data-view-tq-inl.inc",
+        "torque-generated/src/builtins/data-view-tq.inc",
+        "torque-generated/src/builtins/finalization-registry-tq-csa.h",
+        "torque-generated/src/builtins/finalization-registry-tq-inl.inc",
+        "torque-generated/src/builtins/finalization-registry-tq.inc",
+        "torque-generated/src/builtins/frames-tq-csa.h",
+        "torque-generated/src/builtins/frames-tq-inl.inc",
+        "torque-generated/src/builtins/frames-tq.inc",
+        "torque-generated/src/builtins/frame-arguments-tq-csa.h",
+        "torque-generated/src/builtins/frame-arguments-tq-inl.inc",
+        "torque-generated/src/builtins/frame-arguments-tq.inc",
+        "torque-generated/src/builtins/function-tq-csa.h",
+        "torque-generated/src/builtins/function-tq-inl.inc",
+        "torque-generated/src/builtins/function-tq.inc",
+        "torque-generated/src/builtins/growable-fixed-array-tq-csa.h",
+        "torque-generated/src/builtins/growable-fixed-array-tq-inl.inc",
+        "torque-generated/src/builtins/growable-fixed-array-tq.inc",
+        "torque-generated/src/builtins/ic-callable-tq-csa.h",
+        "torque-generated/src/builtins/ic-callable-tq-inl.inc",
+        "torque-generated/src/builtins/ic-callable-tq.inc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq-csa.h",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq-inl.inc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq.inc",
+        "torque-generated/src/builtins/ic-tq-csa.h",
+        "torque-generated/src/builtins/ic-tq-inl.inc",
+        "torque-generated/src/builtins/ic-tq.inc",
+        "torque-generated/src/builtins/internal-coverage-tq-csa.h",
+        "torque-generated/src/builtins/internal-coverage-tq-inl.inc",
+        "torque-generated/src/builtins/internal-coverage-tq.inc",
+        "torque-generated/src/builtins/internal-tq-csa.h",
+        "torque-generated/src/builtins/internal-tq-inl.inc",
+        "torque-generated/src/builtins/internal-tq.inc",
+        "torque-generated/src/builtins/iterator-tq-csa.h",
+        "torque-generated/src/builtins/iterator-tq-inl.inc",
+        "torque-generated/src/builtins/iterator-tq.inc",
+        "torque-generated/src/builtins/math-tq-csa.h",
+        "torque-generated/src/builtins/math-tq-inl.inc",
+        "torque-generated/src/builtins/math-tq.inc",
+        "torque-generated/src/builtins/number-tq-csa.h",
+        "torque-generated/src/builtins/number-tq-inl.inc",
+        "torque-generated/src/builtins/number-tq.inc",
+        "torque-generated/src/builtins/object-fromentries-tq-csa.h",
+        "torque-generated/src/builtins/object-fromentries-tq-inl.inc",
+        "torque-generated/src/builtins/object-fromentries-tq.inc",
+        "torque-generated/src/builtins/object-tq-csa.h",
+        "torque-generated/src/builtins/object-tq-inl.inc",
+        "torque-generated/src/builtins/object-tq.inc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq-csa.h",
+        "torque-generated/src/builtins/promise-abstract-operations-tq-inl.inc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq.inc",
+        "torque-generated/src/builtins/promise-all-tq-csa.h",
+        "torque-generated/src/builtins/promise-all-tq-inl.inc",
+        "torque-generated/src/builtins/promise-all-tq.inc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq-csa.h",
+        "torque-generated/src/builtins/promise-all-element-closure-tq-inl.inc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq.inc",
+        "torque-generated/src/builtins/promise-any-tq-csa.h",
+        "torque-generated/src/builtins/promise-any-tq-inl.inc",
+        "torque-generated/src/builtins/promise-any-tq.inc",
+        "torque-generated/src/builtins/promise-constructor-tq-csa.h",
+        "torque-generated/src/builtins/promise-constructor-tq-inl.inc",
+        "torque-generated/src/builtins/promise-constructor-tq.inc",
+        "torque-generated/src/builtins/promise-finally-tq-csa.h",
+        "torque-generated/src/builtins/promise-finally-tq-inl.inc",
+        "torque-generated/src/builtins/promise-finally-tq.inc",
+        "torque-generated/src/builtins/promise-misc-tq-csa.h",
+        "torque-generated/src/builtins/promise-misc-tq-inl.inc",
+        "torque-generated/src/builtins/promise-misc-tq.inc",
+        "torque-generated/src/builtins/promise-race-tq-csa.h",
+        "torque-generated/src/builtins/promise-race-tq-inl.inc",
+        "torque-generated/src/builtins/promise-race-tq.inc",
+        "torque-generated/src/builtins/promise-reaction-job-tq-csa.h",
+        "torque-generated/src/builtins/promise-reaction-job-tq-inl.inc",
+        "torque-generated/src/builtins/promise-reaction-job-tq.inc",
+        "torque-generated/src/builtins/promise-resolve-tq-csa.h",
+        "torque-generated/src/builtins/promise-resolve-tq-inl.inc",
+        "torque-generated/src/builtins/promise-resolve-tq.inc",
+        "torque-generated/src/builtins/promise-then-tq-csa.h",
+        "torque-generated/src/builtins/promise-then-tq-inl.inc",
+        "torque-generated/src/builtins/promise-then-tq.inc",
+        "torque-generated/src/builtins/promise-jobs-tq-csa.h",
+        "torque-generated/src/builtins/promise-jobs-tq-inl.inc",
+        "torque-generated/src/builtins/promise-jobs-tq.inc",
+        "torque-generated/src/builtins/proxy-constructor-tq-csa.h",
+        "torque-generated/src/builtins/proxy-constructor-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-constructor-tq.inc",
+        "torque-generated/src/builtins/proxy-delete-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-delete-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-delete-property-tq.inc",
+        "torque-generated/src/builtins/proxy-get-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-get-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-get-property-tq.inc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq-csa.h",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq.inc",
+        "torque-generated/src/builtins/proxy-has-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-has-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-has-property-tq.inc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq-csa.h",
+        "torque-generated/src/builtins/proxy-is-extensible-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq.inc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq-csa.h",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq.inc",
+        "torque-generated/src/builtins/proxy-revocable-tq-csa.h",
+        "torque-generated/src/builtins/proxy-revocable-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-revocable-tq.inc",
+        "torque-generated/src/builtins/proxy-revoke-tq-csa.h",
+        "torque-generated/src/builtins/proxy-revoke-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-revoke-tq.inc",
+        "torque-generated/src/builtins/proxy-set-property-tq-csa.h",
+        "torque-generated/src/builtins/proxy-set-property-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-set-property-tq.inc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq-csa.h",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq.inc",
+        "torque-generated/src/builtins/proxy-tq-csa.h",
+        "torque-generated/src/builtins/proxy-tq-inl.inc",
+        "torque-generated/src/builtins/proxy-tq.inc",
+        "torque-generated/src/builtins/reflect-tq-csa.h",
+        "torque-generated/src/builtins/reflect-tq-inl.inc",
+        "torque-generated/src/builtins/reflect-tq.inc",
+        "torque-generated/src/builtins/regexp-exec-tq-csa.h",
+        "torque-generated/src/builtins/regexp-exec-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-exec-tq.inc",
+        "torque-generated/src/builtins/regexp-match-all-tq-csa.h",
+        "torque-generated/src/builtins/regexp-match-all-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-match-all-tq.inc",
+        "torque-generated/src/builtins/regexp-match-tq-csa.h",
+        "torque-generated/src/builtins/regexp-match-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-match-tq.inc",
+        "torque-generated/src/builtins/regexp-replace-tq-csa.h",
+        "torque-generated/src/builtins/regexp-replace-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-replace-tq.inc",
+        "torque-generated/src/builtins/regexp-search-tq-csa.h",
+        "torque-generated/src/builtins/regexp-search-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-search-tq.inc",
+        "torque-generated/src/builtins/regexp-source-tq-csa.h",
+        "torque-generated/src/builtins/regexp-source-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-source-tq.inc",
+        "torque-generated/src/builtins/regexp-split-tq-csa.h",
+        "torque-generated/src/builtins/regexp-split-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-split-tq.inc",
+        "torque-generated/src/builtins/regexp-test-tq-csa.h",
+        "torque-generated/src/builtins/regexp-test-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-test-tq.inc",
+        "torque-generated/src/builtins/regexp-tq-csa.h",
+        "torque-generated/src/builtins/regexp-tq-inl.inc",
+        "torque-generated/src/builtins/regexp-tq.inc",
+        "torque-generated/src/builtins/string-endswith-tq-csa.h",
+        "torque-generated/src/builtins/string-endswith-tq-inl.inc",
+        "torque-generated/src/builtins/string-endswith-tq.inc",
+        "torque-generated/src/builtins/string-html-tq-csa.h",
+        "torque-generated/src/builtins/string-html-tq-inl.inc",
+        "torque-generated/src/builtins/string-html-tq.inc",
+        "torque-generated/src/builtins/string-iterator-tq-csa.h",
+        "torque-generated/src/builtins/string-iterator-tq-inl.inc",
+        "torque-generated/src/builtins/string-iterator-tq.inc",
+        "torque-generated/src/builtins/string-pad-tq-csa.h",
+        "torque-generated/src/builtins/string-pad-tq-inl.inc",
+        "torque-generated/src/builtins/string-pad-tq.inc",
+        "torque-generated/src/builtins/string-repeat-tq-csa.h",
+        "torque-generated/src/builtins/string-repeat-tq-inl.inc",
+        "torque-generated/src/builtins/string-repeat-tq.inc",
+        "torque-generated/src/builtins/string-replaceall-tq-csa.h",
+        "torque-generated/src/builtins/string-replaceall-tq-inl.inc",
+        "torque-generated/src/builtins/string-replaceall-tq.inc",
+        "torque-generated/src/builtins/string-slice-tq-csa.h",
+        "torque-generated/src/builtins/string-slice-tq-inl.inc",
+        "torque-generated/src/builtins/string-slice-tq.inc",
+        "torque-generated/src/builtins/string-startswith-tq-csa.h",
+        "torque-generated/src/builtins/string-startswith-tq-inl.inc",
+        "torque-generated/src/builtins/string-startswith-tq.inc",
+        "torque-generated/src/builtins/string-substr-tq-csa.h",
+        "torque-generated/src/builtins/string-substr-tq-inl.inc",
+        "torque-generated/src/builtins/string-substr-tq.inc",
+        "torque-generated/src/builtins/string-substring-tq-csa.h",
+        "torque-generated/src/builtins/string-substring-tq-inl.inc",
+        "torque-generated/src/builtins/string-substring-tq.inc",
+        "torque-generated/src/builtins/string-trim-tq-csa.h",
+        "torque-generated/src/builtins/string-trim-tq-inl.inc",
+        "torque-generated/src/builtins/string-trim-tq.inc",
+        "torque-generated/src/builtins/symbol-tq-csa.h",
+        "torque-generated/src/builtins/symbol-tq-inl.inc",
+        "torque-generated/src/builtins/symbol-tq.inc",
+        "torque-generated/src/builtins/torque-internal-tq-csa.h",
+        "torque-generated/src/builtins/torque-internal-tq-inl.inc",
+        "torque-generated/src/builtins/torque-internal-tq.inc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq.inc",
+        "torque-generated/src/builtins/typed-array-every-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-every-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-every-tq.inc",
+        "torque-generated/src/builtins/typed-array-entries-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-entries-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-entries-tq.inc",
+        "torque-generated/src/builtins/typed-array-filter-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-filter-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-filter-tq.inc",
+        "torque-generated/src/builtins/typed-array-find-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-find-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-find-tq.inc",
+        "torque-generated/src/builtins/typed-array-findindex-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-findindex-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-findindex-tq.inc",
+        "torque-generated/src/builtins/typed-array-foreach-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-foreach-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-foreach-tq.inc",
+        "torque-generated/src/builtins/typed-array-from-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-from-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-from-tq.inc",
+        "torque-generated/src/builtins/typed-array-keys-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-keys-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-keys-tq.inc",
+        "torque-generated/src/builtins/typed-array-of-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-of-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-of-tq.inc",
+        "torque-generated/src/builtins/typed-array-reduce-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-reduce-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-reduce-tq.inc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-reduceright-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq.inc",
+        "torque-generated/src/builtins/typed-array-set-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-set-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-set-tq.inc",
+        "torque-generated/src/builtins/typed-array-slice-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-slice-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-slice-tq.inc",
+        "torque-generated/src/builtins/typed-array-some-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-some-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-some-tq.inc",
+        "torque-generated/src/builtins/typed-array-sort-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-sort-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-sort-tq.inc",
+        "torque-generated/src/builtins/typed-array-subarray-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-subarray-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-subarray-tq.inc",
+        "torque-generated/src/builtins/typed-array-values-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-values-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-values-tq.inc",
+        "torque-generated/src/builtins/typed-array-tq-csa.h",
+        "torque-generated/src/builtins/typed-array-tq-inl.inc",
+        "torque-generated/src/builtins/typed-array-tq.inc",
+        "torque-generated/src/builtins/wasm-tq-csa.h",
+        "torque-generated/src/builtins/wasm-tq-inl.inc",
+        "torque-generated/src/builtins/wasm-tq.inc",
+        "torque-generated/src/builtins/weak-ref-tq-csa.h",
+        "torque-generated/src/builtins/weak-ref-tq-inl.inc",
+        "torque-generated/src/builtins/weak-ref-tq.inc",
+        "torque-generated/src/ic/handler-configuration-tq-csa.h",
+        "torque-generated/src/ic/handler-configuration-tq-inl.inc",
+        "torque-generated/src/ic/handler-configuration-tq.inc",
+        "torque-generated/src/objects/allocation-site-tq-csa.h",
+        "torque-generated/src/objects/allocation-site-tq-inl.inc",
+        "torque-generated/src/objects/allocation-site-tq.inc",
+        "torque-generated/src/objects/api-callbacks-tq-csa.h",
+        "torque-generated/src/objects/api-callbacks-tq-inl.inc",
+        "torque-generated/src/objects/api-callbacks-tq.inc",
+        "torque-generated/src/objects/arguments-tq-csa.h",
+        "torque-generated/src/objects/arguments-tq-inl.inc",
+        "torque-generated/src/objects/arguments-tq.inc",
+        "torque-generated/src/objects/bigint-tq-csa.h",
+        "torque-generated/src/objects/bigint-tq-inl.inc",
+        "torque-generated/src/objects/bigint-tq.inc",
+        "torque-generated/src/objects/cell-tq-csa.h",
+        "torque-generated/src/objects/cell-tq-inl.inc",
+        "torque-generated/src/objects/cell-tq.inc",
+        "torque-generated/src/objects/code-tq-csa.h",
+        "torque-generated/src/objects/code-tq-inl.inc",
+        "torque-generated/src/objects/code-tq.inc",
+        "torque-generated/src/objects/contexts-tq-csa.h",
+        "torque-generated/src/objects/contexts-tq-inl.inc",
+        "torque-generated/src/objects/contexts-tq.inc",
+        "torque-generated/src/objects/data-handler-tq-csa.h",
+        "torque-generated/src/objects/data-handler-tq-inl.inc",
+        "torque-generated/src/objects/data-handler-tq.inc",
+        "torque-generated/src/objects/debug-objects-tq-csa.h",
+        "torque-generated/src/objects/debug-objects-tq-inl.inc",
+        "torque-generated/src/objects/debug-objects-tq.inc",
+        "torque-generated/src/objects/descriptor-array-tq-csa.h",
+        "torque-generated/src/objects/descriptor-array-tq-inl.inc",
+        "torque-generated/src/objects/descriptor-array-tq.inc",
+        "torque-generated/src/objects/embedder-data-array-tq-csa.h",
+        "torque-generated/src/objects/embedder-data-array-tq-inl.inc",
+        "torque-generated/src/objects/embedder-data-array-tq.inc",
+        "torque-generated/src/objects/feedback-cell-tq-csa.h",
+        "torque-generated/src/objects/feedback-cell-tq-inl.inc",
+        "torque-generated/src/objects/feedback-cell-tq.inc",
+        "torque-generated/src/objects/feedback-vector-tq-csa.h",
+        "torque-generated/src/objects/feedback-vector-tq-inl.inc",
+        "torque-generated/src/objects/feedback-vector-tq.inc",
+        "torque-generated/src/objects/fixed-array-tq-csa.h",
+        "torque-generated/src/objects/fixed-array-tq-inl.inc",
+        "torque-generated/src/objects/fixed-array-tq.inc",
+        "torque-generated/src/objects/foreign-tq-csa.h",
+        "torque-generated/src/objects/foreign-tq-inl.inc",
+        "torque-generated/src/objects/foreign-tq.inc",
+        "torque-generated/src/objects/free-space-tq-csa.h",
+        "torque-generated/src/objects/free-space-tq-inl.inc",
+        "torque-generated/src/objects/free-space-tq.inc",
+        "torque-generated/src/objects/heap-number-tq-csa.h",
+        "torque-generated/src/objects/heap-number-tq-inl.inc",
+        "torque-generated/src/objects/heap-number-tq.inc",
+        "torque-generated/src/objects/heap-object-tq-csa.h",
+        "torque-generated/src/objects/heap-object-tq-inl.inc",
+        "torque-generated/src/objects/heap-object-tq.inc",
+        "torque-generated/src/objects/js-array-buffer-tq-csa.h",
+        "torque-generated/src/objects/js-array-buffer-tq-inl.inc",
+        "torque-generated/src/objects/js-array-buffer-tq.inc",
+        "torque-generated/src/objects/js-array-tq-csa.h",
+        "torque-generated/src/objects/js-array-tq-inl.inc",
+        "torque-generated/src/objects/js-array-tq.inc",
+        "torque-generated/src/objects/js-collection-iterator-tq-csa.h",
+        "torque-generated/src/objects/js-collection-iterator-tq-inl.inc",
+        "torque-generated/src/objects/js-collection-iterator-tq.inc",
+        "torque-generated/src/objects/js-collection-tq-csa.h",
+        "torque-generated/src/objects/js-collection-tq-inl.inc",
+        "torque-generated/src/objects/js-collection-tq.inc",
+        "torque-generated/src/objects/js-function-tq-csa.h",
+        "torque-generated/src/objects/js-function-tq-inl.inc",
+        "torque-generated/src/objects/js-function-tq.inc",
+        "torque-generated/src/objects/js-generator-tq-csa.h",
+        "torque-generated/src/objects/js-generator-tq-inl.inc",
+        "torque-generated/src/objects/js-generator-tq.inc",
+        "torque-generated/src/objects/js-objects-tq-csa.h",
+        "torque-generated/src/objects/js-objects-tq-inl.inc",
+        "torque-generated/src/objects/js-objects-tq.inc",
+        "torque-generated/src/objects/js-promise-tq-csa.h",
+        "torque-generated/src/objects/js-promise-tq-inl.inc",
+        "torque-generated/src/objects/js-promise-tq.inc",
+        "torque-generated/src/objects/js-proxy-tq-csa.h",
+        "torque-generated/src/objects/js-proxy-tq-inl.inc",
+        "torque-generated/src/objects/js-proxy-tq.inc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq-csa.h",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq-inl.inc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq.inc",
+        "torque-generated/src/objects/js-regexp-tq-csa.h",
+        "torque-generated/src/objects/js-regexp-tq-inl.inc",
+        "torque-generated/src/objects/js-regexp-tq.inc",
+        "torque-generated/src/objects/js-weak-refs-tq-csa.h",
+        "torque-generated/src/objects/js-weak-refs-tq-inl.inc",
+        "torque-generated/src/objects/js-weak-refs-tq.inc",
+        "torque-generated/src/objects/literal-objects-tq-csa.h",
+        "torque-generated/src/objects/literal-objects-tq-inl.inc",
+        "torque-generated/src/objects/literal-objects-tq.inc",
+        "torque-generated/src/objects/map-tq-csa.h",
+        "torque-generated/src/objects/map-tq-inl.inc",
+        "torque-generated/src/objects/map-tq.inc",
+        "torque-generated/src/objects/microtask-tq-csa.h",
+        "torque-generated/src/objects/microtask-tq-inl.inc",
+        "torque-generated/src/objects/microtask-tq.inc",
+        "torque-generated/src/objects/module-tq-csa.h",
+        "torque-generated/src/objects/module-tq-inl.inc",
+        "torque-generated/src/objects/module-tq.inc",
+        "torque-generated/src/objects/name-tq-csa.h",
+        "torque-generated/src/objects/name-tq-inl.inc",
+        "torque-generated/src/objects/name-tq.inc",
+        "torque-generated/src/objects/oddball-tq-csa.h",
+        "torque-generated/src/objects/oddball-tq-inl.inc",
+        "torque-generated/src/objects/oddball-tq.inc",
+        "torque-generated/src/objects/ordered-hash-table-tq-csa.h",
+        "torque-generated/src/objects/ordered-hash-table-tq-inl.inc",
+        "torque-generated/src/objects/ordered-hash-table-tq.inc",
+        "torque-generated/src/objects/primitive-heap-object-tq-csa.h",
+        "torque-generated/src/objects/primitive-heap-object-tq-inl.inc",
+        "torque-generated/src/objects/primitive-heap-object-tq.inc",
+        "torque-generated/src/objects/promise-tq-csa.h",
+        "torque-generated/src/objects/promise-tq-inl.inc",
+        "torque-generated/src/objects/promise-tq.inc",
+        "torque-generated/src/objects/property-array-tq-csa.h",
+        "torque-generated/src/objects/property-array-tq-inl.inc",
+        "torque-generated/src/objects/property-array-tq.inc",
+        "torque-generated/src/objects/property-cell-tq-csa.h",
+        "torque-generated/src/objects/property-cell-tq-inl.inc",
+        "torque-generated/src/objects/property-cell-tq.inc",
+        "torque-generated/src/objects/property-descriptor-object-tq-csa.h",
+        "torque-generated/src/objects/property-descriptor-object-tq-inl.inc",
+        "torque-generated/src/objects/property-descriptor-object-tq.inc",
+        "torque-generated/src/objects/prototype-info-tq-csa.h",
+        "torque-generated/src/objects/prototype-info-tq-inl.inc",
+        "torque-generated/src/objects/prototype-info-tq.inc",
+        "torque-generated/src/objects/regexp-match-info-tq-csa.h",
+        "torque-generated/src/objects/regexp-match-info-tq-inl.inc",
+        "torque-generated/src/objects/regexp-match-info-tq.inc",
+        "torque-generated/src/objects/scope-info-tq-csa.h",
+        "torque-generated/src/objects/scope-info-tq-inl.inc",
+        "torque-generated/src/objects/scope-info-tq.inc",
+        "torque-generated/src/objects/script-tq-csa.h",
+        "torque-generated/src/objects/script-tq-inl.inc",
+        "torque-generated/src/objects/script-tq.inc",
+        "torque-generated/src/objects/shared-function-info-tq-csa.h",
+        "torque-generated/src/objects/shared-function-info-tq-inl.inc",
+        "torque-generated/src/objects/shared-function-info-tq.inc",
+        "torque-generated/src/objects/source-text-module-tq-csa.h",
+        "torque-generated/src/objects/source-text-module-tq-inl.inc",
+        "torque-generated/src/objects/source-text-module-tq.inc",
+        "torque-generated/src/objects/stack-frame-info-tq-csa.h",
+        "torque-generated/src/objects/stack-frame-info-tq-inl.inc",
+        "torque-generated/src/objects/stack-frame-info-tq.inc",
+        "torque-generated/src/objects/string-tq-csa.h",
+        "torque-generated/src/objects/string-tq-inl.inc",
+        "torque-generated/src/objects/string-tq.inc",
+        "torque-generated/src/objects/struct-tq-csa.h",
+        "torque-generated/src/objects/struct-tq-inl.inc",
+        "torque-generated/src/objects/struct-tq.inc",
+        "torque-generated/src/objects/synthetic-module-tq-csa.h",
+        "torque-generated/src/objects/synthetic-module-tq-inl.inc",
+        "torque-generated/src/objects/synthetic-module-tq.inc",
+        "torque-generated/src/objects/template-objects-tq-csa.h",
+        "torque-generated/src/objects/template-objects-tq-inl.inc",
+        "torque-generated/src/objects/template-objects-tq.inc",
+        "torque-generated/src/objects/templates-tq-csa.h",
+        "torque-generated/src/objects/templates-tq-inl.inc",
+        "torque-generated/src/objects/templates-tq.inc",
+        "torque-generated/src/objects/torque-defined-classes-tq-csa.h",
+        "torque-generated/src/objects/torque-defined-classes-tq-inl.inc",
+        "torque-generated/src/objects/torque-defined-classes-tq.inc",
+        "torque-generated/src/wasm/wasm-objects-tq-csa.h",
+        "torque-generated/src/wasm/wasm-objects-tq-inl.inc",
+        "torque-generated/src/wasm/wasm-objects-tq.inc",
+        "torque-generated/test/torque/test-torque-tq-csa.h",
+        "torque-generated/test/torque/test-torque-tq-inl.inc",
+        "torque-generated/test/torque/test-torque-tq.inc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq-csa.h",
+        "torque-generated/third_party/v8/builtins/array-sort-tq-inl.inc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq.inc",
+    ],
+}
+
+genrule {
+    name: "v8_torque_file_cc_32",
+    tools: ["v8_torque"],
+    srcs: [":v8_torque_src_files"],
+    cmd: "mkdir -p $(genDir)/torque-generated/ && pushd . && cd $(genDir)/torque-generated/ && mkdir -p third_party/v8/builtins test/torque src/wasm src/ic src/objects src/builtins && popd && $(location v8_torque) -o $(genDir)/torque-generated/ -v8-root $$(pwd)/external/v8 -m32 $$(echo $(in) | sed 's/external.v8.//g'); true",
+    out: [
+        "torque-generated/factory.cc",
+        "torque-generated/class-verifiers.cc",
+        "torque-generated/enum-verifiers.cc",
+        "torque-generated/objects-printer.cc",
+        "torque-generated/exported-macros-assembler.cc",
+        "torque-generated/runtime-macros.cc",
+        "torque-generated/src/builtins/aggregate-error-tq-csa.cc",
+        "torque-generated/src/builtins/aggregate-error-tq.cc",
+        "torque-generated/src/builtins/array-copywithin-tq-csa.cc",
+        "torque-generated/src/builtins/array-copywithin-tq.cc",
+        "torque-generated/src/builtins/array-every-tq-csa.cc",
+        "torque-generated/src/builtins/array-every-tq.cc",
+        "torque-generated/src/builtins/array-filter-tq-csa.cc",
+        "torque-generated/src/builtins/array-filter-tq.cc",
+        "torque-generated/src/builtins/array-find-tq-csa.cc",
+        "torque-generated/src/builtins/array-find-tq.cc",
+        "torque-generated/src/builtins/array-findindex-tq-csa.cc",
+        "torque-generated/src/builtins/array-findindex-tq.cc",
+        "torque-generated/src/builtins/array-foreach-tq-csa.cc",
+        "torque-generated/src/builtins/array-foreach-tq.cc",
+        "torque-generated/src/builtins/array-from-tq-csa.cc",
+        "torque-generated/src/builtins/array-from-tq.cc",
+        "torque-generated/src/builtins/array-isarray-tq-csa.cc",
+        "torque-generated/src/builtins/array-isarray-tq.cc",
+        "torque-generated/src/builtins/array-join-tq-csa.cc",
+        "torque-generated/src/builtins/array-join-tq.cc",
+        "torque-generated/src/builtins/array-lastindexof-tq-csa.cc",
+        "torque-generated/src/builtins/array-lastindexof-tq.cc",
+        "torque-generated/src/builtins/array-map-tq-csa.cc",
+        "torque-generated/src/builtins/array-map-tq.cc",
+        "torque-generated/src/builtins/array-of-tq-csa.cc",
+        "torque-generated/src/builtins/array-of-tq.cc",
+        "torque-generated/src/builtins/array-reduce-right-tq-csa.cc",
+        "torque-generated/src/builtins/array-reduce-right-tq.cc",
+        "torque-generated/src/builtins/array-reduce-tq-csa.cc",
+        "torque-generated/src/builtins/array-reduce-tq.cc",
+        "torque-generated/src/builtins/array-reverse-tq-csa.cc",
+        "torque-generated/src/builtins/array-reverse-tq.cc",
+        "torque-generated/src/builtins/array-shift-tq-csa.cc",
+        "torque-generated/src/builtins/array-shift-tq.cc",
+        "torque-generated/src/builtins/array-slice-tq-csa.cc",
+        "torque-generated/src/builtins/array-slice-tq.cc",
+        "torque-generated/src/builtins/array-some-tq-csa.cc",
+        "torque-generated/src/builtins/array-some-tq.cc",
+        "torque-generated/src/builtins/array-splice-tq-csa.cc",
+        "torque-generated/src/builtins/array-splice-tq.cc",
+        "torque-generated/src/builtins/array-unshift-tq-csa.cc",
+        "torque-generated/src/builtins/array-unshift-tq.cc",
+        "torque-generated/src/builtins/array-tq-csa.cc",
+        "torque-generated/src/builtins/array-tq.cc",
+        "torque-generated/src/builtins/arraybuffer-tq-csa.cc",
+        "torque-generated/src/builtins/arraybuffer-tq.cc",
+        "torque-generated/src/builtins/base-tq-csa.cc",
+        "torque-generated/src/builtins/base-tq.cc",
+        "torque-generated/src/builtins/boolean-tq-csa.cc",
+        "torque-generated/src/builtins/boolean-tq.cc",
+        "torque-generated/src/builtins/builtins-bigint-tq-csa.cc",
+        "torque-generated/src/builtins/builtins-bigint-tq.cc",
+        "torque-generated/src/builtins/builtins-string-tq-csa.cc",
+        "torque-generated/src/builtins/builtins-string-tq.cc",
+        "torque-generated/src/builtins/cast-tq-csa.cc",
+        "torque-generated/src/builtins/cast-tq.cc",
+        "torque-generated/src/builtins/collections-tq-csa.cc",
+        "torque-generated/src/builtins/collections-tq.cc",
+        "torque-generated/src/builtins/constructor-tq-csa.cc",
+        "torque-generated/src/builtins/constructor-tq.cc",
+        "torque-generated/src/builtins/conversion-tq-csa.cc",
+        "torque-generated/src/builtins/conversion-tq.cc",
+        "torque-generated/src/builtins/convert-tq-csa.cc",
+        "torque-generated/src/builtins/convert-tq.cc",
+        "torque-generated/src/builtins/console-tq-csa.cc",
+        "torque-generated/src/builtins/console-tq.cc",
+        "torque-generated/src/builtins/data-view-tq-csa.cc",
+        "torque-generated/src/builtins/data-view-tq.cc",
+        "torque-generated/src/builtins/finalization-registry-tq-csa.cc",
+        "torque-generated/src/builtins/finalization-registry-tq.cc",
+        "torque-generated/src/builtins/frames-tq-csa.cc",
+        "torque-generated/src/builtins/frames-tq.cc",
+        "torque-generated/src/builtins/frame-arguments-tq-csa.cc",
+        "torque-generated/src/builtins/frame-arguments-tq.cc",
+        "torque-generated/src/builtins/function-tq-csa.cc",
+        "torque-generated/src/builtins/function-tq.cc",
+        "torque-generated/src/builtins/growable-fixed-array-tq-csa.cc",
+        "torque-generated/src/builtins/growable-fixed-array-tq.cc",
+        "torque-generated/src/builtins/ic-callable-tq-csa.cc",
+        "torque-generated/src/builtins/ic-callable-tq.cc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq-csa.cc",
+        "torque-generated/src/builtins/ic-dynamic-map-checks-tq.cc",
+        "torque-generated/src/builtins/ic-tq-csa.cc",
+        "torque-generated/src/builtins/ic-tq.cc",
+        "torque-generated/src/builtins/internal-coverage-tq-csa.cc",
+        "torque-generated/src/builtins/internal-coverage-tq.cc",
+        "torque-generated/src/builtins/internal-tq-csa.cc",
+        "torque-generated/src/builtins/internal-tq.cc",
+        "torque-generated/src/builtins/iterator-tq-csa.cc",
+        "torque-generated/src/builtins/iterator-tq.cc",
+        "torque-generated/src/builtins/math-tq-csa.cc",
+        "torque-generated/src/builtins/math-tq.cc",
+        "torque-generated/src/builtins/number-tq-csa.cc",
+        "torque-generated/src/builtins/number-tq.cc",
+        "torque-generated/src/builtins/object-fromentries-tq-csa.cc",
+        "torque-generated/src/builtins/object-fromentries-tq.cc",
+        "torque-generated/src/builtins/object-tq-csa.cc",
+        "torque-generated/src/builtins/object-tq.cc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq-csa.cc",
+        "torque-generated/src/builtins/promise-abstract-operations-tq.cc",
+        "torque-generated/src/builtins/promise-all-tq-csa.cc",
+        "torque-generated/src/builtins/promise-all-tq.cc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq-csa.cc",
+        "torque-generated/src/builtins/promise-all-element-closure-tq.cc",
+        "torque-generated/src/builtins/promise-any-tq-csa.cc",
+        "torque-generated/src/builtins/promise-any-tq.cc",
+        "torque-generated/src/builtins/promise-constructor-tq-csa.cc",
+        "torque-generated/src/builtins/promise-constructor-tq.cc",
+        "torque-generated/src/builtins/promise-finally-tq-csa.cc",
+        "torque-generated/src/builtins/promise-finally-tq.cc",
+        "torque-generated/src/builtins/promise-misc-tq-csa.cc",
+        "torque-generated/src/builtins/promise-misc-tq.cc",
+        "torque-generated/src/builtins/promise-race-tq-csa.cc",
+        "torque-generated/src/builtins/promise-race-tq.cc",
+        "torque-generated/src/builtins/promise-reaction-job-tq-csa.cc",
+        "torque-generated/src/builtins/promise-reaction-job-tq.cc",
+        "torque-generated/src/builtins/promise-resolve-tq-csa.cc",
+        "torque-generated/src/builtins/promise-resolve-tq.cc",
+        "torque-generated/src/builtins/promise-then-tq-csa.cc",
+        "torque-generated/src/builtins/promise-then-tq.cc",
+        "torque-generated/src/builtins/promise-jobs-tq-csa.cc",
+        "torque-generated/src/builtins/promise-jobs-tq.cc",
+        "torque-generated/src/builtins/proxy-constructor-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-constructor-tq.cc",
+        "torque-generated/src/builtins/proxy-delete-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-delete-property-tq.cc",
+        "torque-generated/src/builtins/proxy-get-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-get-property-tq.cc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-get-prototype-of-tq.cc",
+        "torque-generated/src/builtins/proxy-has-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-has-property-tq.cc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-is-extensible-tq.cc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-prevent-extensions-tq.cc",
+        "torque-generated/src/builtins/proxy-revocable-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-revocable-tq.cc",
+        "torque-generated/src/builtins/proxy-revoke-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-revoke-tq.cc",
+        "torque-generated/src/builtins/proxy-set-property-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-set-property-tq.cc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-set-prototype-of-tq.cc",
+        "torque-generated/src/builtins/proxy-tq-csa.cc",
+        "torque-generated/src/builtins/proxy-tq.cc",
+        "torque-generated/src/builtins/reflect-tq-csa.cc",
+        "torque-generated/src/builtins/reflect-tq.cc",
+        "torque-generated/src/builtins/regexp-exec-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-exec-tq.cc",
+        "torque-generated/src/builtins/regexp-match-all-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-match-all-tq.cc",
+        "torque-generated/src/builtins/regexp-match-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-match-tq.cc",
+        "torque-generated/src/builtins/regexp-replace-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-replace-tq.cc",
+        "torque-generated/src/builtins/regexp-search-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-search-tq.cc",
+        "torque-generated/src/builtins/regexp-source-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-source-tq.cc",
+        "torque-generated/src/builtins/regexp-split-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-split-tq.cc",
+        "torque-generated/src/builtins/regexp-test-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-test-tq.cc",
+        "torque-generated/src/builtins/regexp-tq-csa.cc",
+        "torque-generated/src/builtins/regexp-tq.cc",
+        "torque-generated/src/builtins/string-endswith-tq-csa.cc",
+        "torque-generated/src/builtins/string-endswith-tq.cc",
+        "torque-generated/src/builtins/string-html-tq-csa.cc",
+        "torque-generated/src/builtins/string-html-tq.cc",
+        "torque-generated/src/builtins/string-iterator-tq-csa.cc",
+        "torque-generated/src/builtins/string-iterator-tq.cc",
+        "torque-generated/src/builtins/string-pad-tq-csa.cc",
+        "torque-generated/src/builtins/string-pad-tq.cc",
+        "torque-generated/src/builtins/string-repeat-tq-csa.cc",
+        "torque-generated/src/builtins/string-repeat-tq.cc",
+        "torque-generated/src/builtins/string-replaceall-tq-csa.cc",
+        "torque-generated/src/builtins/string-replaceall-tq.cc",
+        "torque-generated/src/builtins/string-slice-tq-csa.cc",
+        "torque-generated/src/builtins/string-slice-tq.cc",
+        "torque-generated/src/builtins/string-startswith-tq-csa.cc",
+        "torque-generated/src/builtins/string-startswith-tq.cc",
+        "torque-generated/src/builtins/string-substr-tq-csa.cc",
+        "torque-generated/src/builtins/string-substr-tq.cc",
+        "torque-generated/src/builtins/string-substring-tq-csa.cc",
+        "torque-generated/src/builtins/string-substring-tq.cc",
+        "torque-generated/src/builtins/string-trim-tq-csa.cc",
+        "torque-generated/src/builtins/string-trim-tq.cc",
+        "torque-generated/src/builtins/symbol-tq-csa.cc",
+        "torque-generated/src/builtins/symbol-tq.cc",
+        "torque-generated/src/builtins/torque-internal-tq-csa.cc",
+        "torque-generated/src/builtins/torque-internal-tq.cc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-createtypedarray-tq.cc",
+        "torque-generated/src/builtins/typed-array-every-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-every-tq.cc",
+        "torque-generated/src/builtins/typed-array-entries-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-entries-tq.cc",
+        "torque-generated/src/builtins/typed-array-filter-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-filter-tq.cc",
+        "torque-generated/src/builtins/typed-array-find-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-find-tq.cc",
+        "torque-generated/src/builtins/typed-array-findindex-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-findindex-tq.cc",
+        "torque-generated/src/builtins/typed-array-foreach-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-foreach-tq.cc",
+        "torque-generated/src/builtins/typed-array-from-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-from-tq.cc",
+        "torque-generated/src/builtins/typed-array-keys-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-keys-tq.cc",
+        "torque-generated/src/builtins/typed-array-of-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-of-tq.cc",
+        "torque-generated/src/builtins/typed-array-reduce-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-reduce-tq.cc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-reduceright-tq.cc",
+        "torque-generated/src/builtins/typed-array-set-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-set-tq.cc",
+        "torque-generated/src/builtins/typed-array-slice-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-slice-tq.cc",
+        "torque-generated/src/builtins/typed-array-some-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-some-tq.cc",
+        "torque-generated/src/builtins/typed-array-sort-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-sort-tq.cc",
+        "torque-generated/src/builtins/typed-array-subarray-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-subarray-tq.cc",
+        "torque-generated/src/builtins/typed-array-values-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-values-tq.cc",
+        "torque-generated/src/builtins/typed-array-tq-csa.cc",
+        "torque-generated/src/builtins/typed-array-tq.cc",
+        "torque-generated/src/builtins/wasm-tq-csa.cc",
+        "torque-generated/src/builtins/wasm-tq.cc",
+        "torque-generated/src/builtins/weak-ref-tq-csa.cc",
+        "torque-generated/src/builtins/weak-ref-tq.cc",
+        "torque-generated/src/ic/handler-configuration-tq-csa.cc",
+        "torque-generated/src/ic/handler-configuration-tq.cc",
+        "torque-generated/src/objects/allocation-site-tq-csa.cc",
+        "torque-generated/src/objects/allocation-site-tq.cc",
+        "torque-generated/src/objects/api-callbacks-tq-csa.cc",
+        "torque-generated/src/objects/api-callbacks-tq.cc",
+        "torque-generated/src/objects/arguments-tq-csa.cc",
+        "torque-generated/src/objects/arguments-tq.cc",
+        "torque-generated/src/objects/bigint-tq-csa.cc",
+        "torque-generated/src/objects/bigint-tq.cc",
+        "torque-generated/src/objects/cell-tq-csa.cc",
+        "torque-generated/src/objects/cell-tq.cc",
+        "torque-generated/src/objects/code-tq-csa.cc",
+        "torque-generated/src/objects/code-tq.cc",
+        "torque-generated/src/objects/contexts-tq-csa.cc",
+        "torque-generated/src/objects/contexts-tq.cc",
+        "torque-generated/src/objects/data-handler-tq-csa.cc",
+        "torque-generated/src/objects/data-handler-tq.cc",
+        "torque-generated/src/objects/debug-objects-tq-csa.cc",
+        "torque-generated/src/objects/debug-objects-tq.cc",
+        "torque-generated/src/objects/descriptor-array-tq-csa.cc",
+        "torque-generated/src/objects/descriptor-array-tq.cc",
+        "torque-generated/src/objects/embedder-data-array-tq-csa.cc",
+        "torque-generated/src/objects/embedder-data-array-tq.cc",
+        "torque-generated/src/objects/feedback-cell-tq-csa.cc",
+        "torque-generated/src/objects/feedback-cell-tq.cc",
+        "torque-generated/src/objects/feedback-vector-tq-csa.cc",
+        "torque-generated/src/objects/feedback-vector-tq.cc",
+        "torque-generated/src/objects/fixed-array-tq-csa.cc",
+        "torque-generated/src/objects/fixed-array-tq.cc",
+        "torque-generated/src/objects/foreign-tq-csa.cc",
+        "torque-generated/src/objects/foreign-tq.cc",
+        "torque-generated/src/objects/free-space-tq-csa.cc",
+        "torque-generated/src/objects/free-space-tq.cc",
+        "torque-generated/src/objects/heap-number-tq-csa.cc",
+        "torque-generated/src/objects/heap-number-tq.cc",
+        "torque-generated/src/objects/heap-object-tq-csa.cc",
+        "torque-generated/src/objects/heap-object-tq.cc",
+        "torque-generated/src/objects/js-array-buffer-tq-csa.cc",
+        "torque-generated/src/objects/js-array-buffer-tq.cc",
+        "torque-generated/src/objects/js-array-tq-csa.cc",
+        "torque-generated/src/objects/js-array-tq.cc",
+        "torque-generated/src/objects/js-collection-iterator-tq-csa.cc",
+        "torque-generated/src/objects/js-collection-iterator-tq.cc",
+        "torque-generated/src/objects/js-collection-tq-csa.cc",
+        "torque-generated/src/objects/js-collection-tq.cc",
+        "torque-generated/src/objects/js-function-tq-csa.cc",
+        "torque-generated/src/objects/js-function-tq.cc",
+        "torque-generated/src/objects/js-generator-tq-csa.cc",
+        "torque-generated/src/objects/js-generator-tq.cc",
+        "torque-generated/src/objects/js-objects-tq-csa.cc",
+        "torque-generated/src/objects/js-objects-tq.cc",
+        "torque-generated/src/objects/js-promise-tq-csa.cc",
+        "torque-generated/src/objects/js-promise-tq.cc",
+        "torque-generated/src/objects/js-proxy-tq-csa.cc",
+        "torque-generated/src/objects/js-proxy-tq.cc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq-csa.cc",
+        "torque-generated/src/objects/js-regexp-string-iterator-tq.cc",
+        "torque-generated/src/objects/js-regexp-tq-csa.cc",
+        "torque-generated/src/objects/js-regexp-tq.cc",
+        "torque-generated/src/objects/js-weak-refs-tq-csa.cc",
+        "torque-generated/src/objects/js-weak-refs-tq.cc",
+        "torque-generated/src/objects/literal-objects-tq-csa.cc",
+        "torque-generated/src/objects/literal-objects-tq.cc",
+        "torque-generated/src/objects/map-tq-csa.cc",
+        "torque-generated/src/objects/map-tq.cc",
+        "torque-generated/src/objects/microtask-tq-csa.cc",
+        "torque-generated/src/objects/microtask-tq.cc",
+        "torque-generated/src/objects/module-tq-csa.cc",
+        "torque-generated/src/objects/module-tq.cc",
+        "torque-generated/src/objects/name-tq-csa.cc",
+        "torque-generated/src/objects/name-tq.cc",
+        "torque-generated/src/objects/oddball-tq-csa.cc",
+        "torque-generated/src/objects/oddball-tq.cc",
+        "torque-generated/src/objects/ordered-hash-table-tq-csa.cc",
+        "torque-generated/src/objects/ordered-hash-table-tq.cc",
+        "torque-generated/src/objects/primitive-heap-object-tq-csa.cc",
+        "torque-generated/src/objects/primitive-heap-object-tq.cc",
+        "torque-generated/src/objects/promise-tq-csa.cc",
+        "torque-generated/src/objects/promise-tq.cc",
+        "torque-generated/src/objects/property-array-tq-csa.cc",
+        "torque-generated/src/objects/property-array-tq.cc",
+        "torque-generated/src/objects/property-cell-tq-csa.cc",
+        "torque-generated/src/objects/property-cell-tq.cc",
+        "torque-generated/src/objects/property-descriptor-object-tq-csa.cc",
+        "torque-generated/src/objects/property-descriptor-object-tq.cc",
+        "torque-generated/src/objects/prototype-info-tq-csa.cc",
+        "torque-generated/src/objects/prototype-info-tq.cc",
+        "torque-generated/src/objects/regexp-match-info-tq-csa.cc",
+        "torque-generated/src/objects/regexp-match-info-tq.cc",
+        "torque-generated/src/objects/scope-info-tq-csa.cc",
+        "torque-generated/src/objects/scope-info-tq.cc",
+        "torque-generated/src/objects/script-tq-csa.cc",
+        "torque-generated/src/objects/script-tq.cc",
+        "torque-generated/src/objects/shared-function-info-tq-csa.cc",
+        "torque-generated/src/objects/shared-function-info-tq.cc",
+        "torque-generated/src/objects/source-text-module-tq-csa.cc",
+        "torque-generated/src/objects/source-text-module-tq.cc",
+        "torque-generated/src/objects/stack-frame-info-tq-csa.cc",
+        "torque-generated/src/objects/stack-frame-info-tq.cc",
+        "torque-generated/src/objects/string-tq-csa.cc",
+        "torque-generated/src/objects/string-tq.cc",
+        "torque-generated/src/objects/struct-tq-csa.cc",
+        "torque-generated/src/objects/struct-tq.cc",
+        "torque-generated/src/objects/synthetic-module-tq-csa.cc",
+        "torque-generated/src/objects/synthetic-module-tq.cc",
+        "torque-generated/src/objects/template-objects-tq-csa.cc",
+        "torque-generated/src/objects/template-objects-tq.cc",
+        "torque-generated/src/objects/templates-tq-csa.cc",
+        "torque-generated/src/objects/templates-tq.cc",
+        "torque-generated/src/objects/torque-defined-classes-tq-csa.cc",
+        "torque-generated/src/objects/torque-defined-classes-tq.cc",
+        "torque-generated/src/wasm/wasm-objects-tq-csa.cc",
+        "torque-generated/src/wasm/wasm-objects-tq.cc",
+        "torque-generated/test/torque/test-torque-tq-csa.cc",
+        "torque-generated/test/torque/test-torque-tq.cc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq-csa.cc",
+        "torque-generated/third_party/v8/builtins/array-sort-tq.cc",
+    ],
+}
diff --git a/Android.v8.bp b/Android.v8.bp
deleted file mode 100644
index 8df8e6c..0000000
--- a/Android.v8.bp
+++ /dev/null
@@ -1,656 +0,0 @@
-// GENERATED, do not edit
-// for changes, see genmakefiles.py
-cc_library_static {
-    name: "libv8src",
-    defaults: ["v8_defaults"],
-    srcs: [
-        "src/accessors.cc",
-        "src/address-map.cc",
-        "src/allocation.cc",
-        "src/api-arguments.cc",
-        "src/api-natives.cc",
-        "src/api.cc",
-        "src/arguments.cc",
-        "src/asmjs/asm-js.cc",
-        "src/asmjs/asm-parser.cc",
-        "src/asmjs/asm-scanner.cc",
-        "src/asmjs/asm-types.cc",
-        "src/asmjs/switch-logic.cc",
-        "src/assembler.cc",
-        "src/assert-scope.cc",
-        "src/ast/ast-function-literal-id-reindexer.cc",
-        "src/ast/ast-value-factory.cc",
-        "src/ast/ast.cc",
-        "src/ast/context-slot-cache.cc",
-        "src/ast/modules.cc",
-        "src/ast/prettyprinter.cc",
-        "src/ast/scopes.cc",
-        "src/ast/variables.cc",
-        "src/bailout-reason.cc",
-        "src/basic-block-profiler.cc",
-        "src/bignum-dtoa.cc",
-        "src/bignum.cc",
-        "src/bit-vector.cc",
-        "src/bootstrapper.cc",
-        "src/builtins/builtins-api.cc",
-        "src/builtins/builtins-arguments-gen.cc",
-        "src/builtins/builtins-array-gen.cc",
-        "src/builtins/builtins-array.cc",
-        "src/builtins/builtins-arraybuffer.cc",
-        "src/builtins/builtins-async-function-gen.cc",
-        "src/builtins/builtins-async-gen.cc",
-        "src/builtins/builtins-async-generator-gen.cc",
-        "src/builtins/builtins-async-iterator-gen.cc",
-        "src/builtins/builtins-bigint.cc",
-        "src/builtins/builtins-boolean-gen.cc",
-        "src/builtins/builtins-boolean.cc",
-        "src/builtins/builtins-call-gen.cc",
-        "src/builtins/builtins-call.cc",
-        "src/builtins/builtins-callsite.cc",
-        "src/builtins/builtins-collections-gen.cc",
-        "src/builtins/builtins-collections.cc",
-        "src/builtins/builtins-console-gen.cc",
-        "src/builtins/builtins-console.cc",
-        "src/builtins/builtins-constructor-gen.cc",
-        "src/builtins/builtins-conversion-gen.cc",
-        "src/builtins/builtins-dataview.cc",
-        "src/builtins/builtins-date-gen.cc",
-        "src/builtins/builtins-date.cc",
-        "src/builtins/builtins-debug-gen.cc",
-        "src/builtins/builtins-error.cc",
-        "src/builtins/builtins-function-gen.cc",
-        "src/builtins/builtins-function.cc",
-        "src/builtins/builtins-generator-gen.cc",
-        "src/builtins/builtins-global-gen.cc",
-        "src/builtins/builtins-global.cc",
-        "src/builtins/builtins-handler-gen.cc",
-        "src/builtins/builtins-ic-gen.cc",
-        "src/builtins/builtins-internal-gen.cc",
-        "src/builtins/builtins-internal.cc",
-        "src/builtins/builtins-interpreter-gen.cc",
-        "src/builtins/builtins-interpreter.cc",
-        "src/builtins/builtins-intl-gen.cc",
-        "src/builtins/builtins-intl.cc",
-        "src/builtins/builtins-iterator-gen.cc",
-        "src/builtins/builtins-json.cc",
-        "src/builtins/builtins-lazy-gen.cc",
-        "src/builtins/builtins-math-gen.cc",
-        "src/builtins/builtins-math.cc",
-        "src/builtins/builtins-number-gen.cc",
-        "src/builtins/builtins-number.cc",
-        "src/builtins/builtins-object-gen.cc",
-        "src/builtins/builtins-object.cc",
-        "src/builtins/builtins-promise-gen.cc",
-        "src/builtins/builtins-promise.cc",
-        "src/builtins/builtins-proxy-gen.cc",
-        "src/builtins/builtins-reflect-gen.cc",
-        "src/builtins/builtins-reflect.cc",
-        "src/builtins/builtins-regexp-gen.cc",
-        "src/builtins/builtins-regexp.cc",
-        "src/builtins/builtins-sharedarraybuffer-gen.cc",
-        "src/builtins/builtins-sharedarraybuffer.cc",
-        "src/builtins/builtins-string-gen.cc",
-        "src/builtins/builtins-string.cc",
-        "src/builtins/builtins-symbol-gen.cc",
-        "src/builtins/builtins-symbol.cc",
-        "src/builtins/builtins-trace.cc",
-        "src/builtins/builtins-typed-array-gen.cc",
-        "src/builtins/builtins-typed-array.cc",
-        "src/builtins/builtins-wasm-gen.cc",
-        "src/builtins/builtins.cc",
-        "src/builtins/constants-table-builder.cc",
-        "src/builtins/growable-fixed-array-gen.cc",
-        "src/builtins/setup-builtins-internal.cc",
-        "src/cached-powers.cc",
-        "src/cancelable-task.cc",
-        "src/char-predicates.cc",
-        "src/code-factory.cc",
-        "src/code-reference.cc",
-        "src/code-stub-assembler.cc",
-        "src/code-stubs.cc",
-        "src/codegen.cc",
-        "src/compilation-cache.cc",
-        "src/compilation-statistics.cc",
-        "src/compiler-dispatcher/compiler-dispatcher-job.cc",
-        "src/compiler-dispatcher/compiler-dispatcher-tracer.cc",
-        "src/compiler-dispatcher/compiler-dispatcher.cc",
-        "src/compiler-dispatcher/optimizing-compile-dispatcher.cc",
-        "src/compiler-dispatcher/unoptimized-compile-job.cc",
-        "src/compiler.cc",
-        "src/compiler/access-builder.cc",
-        "src/compiler/access-info.cc",
-        "src/compiler/all-nodes.cc",
-        "src/compiler/basic-block-instrumentor.cc",
-        "src/compiler/branch-elimination.cc",
-        "src/compiler/bytecode-analysis.cc",
-        "src/compiler/bytecode-graph-builder.cc",
-        "src/compiler/bytecode-liveness-map.cc",
-        "src/compiler/c-linkage.cc",
-        "src/compiler/checkpoint-elimination.cc",
-        "src/compiler/code-assembler.cc",
-        "src/compiler/code-generator.cc",
-        "src/compiler/common-node-cache.cc",
-        "src/compiler/common-operator-reducer.cc",
-        "src/compiler/common-operator.cc",
-        "src/compiler/compilation-dependencies.cc",
-        "src/compiler/compiler-source-position-table.cc",
-        "src/compiler/constant-folding-reducer.cc",
-        "src/compiler/control-equivalence.cc",
-        "src/compiler/control-flow-optimizer.cc",
-        "src/compiler/dead-code-elimination.cc",
-        "src/compiler/effect-control-linearizer.cc",
-        "src/compiler/escape-analysis-reducer.cc",
-        "src/compiler/escape-analysis.cc",
-        "src/compiler/frame-elider.cc",
-        "src/compiler/frame-states.cc",
-        "src/compiler/frame.cc",
-        "src/compiler/gap-resolver.cc",
-        "src/compiler/graph-assembler.cc",
-        "src/compiler/graph-reducer.cc",
-        "src/compiler/graph-trimmer.cc",
-        "src/compiler/graph-visualizer.cc",
-        "src/compiler/graph.cc",
-        "src/compiler/instruction-scheduler.cc",
-        "src/compiler/instruction-selector.cc",
-        "src/compiler/instruction.cc",
-        "src/compiler/int64-lowering.cc",
-        "src/compiler/js-call-reducer.cc",
-        "src/compiler/js-context-specialization.cc",
-        "src/compiler/js-create-lowering.cc",
-        "src/compiler/js-generic-lowering.cc",
-        "src/compiler/js-graph.cc",
-        "src/compiler/js-heap-broker.cc",
-        "src/compiler/js-heap-copy-reducer.cc",
-        "src/compiler/js-inlining-heuristic.cc",
-        "src/compiler/js-inlining.cc",
-        "src/compiler/js-intrinsic-lowering.cc",
-        "src/compiler/js-native-context-specialization.cc",
-        "src/compiler/js-operator.cc",
-        "src/compiler/js-type-hint-lowering.cc",
-        "src/compiler/js-typed-lowering.cc",
-        "src/compiler/jump-threading.cc",
-        "src/compiler/linkage.cc",
-        "src/compiler/live-range-separator.cc",
-        "src/compiler/load-elimination.cc",
-        "src/compiler/loop-analysis.cc",
-        "src/compiler/loop-peeling.cc",
-        "src/compiler/loop-variable-optimizer.cc",
-        "src/compiler/machine-graph-verifier.cc",
-        "src/compiler/machine-graph.cc",
-        "src/compiler/machine-operator-reducer.cc",
-        "src/compiler/machine-operator.cc",
-        "src/compiler/memory-optimizer.cc",
-        "src/compiler/move-optimizer.cc",
-        "src/compiler/node-cache.cc",
-        "src/compiler/node-marker.cc",
-        "src/compiler/node-matchers.cc",
-        "src/compiler/node-origin-table.cc",
-        "src/compiler/node-properties.cc",
-        "src/compiler/node.cc",
-        "src/compiler/opcodes.cc",
-        "src/compiler/operation-typer.cc",
-        "src/compiler/operator-properties.cc",
-        "src/compiler/operator.cc",
-        "src/compiler/osr.cc",
-        "src/compiler/pipeline-statistics.cc",
-        "src/compiler/pipeline.cc",
-        "src/compiler/property-access-builder.cc",
-        "src/compiler/raw-machine-assembler.cc",
-        "src/compiler/redundancy-elimination.cc",
-        "src/compiler/register-allocator-verifier.cc",
-        "src/compiler/register-allocator.cc",
-        "src/compiler/representation-change.cc",
-        "src/compiler/schedule.cc",
-        "src/compiler/scheduler.cc",
-        "src/compiler/select-lowering.cc",
-        "src/compiler/simd-scalar-lowering.cc",
-        "src/compiler/simplified-lowering.cc",
-        "src/compiler/simplified-operator-reducer.cc",
-        "src/compiler/simplified-operator.cc",
-        "src/compiler/state-values-utils.cc",
-        "src/compiler/store-store-elimination.cc",
-        "src/compiler/type-cache.cc",
-        "src/compiler/type-narrowing-reducer.cc",
-        "src/compiler/typed-optimization.cc",
-        "src/compiler/typer.cc",
-        "src/compiler/types.cc",
-        "src/compiler/value-numbering-reducer.cc",
-        "src/compiler/verifier.cc",
-        "src/compiler/wasm-compiler.cc",
-        "src/compiler/zone-stats.cc",
-        "src/contexts.cc",
-        "src/conversions.cc",
-        "src/counters.cc",
-        "src/date.cc",
-        "src/dateparser.cc",
-        "src/debug/debug-coverage.cc",
-        "src/debug/debug-evaluate.cc",
-        "src/debug/debug-frames.cc",
-        "src/debug/debug-scope-iterator.cc",
-        "src/debug/debug-scopes.cc",
-        "src/debug/debug-stack-trace-iterator.cc",
-        "src/debug/debug-type-profile.cc",
-        "src/debug/debug.cc",
-        "src/debug/liveedit.cc",
-        "src/deoptimize-reason.cc",
-        "src/deoptimizer.cc",
-        "src/disassembler.cc",
-        "src/diy-fp.cc",
-        "src/dtoa.cc",
-        "src/eh-frame.cc",
-        "src/elements-kind.cc",
-        "src/elements.cc",
-        "src/execution.cc",
-        "src/extensions/externalize-string-extension.cc",
-        "src/extensions/free-buffer-extension.cc",
-        "src/extensions/gc-extension.cc",
-        "src/extensions/ignition-statistics-extension.cc",
-        "src/extensions/statistics-extension.cc",
-        "src/extensions/trigger-failure-extension.cc",
-        "src/external-reference-table.cc",
-        "src/external-reference.cc",
-        "src/fast-dtoa.cc",
-        "src/feedback-vector.cc",
-        "src/field-type.cc",
-        "src/fixed-dtoa.cc",
-        "src/flags.cc",
-        "src/frames.cc",
-        "src/futex-emulation.cc",
-        "src/gdb-jit.cc",
-        "src/global-handles.cc",
-        "src/handler-table.cc",
-        "src/handles.cc",
-        "src/heap/array-buffer-collector.cc",
-        "src/heap/array-buffer-tracker.cc",
-        "src/heap/code-stats.cc",
-        "src/heap/concurrent-marking.cc",
-        "src/heap/embedder-tracing.cc",
-        "src/heap/factory.cc",
-        "src/heap/gc-idle-time-handler.cc",
-        "src/heap/gc-tracer.cc",
-        "src/heap/heap-controller.cc",
-        "src/heap/heap.cc",
-        "src/heap/incremental-marking-job.cc",
-        "src/heap/incremental-marking.cc",
-        "src/heap/invalidated-slots.cc",
-        "src/heap/item-parallel-job.cc",
-        "src/heap/mark-compact.cc",
-        "src/heap/marking.cc",
-        "src/heap/memory-reducer.cc",
-        "src/heap/object-stats.cc",
-        "src/heap/objects-visiting.cc",
-        "src/heap/scavenge-job.cc",
-        "src/heap/scavenger.cc",
-        "src/heap/setup-heap-internal.cc",
-        "src/heap/spaces.cc",
-        "src/heap/store-buffer.cc",
-        "src/heap/stress-marking-observer.cc",
-        "src/heap/stress-scavenge-observer.cc",
-        "src/heap/sweeper.cc",
-        "src/ic/accessor-assembler.cc",
-        "src/ic/binary-op-assembler.cc",
-        "src/ic/call-optimization.cc",
-        "src/ic/handler-configuration.cc",
-        "src/ic/ic-stats.cc",
-        "src/ic/ic.cc",
-        "src/ic/keyed-store-generic.cc",
-        "src/ic/stub-cache.cc",
-        "src/icu_util.cc",
-        "src/identity-map.cc",
-        "src/instruction-stream.cc",
-        "src/interface-descriptors.cc",
-        "src/interpreter/bytecode-array-accessor.cc",
-        "src/interpreter/bytecode-array-builder.cc",
-        "src/interpreter/bytecode-array-iterator.cc",
-        "src/interpreter/bytecode-array-random-iterator.cc",
-        "src/interpreter/bytecode-array-writer.cc",
-        "src/interpreter/bytecode-decoder.cc",
-        "src/interpreter/bytecode-flags.cc",
-        "src/interpreter/bytecode-generator.cc",
-        "src/interpreter/bytecode-label.cc",
-        "src/interpreter/bytecode-node.cc",
-        "src/interpreter/bytecode-operands.cc",
-        "src/interpreter/bytecode-register-optimizer.cc",
-        "src/interpreter/bytecode-register.cc",
-        "src/interpreter/bytecode-source-info.cc",
-        "src/interpreter/bytecodes.cc",
-        "src/interpreter/constant-array-builder.cc",
-        "src/interpreter/control-flow-builders.cc",
-        "src/interpreter/handler-table-builder.cc",
-        "src/interpreter/interpreter-assembler.cc",
-        "src/interpreter/interpreter-generator.cc",
-        "src/interpreter/interpreter-intrinsics-generator.cc",
-        "src/interpreter/interpreter-intrinsics.cc",
-        "src/interpreter/interpreter.cc",
-        "src/interpreter/setup-interpreter-internal.cc",
-        "src/intl.cc",
-        "src/isolate.cc",
-        "src/json-parser.cc",
-        "src/json-stringifier.cc",
-        "src/keys.cc",
-        "src/layout-descriptor.cc",
-        "src/log-utils.cc",
-        "src/log.cc",
-        "src/lookup-cache.cc",
-        "src/lookup.cc",
-        "src/machine-type.cc",
-        "src/map-updater.cc",
-        "src/messages.cc",
-        "src/objects-debug.cc",
-        "src/objects-printer.cc",
-        "src/objects.cc",
-        "src/objects/bigint.cc",
-        "src/objects/debug-objects.cc",
-        "src/objects/intl-objects.cc",
-        "src/objects/js-array-buffer.cc",
-        "src/objects/js-collator.cc",
-        "src/objects/js-list-format.cc",
-        "src/objects/js-locale.cc",
-        "src/objects/js-plural-rules.cc",
-        "src/objects/js-relative-time-format.cc",
-        "src/objects/literal-objects.cc",
-        "src/objects/managed.cc",
-        "src/objects/module.cc",
-        "src/objects/ordered-hash-table.cc",
-        "src/objects/scope-info.cc",
-        "src/objects/template-objects.cc",
-        "src/optimized-compilation-info.cc",
-        "src/ostreams.cc",
-        "src/parsing/expression-scope-reparenter.cc",
-        "src/parsing/func-name-inferrer.cc",
-        "src/parsing/parse-info.cc",
-        "src/parsing/parser.cc",
-        "src/parsing/parsing.cc",
-        "src/parsing/pattern-rewriter.cc",
-        "src/parsing/preparsed-scope-data.cc",
-        "src/parsing/preparser.cc",
-        "src/parsing/rewriter.cc",
-        "src/parsing/scanner-character-streams.cc",
-        "src/parsing/scanner.cc",
-        "src/parsing/token.cc",
-        "src/pending-compilation-error-handler.cc",
-        "src/perf-jit.cc",
-        "src/profiler/allocation-tracker.cc",
-        "src/profiler/cpu-profiler.cc",
-        "src/profiler/heap-profiler.cc",
-        "src/profiler/heap-snapshot-generator.cc",
-        "src/profiler/profile-generator.cc",
-        "src/profiler/profiler-listener.cc",
-        "src/profiler/sampling-heap-profiler.cc",
-        "src/profiler/strings-storage.cc",
-        "src/profiler/tick-sample.cc",
-        "src/profiler/tracing-cpu-profiler.cc",
-        "src/property-descriptor.cc",
-        "src/property.cc",
-        "src/regexp/interpreter-irregexp.cc",
-        "src/regexp/jsregexp.cc",
-        "src/regexp/regexp-ast.cc",
-        "src/regexp/regexp-macro-assembler-irregexp.cc",
-        "src/regexp/regexp-macro-assembler-tracer.cc",
-        "src/regexp/regexp-macro-assembler.cc",
-        "src/regexp/regexp-parser.cc",
-        "src/regexp/regexp-stack.cc",
-        "src/regexp/regexp-utils.cc",
-        "src/register-configuration.cc",
-        "src/reloc-info.cc",
-        "src/runtime-profiler.cc",
-        "src/runtime/runtime-array.cc",
-        "src/runtime/runtime-atomics.cc",
-        "src/runtime/runtime-bigint.cc",
-        "src/runtime/runtime-classes.cc",
-        "src/runtime/runtime-collections.cc",
-        "src/runtime/runtime-compiler.cc",
-        "src/runtime/runtime-date.cc",
-        "src/runtime/runtime-debug.cc",
-        "src/runtime/runtime-forin.cc",
-        "src/runtime/runtime-function.cc",
-        "src/runtime/runtime-futex.cc",
-        "src/runtime/runtime-generator.cc",
-        "src/runtime/runtime-internal.cc",
-        "src/runtime/runtime-interpreter.cc",
-        "src/runtime/runtime-intl.cc",
-        "src/runtime/runtime-literals.cc",
-        "src/runtime/runtime-maths.cc",
-        "src/runtime/runtime-module.cc",
-        "src/runtime/runtime-numbers.cc",
-        "src/runtime/runtime-object.cc",
-        "src/runtime/runtime-operators.cc",
-        "src/runtime/runtime-promise.cc",
-        "src/runtime/runtime-proxy.cc",
-        "src/runtime/runtime-regexp.cc",
-        "src/runtime/runtime-scopes.cc",
-        "src/runtime/runtime-strings.cc",
-        "src/runtime/runtime-symbol.cc",
-        "src/runtime/runtime-test.cc",
-        "src/runtime/runtime-typedarray.cc",
-        "src/runtime/runtime-wasm.cc",
-        "src/runtime/runtime.cc",
-        "src/safepoint-table.cc",
-        "src/setup-isolate-full.cc",
-        "src/simulator-base.cc",
-        "src/snapshot/builtin-deserializer-allocator.cc",
-        "src/snapshot/builtin-deserializer.cc",
-        "src/snapshot/builtin-serializer-allocator.cc",
-        "src/snapshot/builtin-serializer.cc",
-        "src/snapshot/builtin-snapshot-utils.cc",
-        "src/snapshot/code-serializer.cc",
-        "src/snapshot/default-deserializer-allocator.cc",
-        "src/snapshot/default-serializer-allocator.cc",
-        "src/snapshot/deserializer.cc",
-        "src/snapshot/natives-common.cc",
-        "src/snapshot/object-deserializer.cc",
-        "src/snapshot/partial-deserializer.cc",
-        "src/snapshot/partial-serializer.cc",
-        "src/snapshot/serializer-common.cc",
-        "src/snapshot/serializer.cc",
-        "src/snapshot/snapshot-common.cc",
-        "src/snapshot/snapshot-source-sink.cc",
-        "src/snapshot/startup-deserializer.cc",
-        "src/snapshot/startup-serializer.cc",
-        "src/source-position-table.cc",
-        "src/source-position.cc",
-        "src/startup-data-util.cc",
-        "src/string-builder.cc",
-        "src/string-case.cc",
-        "src/string-stream.cc",
-        "src/strtod.cc",
-        "src/tracing/trace-event.cc",
-        "src/tracing/traced-value.cc",
-        "src/tracing/tracing-category-observer.cc",
-        "src/transitions.cc",
-        "src/trap-handler/handler-inside.cc",
-        "src/trap-handler/handler-outside.cc",
-        "src/trap-handler/handler-shared.cc",
-        "src/turbo-assembler.cc",
-        "src/type-hints.cc",
-        "src/unicode-decoder.cc",
-        "src/unicode.cc",
-        "src/unoptimized-compilation-info.cc",
-        "src/uri.cc",
-        "src/utils.cc",
-        "src/v8.cc",
-        "src/v8threads.cc",
-        "src/value-serializer.cc",
-        "src/vector-slot-pair.cc",
-        "src/version.cc",
-        "src/visitors.cc",
-        "src/wasm/baseline/liftoff-assembler.cc",
-        "src/wasm/baseline/liftoff-compiler.cc",
-        "src/wasm/function-body-decoder.cc",
-        "src/wasm/function-compiler.cc",
-        "src/wasm/jump-table-assembler.cc",
-        "src/wasm/local-decl-encoder.cc",
-        "src/wasm/memory-tracing.cc",
-        "src/wasm/module-compiler.cc",
-        "src/wasm/module-decoder.cc",
-        "src/wasm/signature-map.cc",
-        "src/wasm/streaming-decoder.cc",
-        "src/wasm/wasm-code-manager.cc",
-        "src/wasm/wasm-debug.cc",
-        "src/wasm/wasm-engine.cc",
-        "src/wasm/wasm-external-refs.cc",
-        "src/wasm/wasm-features.cc",
-        "src/wasm/wasm-interpreter.cc",
-        "src/wasm/wasm-js.cc",
-        "src/wasm/wasm-memory.cc",
-        "src/wasm/wasm-module-builder.cc",
-        "src/wasm/wasm-module.cc",
-        "src/wasm/wasm-objects.cc",
-        "src/wasm/wasm-opcodes.cc",
-        "src/wasm/wasm-result.cc",
-        "src/wasm/wasm-serialization.cc",
-        "src/wasm/wasm-text.cc",
-        "src/zone/accounting-allocator.cc",
-        "src/zone/zone-segment.cc",
-        "src/zone/zone.cc",
-    ],
-    arch: {
-        arm: {
-            srcs: [
-                "src/arm/assembler-arm.cc",
-                "src/arm/code-stubs-arm.cc",
-                "src/arm/codegen-arm.cc",
-                "src/arm/constants-arm.cc",
-                "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/interface-descriptors-arm.cc",
-                "src/arm/macro-assembler-arm.cc",
-                "src/arm/simulator-arm.cc",
-                "src/builtins/arm/builtins-arm.cc",
-                "src/compiler/arm/code-generator-arm.cc",
-                "src/compiler/arm/instruction-scheduler-arm.cc",
-                "src/compiler/arm/instruction-selector-arm.cc",
-                "src/compiler/arm/unwinding-info-writer-arm.cc",
-                "src/debug/arm/debug-arm.cc",
-                "src/regexp/arm/regexp-macro-assembler-arm.cc",
-            ],
-        },
-        arm64: {
-            srcs: [
-                "src/arm64/assembler-arm64.cc",
-                "src/arm64/code-stubs-arm64.cc",
-                "src/arm64/codegen-arm64.cc",
-                "src/arm64/cpu-arm64.cc",
-                "src/arm64/decoder-arm64.cc",
-                "src/arm64/deoptimizer-arm64.cc",
-                "src/arm64/disasm-arm64.cc",
-                "src/arm64/eh-frame-arm64.cc",
-                "src/arm64/frame-constants-arm64.cc",
-                "src/arm64/instructions-arm64-constants.cc",
-                "src/arm64/instructions-arm64.cc",
-                "src/arm64/instrument-arm64.cc",
-                "src/arm64/interface-descriptors-arm64.cc",
-                "src/arm64/macro-assembler-arm64.cc",
-                "src/arm64/simulator-arm64.cc",
-                "src/arm64/simulator-logic-arm64.cc",
-                "src/arm64/utils-arm64.cc",
-                "src/builtins/arm64/builtins-arm64.cc",
-                "src/compiler/arm64/code-generator-arm64.cc",
-                "src/compiler/arm64/instruction-scheduler-arm64.cc",
-                "src/compiler/arm64/instruction-selector-arm64.cc",
-                "src/compiler/arm64/unwinding-info-writer-arm64.cc",
-                "src/debug/arm64/debug-arm64.cc",
-                "src/regexp/arm64/regexp-macro-assembler-arm64.cc",
-            ],
-        },
-        mips: {
-            srcs: [
-                "src/builtins/mips/builtins-mips.cc",
-                "src/compiler/mips/code-generator-mips.cc",
-                "src/compiler/mips/instruction-scheduler-mips.cc",
-                "src/compiler/mips/instruction-selector-mips.cc",
-                "src/debug/mips/debug-mips.cc",
-                "src/mips/assembler-mips.cc",
-                "src/mips/code-stubs-mips.cc",
-                "src/mips/codegen-mips.cc",
-                "src/mips/constants-mips.cc",
-                "src/mips/cpu-mips.cc",
-                "src/mips/deoptimizer-mips.cc",
-                "src/mips/disasm-mips.cc",
-                "src/mips/frame-constants-mips.cc",
-                "src/mips/interface-descriptors-mips.cc",
-                "src/mips/macro-assembler-mips.cc",
-                "src/mips/simulator-mips.cc",
-                "src/regexp/mips/regexp-macro-assembler-mips.cc",
-            ],
-        },
-        mips64: {
-            srcs: [
-                "src/builtins/mips64/builtins-mips64.cc",
-                "src/compiler/mips64/code-generator-mips64.cc",
-                "src/compiler/mips64/instruction-scheduler-mips64.cc",
-                "src/compiler/mips64/instruction-selector-mips64.cc",
-                "src/debug/mips64/debug-mips64.cc",
-                "src/mips64/assembler-mips64.cc",
-                "src/mips64/code-stubs-mips64.cc",
-                "src/mips64/codegen-mips64.cc",
-                "src/mips64/constants-mips64.cc",
-                "src/mips64/cpu-mips64.cc",
-                "src/mips64/deoptimizer-mips64.cc",
-                "src/mips64/disasm-mips64.cc",
-                "src/mips64/frame-constants-mips64.cc",
-                "src/mips64/interface-descriptors-mips64.cc",
-                "src/mips64/macro-assembler-mips64.cc",
-                "src/mips64/simulator-mips64.cc",
-                "src/regexp/mips64/regexp-macro-assembler-mips64.cc",
-            ],
-        },
-        x86: {
-            srcs: [
-                "src/builtins/ia32/builtins-ia32.cc",
-                "src/compiler/ia32/code-generator-ia32.cc",
-                "src/compiler/ia32/instruction-scheduler-ia32.cc",
-                "src/compiler/ia32/instruction-selector-ia32.cc",
-                "src/debug/ia32/debug-ia32.cc",
-                "src/ia32/assembler-ia32.cc",
-                "src/ia32/code-stubs-ia32.cc",
-                "src/ia32/codegen-ia32.cc",
-                "src/ia32/cpu-ia32.cc",
-                "src/ia32/deoptimizer-ia32.cc",
-                "src/ia32/disasm-ia32.cc",
-                "src/ia32/frame-constants-ia32.cc",
-                "src/ia32/interface-descriptors-ia32.cc",
-                "src/ia32/macro-assembler-ia32.cc",
-                "src/ia32/simulator-ia32.cc",
-                "src/regexp/ia32/regexp-macro-assembler-ia32.cc",
-            ],
-        },
-        x86_64: {
-            srcs: [
-                "src/builtins/x64/builtins-x64.cc",
-                "src/compiler/x64/code-generator-x64.cc",
-                "src/compiler/x64/instruction-scheduler-x64.cc",
-                "src/compiler/x64/instruction-selector-x64.cc",
-                "src/compiler/x64/unwinding-info-writer-x64.cc",
-                "src/debug/x64/debug-x64.cc",
-                "src/regexp/x64/regexp-macro-assembler-x64.cc",
-                "src/x64/assembler-x64.cc",
-                "src/x64/code-stubs-x64.cc",
-                "src/x64/codegen-x64.cc",
-                "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/interface-descriptors-x64.cc",
-                "src/x64/macro-assembler-x64.cc",
-                "src/x64/simulator-x64.cc",
-            ],
-        },
-    },
-    target: {
-        android: {
-            cflags: ["-DANDROID_LINK_SHARED_ICU4C"],
-        },
-    },
-    local_include_dirs: ["src"],
-    header_libs: [
-        "libicuuc_headers",
-        "libicui18n_headers",
-    ],
-    generated_headers: ["v8_torque_file"],
-    generated_sources: ["v8_torque_file_cc"],
-}
diff --git a/Android.v8gen.bp b/Android.v8gen.bp
deleted file mode 100644
index 7837153..0000000
--- a/Android.v8gen.bp
+++ /dev/null
@@ -1,13 +0,0 @@
-// GENERATED, do not edit
-// for changes, see genmakefiles.py
-filegroup {
-    name: "v8_js_lib_files",
-    srcs: [
-        "src/js/macros.py",
-        "src/messages.h",
-        "src/js/prologue.js",
-        "src/js/array.js",
-        "src/js/typedarray.js",
-        "src/js/intl.js",
-    ],
-}
diff --git a/BUILD.gn b/BUILD.gn
index 0b35446..1dc6c7d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -6,7 +6,6 @@
 import("//build/config/arm.gni")
 import("//build/config/dcheck_always_on.gni")
 import("//build/config/host_byteorder.gni")
-import("//build/config/jumbo.gni")
 import("//build/config/mips.gni")
 import("//build/config/sanitizers/sanitizers.gni")
 import("//build_overrides/build.gni")
@@ -15,8 +14,17 @@
   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
+# snapshots.
+target_is_simulator = (target_cpu != v8_target_cpu && !v8_multi_arch_build) ||
+                      (current_cpu != v8_current_cpu && v8_multi_arch_build)
+
+# For faster Windows builds. See https://crbug.com/v8/8475.
+emit_builtins_as_inline_asm = is_win && is_clang
 
 declare_args() {
   # Print to stdout on Android.
@@ -32,6 +40,11 @@
   # Sets -DV8_ENABLE_FUTURE.
   v8_enable_future = false
 
+  # Lite mode disables a number of performance optimizations to reduce memory
+  # at the cost of performance.
+  # Sets --DV8_LITE_MODE.
+  v8_enable_lite_mode = false
+
   # Sets -DVERIFY_HEAP.
   v8_enable_verify_heap = ""
 
@@ -62,6 +75,9 @@
   # Sets -dENABLE_VTUNE_JIT_INTERFACE.
   v8_enable_vtunejit = false
 
+  # Sets -dENABLE_VTUNE_TRACEMARK.
+  v8_enable_vtunetracemark = false
+
   # Sets -dENABLE_HANDLE_ZAPPING.
   v8_enable_handle_zapping = is_debug
 
@@ -71,23 +87,33 @@
   # Enable fast mksnapshot runs.
   v8_enable_fast_mksnapshot = false
 
-  # Enable embedded builtins.
-  # TODO(jgruber,v8:6666): Support ia32 and maybe MSVC.
-  v8_enable_embedded_builtins = v8_use_snapshot && v8_current_cpu != "x86" &&
-                                !is_aix && (!is_win || is_clang)
+  # Optimize code for Torque executable, even during a debug build.
+  v8_enable_fast_torque = ""
 
-  # Enable embedded bytecode handlers.
-  v8_enable_embedded_bytecode_handlers = false
+  # Enable the registration of unwinding info for Windows x64 and ARM64.
+  v8_win64_unwinding_info = true
+
+  # Enable code comments for builtins in the snapshot (impacts performance).
+  v8_enable_snapshot_code_comments = false
+
+  # Enable native counters from the snapshot (impacts performance, sets
+  # -dV8_SNAPSHOT_NATIVE_CODE_COUNTERS).
+  # This option will generate extra code in the snapshot to increment counters,
+  # as per the --native-code-counters flag.
+  v8_enable_snapshot_native_code_counters = ""
 
   # Enable code-generation-time checking of types in the CodeStubAssembler.
   v8_enable_verify_csa = false
 
   # Enable pointer compression (sets -dV8_COMPRESS_POINTERS).
-  v8_enable_pointer_compression = false
+  v8_enable_pointer_compression = ""
+  v8_enable_31bit_smis_on_64bit_arch = false
 
-  # Interpreted regexp engine exists as platform-independent alternative
-  # based where the regular expression is compiled to a bytecode.
-  v8_interpreted_regexp = false
+  # Disable arguments adaptor frame (sets -dV8_NO_ARGUMENTS_ADAPTOR).
+  v8_disable_arguments_adaptor =
+      v8_current_cpu == "x86" || v8_current_cpu == "x64" ||
+      v8_current_cpu == "arm" || v8_current_cpu == "arm64" ||
+      v8_current_cpu == "mipsel" || v8_current_cpu == "mips64el"
 
   # Sets -dOBJECT_PRINT.
   v8_enable_object_print = ""
@@ -104,21 +130,55 @@
   # Sets -dV8_TRACE_FEEDBACK_UPDATES.
   v8_enable_trace_feedback_updates = false
 
-  # Sets -dV8_CONCURRENT_MARKING
+  # Sets -dV8_ATOMIC_OBJECT_FIELD_WRITES and turns all field write operations
+  # into relaxed atomic operations.
+  v8_enable_atomic_object_field_writes = ""
+
+  # Sets -dV8_ATOMIC_MARKING_STATE
+  v8_enable_atomic_marking_state = ""
+
+  # Controls the default values of v8_enable_atomic_object_field_writes and
+  # v8_enable_concurrent_marking_state. See the default setting code below.
   v8_enable_concurrent_marking = true
 
+  # Runs mksnapshot with --turbo-profiling. After building in this
+  # configuration, any subsequent run of d8 will output information about usage
+  # of basic blocks in builtins.
+  v8_enable_builtins_profiling = false
+
+  # Runs mksnapshot with --turbo-profiling-verbose. After building in this
+  # configuration, any subsequent run of d8 will output information about usage
+  # of basic blocks in builtins, including the schedule and disassembly of all
+  # used builtins.
+  v8_enable_builtins_profiling_verbose = false
+
+  # Provides the given V8 log file as an input to mksnapshot, where it can be
+  # used for profile-guided optimization of builtins.
+  #
+  # To do profile-guided optimizations of builtins:
+  # 1. Build with v8_enable_builtins_profiling = true
+  # 2. Run your chosen workload with the --turbo-profiling-log-builtins flag.
+  #    For Chrome, the invocation might look like this:
+  #      chrome --no-sandbox --disable-extensions
+  #        --js-flags="--turbo-profiling-log-builtins --logfile=path/to/v8.log"
+  #        "http://localhost/test-suite"
+  # 3. Optionally repeat step 2 for additional workloads, and concatenate all of
+  #    the resulting log files into a single file.
+  # 4. Build again with v8_builtins_profiling_log_file set to the file created
+  #    in steps 2-3.
+  v8_builtins_profiling_log_file = ""
+
   # Enables various testing features.
   v8_enable_test_features = ""
 
-  # Build the snapshot with unwinding information for perf.
-  # Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO.
-  v8_perf_prof_unwinding_info = false
-
   # With post mortem support enabled, metadata is embedded into libv8 that
   # describes various parameters of the VM for use by debuggers. See
   # tools/gen-postmortem-metadata.py for details.
   v8_postmortem_support = false
 
+  # Use Siphash as added protection against hash flooding attacks.
+  v8_use_siphash = false
+
   # Switches off inlining in V8.
   v8_no_inline = false
 
@@ -134,28 +194,21 @@
   # Controls the threshold for on-heap/off-heap Typed Arrays.
   v8_typed_array_max_size_in_heap = 64
 
-  # List of extra files to snapshot. They will be snapshotted in order so
-  # if files export symbols used by later files, they should go first.
-  #
-  # This default is used by cctests. Projects using V8 will want to override.
-  v8_extra_library_files = [ "//test/cctest/test-extra.js" ]
-
-  # Like v8_extra_library_files but for experimental features.
-  #
-  # This default is used by cctests. Projects using V8 will want to override.
-  v8_experimental_extra_library_files =
-      [ "//test/cctest/test-experimental-extra.js" ]
-
-  v8_enable_gdbjit =
-      ((v8_current_cpu == "x86" || v8_current_cpu == "x64") &&
-       (is_linux || is_mac)) || (v8_current_cpu == "ppc64" && is_linux)
+  v8_enable_gdbjit = ((v8_current_cpu == "x86" || v8_current_cpu == "x64") &&
+                      (is_linux || is_chromeos || is_mac)) ||
+                     (v8_current_cpu == "ppc64" && (is_linux || is_chromeos))
 
   # Temporary flag to allow embedders to update their microtasks scopes
   # while rolling in a new version of V8.
   v8_check_microtasks_scopes_consistency = ""
 
   # Enable mitigations for executing untrusted code.
-  v8_untrusted_code_mitigations = true
+  # Disabled by default on ia32 due to conflicting requirements with embedded
+  # builtins. Enabled by default on Android since it doesn't support
+  # site-isolation in Chrome and on simulator builds which test code generation
+  # on these platforms.
+  v8_untrusted_code_mitigations =
+      v8_current_cpu != "x86" && (is_android || target_is_simulator)
 
   # Enable minor mark compact.
   v8_enable_minor_mc = true
@@ -164,6 +217,74 @@
   # setting the "check_v8_header_includes" gclient variable to run a
   # specific hook).
   v8_check_header_includes = false
+
+  # Enable sharing read-only space across isolates.
+  # Sets -DV8_SHARED_RO_HEAP.
+  v8_enable_shared_ro_heap = ""
+
+  # Enable lazy source positions by default.
+  v8_enable_lazy_source_positions = true
+
+  # Enable third party HEAP library
+  v8_enable_third_party_heap = false
+
+  # Libaries used by third party heap
+  v8_third_party_heap_libs = []
+
+  # Source code used by third party heap
+  v8_third_party_heap_files = []
+
+  # Disable write barriers when GCs are non-incremental and
+  # heap has single generation.
+  v8_disable_write_barriers = false
+
+  # Ensure that write barriers are always used.
+  # Useful for debugging purposes.
+  v8_enable_unconditional_write_barriers = false
+
+  # Redirect allocation in young generation so that there will be
+  # only one single generation.
+  v8_enable_single_generation = ""
+
+  # Use token threaded dispatch for the regular expression interpreter.
+  # Use switch-based dispatch if this is false
+  v8_enable_regexp_interpreter_threaded_dispatch = true
+
+  # Enable additional targets necessary for verification of torque
+  # file generation
+  v8_verify_torque_generation_invariance = false
+
+  # Disable all snapshot compression.
+  v8_enable_snapshot_compression = true
+
+  # Enable control-flow integrity features, such as pointer authentication for
+  # ARM64.
+  v8_control_flow_integrity = false
+
+  # Enable object names in cppgc for debug purposes.
+  cppgc_enable_object_names = false
+
+  # Enable heap reservation of size 4GB. Only possible for 64bit archs.
+  cppgc_enable_caged_heap = v8_current_cpu == "x64" || v8_current_cpu == "arm64"
+
+  # Enable young generation in cppgc.
+  cppgc_enable_young_generation = false
+
+  # Enable V8 zone compression experimental feature.
+  # Sets -DV8_COMPRESS_ZONES.
+  v8_enable_zone_compression = ""
+
+  # Enable V8 heap sandbox experimental feature.
+  # Sets -DV8_HEAP_SANDBOX.
+  v8_enable_heap_sandbox = ""
+
+  # Experimental feature for collecting per-class zone memory stats.
+  # Requires use_rtti = true
+  v8_enable_precise_zone_stats = false
+
+  # Experimental feature for always keeping prototypes in dict/"slow" mode
+  # Sets -DV8_DICT_MODE_PROTOTYPES
+  v8_dict_mode_prototypes = false
 }
 
 # Derived defaults.
@@ -189,21 +310,87 @@
   v8_check_microtasks_scopes_consistency =
       v8_enable_debugging_features || dcheck_always_on
 }
+if (v8_enable_snapshot_native_code_counters == "") {
+  v8_enable_snapshot_native_code_counters = v8_enable_debugging_features
+}
+if (v8_enable_pointer_compression == "") {
+  v8_enable_pointer_compression =
+      v8_current_cpu == "arm64" || v8_current_cpu == "x64"
+}
+if (v8_enable_fast_torque == "") {
+  v8_enable_fast_torque = v8_enable_fast_mksnapshot
+}
+if (v8_enable_zone_compression == "") {
+  v8_enable_zone_compression = false
+}
+if (v8_enable_heap_sandbox == "") {
+  v8_enable_heap_sandbox = false
+}
+if (v8_enable_single_generation == "") {
+  v8_enable_single_generation = v8_disable_write_barriers
+}
+if (v8_enable_atomic_object_field_writes == "") {
+  v8_enable_atomic_object_field_writes = v8_enable_concurrent_marking
+}
+if (v8_enable_atomic_marking_state == "") {
+  v8_enable_atomic_marking_state = v8_enable_concurrent_marking
+}
+assert(!v8_enable_concurrent_marking || v8_enable_atomic_object_field_writes,
+       "Concurrent marking requires atomic object field writes.")
+assert(!v8_enable_concurrent_marking || v8_enable_atomic_marking_state,
+       "Concurrent marking requires atomic marking state.")
 
-assert(!v8_enable_embedded_builtins || v8_use_snapshot,
-       "Embedded builtins only work with snapshots")
-assert(
-    v8_current_cpu != "x86" || !v8_enable_embedded_builtins ||
-        !v8_untrusted_code_mitigations,
-    "Embedded builtins on ia32 and untrusted code mitigations are incompatible")
+# Toggle pointer compression for correctness fuzzing when building the
+# clang_x64_pointer_compression toolchain. We'll correctness-compare the
+# default build with the clang_x64_pointer_compression build.
+if (v8_multi_arch_build &&
+    rebase_path(get_label_info(":d8", "root_out_dir"), root_build_dir) ==
+    "clang_x64_pointer_compression") {
+  v8_enable_pointer_compression = !v8_enable_pointer_compression
+}
+if (v8_enable_shared_ro_heap == "") {
+  v8_enable_shared_ro_heap = !v8_enable_pointer_compression
+}
 
-assert(!v8_enable_embedded_bytecode_handlers || v8_enable_embedded_builtins,
-       "Embedded bytecode handlers only work with embedded builtins")
+assert(!v8_disable_write_barriers || v8_enable_single_generation,
+       "Disabling write barriers works only with single generation")
 
-# 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
-# snapshots.
-is_target_simulator = target_cpu != v8_target_cpu
+assert(v8_current_cpu != "x86" || !v8_untrusted_code_mitigations,
+       "Untrusted code mitigations are unsupported on ia32")
+
+assert(v8_current_cpu == "arm64" || !v8_control_flow_integrity,
+       "Control-flow integrity is only supported on arm64")
+
+if (v8_enable_shared_ro_heap && v8_enable_pointer_compression) {
+  assert(
+      is_linux || is_chromeos || is_android,
+      "Sharing read-only heap with pointer compression is only supported on Linux or Android")
+}
+
+assert(!v8_use_multi_snapshots || !v8_control_flow_integrity,
+       "Control-flow integrity does not support multisnapshots")
+
+assert(!v8_enable_heap_sandbox || v8_enable_pointer_compression,
+       "V8 Heap Sandbox requires pointer compression")
+
+assert(!v8_enable_unconditional_write_barriers || !v8_disable_write_barriers,
+       "Write barriers can't be both enabled and disabled")
+
+assert(!cppgc_enable_caged_heap || v8_current_cpu == "x64" ||
+           v8_current_cpu == "arm64",
+       "CppGC caged heap requires 64bit platforms")
+
+assert(!cppgc_enable_young_generation || cppgc_enable_caged_heap,
+       "Young generation in CppGC requires caged heap")
+
+if (v8_enable_single_generation == true) {
+  assert(
+      v8_enable_unconditional_write_barriers || v8_disable_write_barriers,
+      "Requires unconditional write barriers or none (which disables incremental marking)")
+}
+
+assert(!v8_enable_conservative_stack_scanning || v8_enable_single_generation,
+       "Conservative stack scanning requires single generation")
 
 v8_random_seed = "314159265"
 v8_toolset_for_shell = "host"
@@ -211,28 +398,46 @@
 ###############################################################################
 # Configurations
 #
-config("internal_config") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+
+config("internal_config_base") {
+  # Only targets in this file and its subdirs can depend on this.
+  visibility = [ "./*" ]
+
+  configs = [ ":v8_tracing_config" ]
 
   include_dirs = [
     ".",
+    "include",
     "$target_gen_dir",
   ]
+}
 
+config("internal_config") {
   defines = []
 
+  # Only targets in this file and its subdirs can depend on this.
+  visibility = [ "./*" ]
+
+  configs = [
+    "//build/config/compiler:wexit_time_destructors",
+    ":internal_config_base",
+    ":v8_header_features",
+  ]
+
   if (is_component_build) {
     defines += [ "BUILDING_V8_SHARED" ]
   }
 }
 
-config("internal_config_base") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-  include_dirs = [
-    ".",
-    "$target_gen_dir",
-  ]
+# Should be applied to all targets that write trace events.
+config("v8_tracing_config") {
+  if (v8_use_perfetto) {
+    include_dirs = [
+      "third_party/perfetto/include",
+      "$root_gen_dir/third_party/perfetto",
+      "$root_gen_dir/third_party/perfetto/build_config",
+    ]
+  }
 }
 
 # This config should be applied to code using the libplatform.
@@ -254,6 +459,20 @@
   }
 }
 
+# This config should be applied to code using the cppgc_base.
+config("cppgc_base_config") {
+  defines = []
+  if (cppgc_enable_object_names) {
+    defines += [ "CPPGC_SUPPORTS_OBJECT_NAMES" ]
+  }
+  if (cppgc_enable_caged_heap) {
+    defines += [ "CPPGC_CAGED_HEAP" ]
+  }
+  if (cppgc_enable_young_generation) {
+    defines += [ "CPPGC_YOUNG_GENERATION" ]
+  }
+}
+
 # This config should be applied to code using the libsampler.
 config("libsampler_config") {
   include_dirs = [ "include" ]
@@ -263,18 +482,10 @@
 # itself.
 config("external_config") {
   defines = []
+  configs = [ ":v8_header_features" ]
   if (is_component_build) {
     defines += [ "USING_V8_SHARED" ]
   }
-  if (v8_enable_v8_checks) {
-    defines += [ "V8_ENABLE_CHECKS" ]  # Used in "include/v8.h".
-  }
-  if (v8_deprecation_warnings) {
-    defines += [ "V8_DEPRECATION_WARNINGS" ]
-  }
-  if (v8_imminent_deprecation_warnings) {
-    defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
-  }
   include_dirs = [
     "include",
     "$target_gen_dir/include",
@@ -289,11 +500,49 @@
   }
 }
 
-config("features") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+# Put defines that are used in public headers here; public headers are
+# defined in "v8_headers" and are included by embedders of V8.
+config("v8_header_features") {
+  visibility = [ ":*" ]
 
   defines = []
 
+  if (v8_enable_v8_checks) {
+    defines += [ "V8_ENABLE_CHECKS" ]  # Used in "include/v8.h".
+  }
+  if (v8_enable_pointer_compression) {
+    defines += [ "V8_COMPRESS_POINTERS" ]
+  }
+  if (v8_enable_pointer_compression || v8_enable_31bit_smis_on_64bit_arch) {
+    defines += [ "V8_31BIT_SMIS_ON_64BIT_ARCH" ]
+  }
+  if (v8_enable_zone_compression) {
+    defines += [ "V8_COMPRESS_ZONES" ]
+  }
+  if (v8_enable_heap_sandbox) {
+    defines += [ "V8_HEAP_SANDBOX" ]
+  }
+  if (v8_deprecation_warnings) {
+    defines += [ "V8_DEPRECATION_WARNINGS" ]
+  }
+  if (v8_imminent_deprecation_warnings) {
+    defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
+  }
+  if (v8_disable_arguments_adaptor) {
+    defines += [ "V8_NO_ARGUMENTS_ADAPTOR" ]
+  }
+}
+
+# Put defines here that are only used in our internal files and NEVER in
+# external headers that embedders (such as chromium and node) might include.
+config("features") {
+  # Only targets in this file and its subdirs can depend on this.
+  visibility = [ "./*" ]
+
+  defines = []
+
+  configs = [ ":v8_header_features" ]
+
   if (v8_embedder_string != "") {
     defines += [ "V8_EMBEDDER_STRING=\"$v8_embedder_string\"" ]
   }
@@ -306,21 +555,29 @@
   }
   defines +=
       [ "V8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=${v8_typed_array_max_size_in_heap}" ]
+
+  assert(
+      !v8_enable_raw_heap_snapshots,
+      "This flag is deprecated and is now available through the inspector interface as an argument to profiler's method `takeHeapSnapshot`. Consider using blink's flag `enable_additional_blink_object_names` to get better naming of internal objects.")
+
   if (v8_enable_future) {
     defines += [ "V8_ENABLE_FUTURE" ]
   }
+  if (v8_enable_lite_mode) {
+    defines += [ "V8_LITE_MODE" ]
+  }
   if (v8_enable_gdbjit) {
     defines += [ "ENABLE_GDB_JIT_INTERFACE" ]
   }
   if (v8_enable_vtunejit) {
     defines += [ "ENABLE_VTUNE_JIT_INTERFACE" ]
   }
+  if (v8_enable_vtunetracemark) {
+    defines += [ "ENABLE_VTUNE_TRACEMARK" ]
+  }
   if (v8_enable_minor_mc) {
     defines += [ "ENABLE_MINOR_MC" ]
   }
-  if (v8_enable_pointer_compression) {
-    defines += [ "V8_COMPRESS_POINTERS" ]
-  }
   if (v8_enable_object_print) {
     defines += [ "OBJECT_PRINT" ]
   }
@@ -342,18 +599,7 @@
   if (v8_enable_test_features) {
     defines += [ "V8_ENABLE_ALLOCATION_TIMEOUT" ]
     defines += [ "V8_ENABLE_FORCE_SLOW_PATH" ]
-  }
-  if (v8_enable_v8_checks) {
-    defines += [ "V8_ENABLE_CHECKS" ]
-  }
-  if (v8_interpreted_regexp) {
-    defines += [ "V8_INTERPRETED_REGEXP" ]
-  }
-  if (v8_deprecation_warnings) {
-    defines += [ "V8_DEPRECATION_WARNINGS" ]
-  }
-  if (v8_imminent_deprecation_warnings) {
-    defines += [ "V8_IMMINENT_DEPRECATION_WARNINGS" ]
+    defines += [ "V8_ENABLE_DOUBLE_CONST_STORE_CHECK" ]
   }
   if (v8_enable_i18n_support) {
     defines += [ "V8_INTL_SUPPORT" ]
@@ -361,34 +607,77 @@
   if (v8_enable_handle_zapping) {
     defines += [ "ENABLE_HANDLE_ZAPPING" ]
   }
-  if (v8_use_snapshot) {
-    defines += [ "V8_USE_SNAPSHOT" ]
-    if (v8_perf_prof_unwinding_info) {
-      defines += [ "V8_USE_SNAPSHOT_WITH_UNWINDING_INFO" ]
-    }
+  if (v8_enable_snapshot_native_code_counters) {
+    defines += [ "V8_SNAPSHOT_NATIVE_CODE_COUNTERS" ]
+  }
+  if (v8_enable_single_generation) {
+    defines += [ "V8_ENABLE_SINGLE_GENERATION" ]
+  }
+  if (v8_enable_conservative_stack_scanning) {
+    defines += [ "V8_ENABLE_CONSERVATIVE_STACK_SCANNING" ]
+  }
+  if (v8_disable_write_barriers) {
+    defines += [ "V8_DISABLE_WRITE_BARRIERS" ]
+  }
+  if (v8_enable_third_party_heap) {
+    defines += [ "V8_ENABLE_THIRD_PARTY_HEAP" ]
   }
   if (v8_use_external_startup_data) {
     defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
   }
-  if (v8_enable_concurrent_marking) {
-    defines += [ "V8_CONCURRENT_MARKING" ]
+  if (v8_enable_atomic_object_field_writes) {
+    defines += [ "V8_ATOMIC_OBJECT_FIELD_WRITES" ]
+  }
+  if (v8_enable_atomic_marking_state) {
+    defines += [ "V8_ATOMIC_MARKING_STATE" ]
+  }
+  if (v8_enable_lazy_source_positions) {
+    defines += [ "V8_ENABLE_LAZY_SOURCE_POSITIONS" ]
   }
   if (v8_check_microtasks_scopes_consistency) {
     defines += [ "V8_CHECK_MICROTASKS_SCOPES_CONSISTENCY" ]
   }
-  if (v8_enable_embedded_builtins) {
-    defines += [ "V8_EMBEDDED_BUILTINS" ]
-  }
-  if (v8_enable_embedded_bytecode_handlers) {
-    defines += [ "V8_EMBEDDED_BYTECODE_HANDLERS" ]
-  }
   if (v8_use_multi_snapshots) {
     defines += [ "V8_MULTI_SNAPSHOTS" ]
   }
+  if (v8_use_siphash) {
+    defines += [ "V8_USE_SIPHASH" ]
+  }
+  if (v8_enable_shared_ro_heap) {
+    defines += [ "V8_SHARED_RO_HEAP" ]
+  }
+  if (v8_use_perfetto) {
+    defines += [ "V8_USE_PERFETTO" ]
+  }
+  if (v8_win64_unwinding_info) {
+    defines += [ "V8_WIN64_UNWINDING_INFO" ]
+  }
+  if (v8_enable_regexp_interpreter_threaded_dispatch) {
+    defines += [ "V8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH" ]
+  }
+  if (v8_enable_snapshot_compression) {
+    defines += [ "V8_SNAPSHOT_COMPRESSION" ]
+  }
+  if (v8_control_flow_integrity) {
+    defines += [ "V8_ENABLE_CONTROL_FLOW_INTEGRITY" ]
+  }
+  if (v8_enable_wasm_gdb_remote_debugging) {
+    defines += [ "V8_ENABLE_WASM_GDB_REMOTE_DEBUGGING" ]
+  }
+  if (v8_enable_precise_zone_stats) {
+    defines += [ "V8_ENABLE_PRECISE_ZONE_STATS" ]
+  }
+  if (v8_fuzzilli) {
+    defines += [ "V8_FUZZILLI" ]
+  }
+  if (v8_dict_mode_prototypes) {
+    defines += [ "V8_DICT_MODE_PROTOTYPES" ]
+  }
 }
 
 config("toolchain") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+  # Only targets in this file and its subdirs can depend on this.
+  visibility = [ "./*" ]
 
   defines = []
   cflags = []
@@ -427,10 +716,16 @@
   }
   if (v8_current_cpu == "arm64") {
     defines += [ "V8_TARGET_ARCH_ARM64" ]
+    if (v8_control_flow_integrity) {
+      # TODO(v8:10026): Enable this in src/build.
+      if (current_cpu == "arm64") {
+        cflags += [ "-mbranch-protection=standard" ]
+      }
+    }
   }
 
   # Mips64el/mipsel simulators.
-  if (is_target_simulator &&
+  if (target_is_simulator &&
       (v8_current_cpu == "mipsel" || v8_current_cpu == "mips64el")) {
     defines += [ "_MIPS_TARGET_SIMULATOR" ]
   }
@@ -477,7 +772,9 @@
     if (v8_can_use_fpu_instructions) {
       defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
     }
-
+    if (mips_use_msa) {
+      defines += [ "_MIPS_MSA" ]
+    }
     if (host_byteorder == "little") {
       defines += [ "V8_TARGET_ARCH_MIPS64_LE" ]
     } else if (host_byteorder == "big") {
@@ -493,15 +790,13 @@
     }
     if (mips_arch_variant == "r6") {
       defines += [ "_MIPS_ARCH_MIPS64R6" ]
-      if (mips_use_msa) {
-        defines += [ "_MIPS_MSA" ]
-      }
     } else if (mips_arch_variant == "r2") {
       defines += [ "_MIPS_ARCH_MIPS64R2" ]
     }
   }
   if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
     defines += [ "V8_TARGET_ARCH_S390" ]
+    cflags += [ "-ffp-contract=off" ]
     if (v8_current_cpu == "s390x") {
       defines += [ "V8_TARGET_ARCH_S390X" ]
     }
@@ -512,8 +807,9 @@
     }
   }
   if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
-    defines += [ "V8_TARGET_ARCH_PPC" ]
-    if (v8_current_cpu == "ppc64") {
+    if (v8_current_cpu == "ppc") {
+      defines += [ "V8_TARGET_ARCH_PPC" ]
+    } else if (v8_current_cpu == "ppc64") {
       defines += [ "V8_TARGET_ARCH_PPC64" ]
     }
     if (host_byteorder == "little") {
@@ -553,11 +849,35 @@
     defines += [ "V8_ANDROID_LOG_STDOUT" ]
   }
 
+  # V8_TARGET_OS_ defines. The target OS may differ from host OS e.g. in
+  # mksnapshot. We additionally set V8_HAVE_TARGET_OS to determine that a
+  # target OS has in fact been set; otherwise we internally assume that target
+  # OS == host OS (see v8config.h).
+  if (target_os == "android") {
+    defines += [ "V8_HAVE_TARGET_OS" ]
+    defines += [ "V8_TARGET_OS_ANDROID" ]
+  } else if (target_os == "fuchsia") {
+    defines += [ "V8_HAVE_TARGET_OS" ]
+    defines += [ "V8_TARGET_OS_FUCHSIA" ]
+  } else if (target_os == "ios") {
+    defines += [ "V8_HAVE_TARGET_OS" ]
+    defines += [ "V8_TARGET_OS_IOS" ]
+  } else if (target_os == "linux") {
+    defines += [ "V8_HAVE_TARGET_OS" ]
+    defines += [ "V8_TARGET_OS_LINUX" ]
+  } else if (target_os == "mac") {
+    defines += [ "V8_HAVE_TARGET_OS" ]
+    defines += [ "V8_TARGET_OS_MACOSX" ]
+  } else if (target_os == "win") {
+    defines += [ "V8_HAVE_TARGET_OS" ]
+    defines += [ "V8_TARGET_OS_WIN" ]
+  }
+
   # TODO(jochen): Support v8_enable_prof on Windows.
   # TODO(jochen): Add support for compiling with simulators.
 
   if (v8_enable_debugging_features) {
-    if (is_linux && v8_enable_backtrace) {
+    if ((is_linux || is_chromeos) && v8_enable_backtrace) {
       ldflags += [ "-rdynamic" ]
     }
 
@@ -578,19 +898,18 @@
   }
 
   if (v8_no_inline) {
-    cflags += [
-      "-fno-inline-functions",
-      "-fno-inline",
-    ]
+    if (is_win) {
+      cflags += [ "/Ob0" ]
+    } else {
+      cflags += [
+        "-fno-inline-functions",
+        "-fno-inline",
+      ]
+    }
   }
 
   if (is_clang) {
-    cflags += [
-      "-Wmissing-field-initializers",
-
-      # TODO(hans): Remove once http://crbug.com/428099 is resolved.
-      "-Winconsistent-missing-override",
-    ]
+    cflags += [ "-Wmissing-field-initializers" ]
 
     if (v8_current_cpu != "mips" && v8_current_cpu != "mipsel") {
       # We exclude MIPS because the IsMipsArchVariant macro causes trouble.
@@ -625,6 +944,10 @@
     ]
   }
 
+  if (!is_clang && is_win) {
+    cflags += [ "/wd4506" ]  # Benign "no definition for inline function"
+  }
+
   if (!is_clang && !is_win) {
     cflags += [
       # Disable gcc warnings for optimizations based on the assumption that
@@ -635,8 +958,31 @@
       # GCC assumes that control can get past an exhaustive switch and then
       # warns if there's no return there (see https://crbug.com/v8/7658).
       "-Wno-return-type",
+
+      # Disable gcc warnings for using enum constant in boolean context.
+      # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97266
+      "-Wno-int-in-bool-context",
     ]
   }
+
+  # Chromium uses a hand-picked subset of UBSan coverage. We want everything.
+  if (is_ubsan) {
+    cflags += [ "-fsanitize=undefined" ]
+  }
+}
+
+# For code that is hot during mksnapshot. In fast-mksnapshot builds, we
+# optimize some files even in debug builds to speed up mksnapshot times.
+config("always_optimize") {
+  configs = [ ":internal_config" ]
+
+  # TODO(crbug.com/621335) Rework this so that we don't have the confusion
+  # between "optimize_speed" and "optimize_max".
+  if (((is_posix && !is_android) || is_fuchsia) && !using_sanitizer) {
+    configs += [ "//build/config/compiler:optimize_speed" ]
+  } else {
+    configs += [ "//build/config/compiler:optimize_max" ]
+  }
 }
 
 # Configs for code coverage with gcov. Separate configs for cflags and ldflags
@@ -656,142 +1002,39 @@
 # Actions
 #
 
-action("js2c") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-  script = "tools/js2c.py"
-
-  # The script depends on this other script, this rule causes a rebuild if it
-  # changes.
-  inputs = [
-    "tools/jsmin.py",
-  ]
-
-  # NOSORT
-  sources = [
-    "src/js/macros.py",
-    "src/messages.h",
-    "src/js/prologue.js",
-    "src/js/array.js",
-    "src/js/typedarray.js",
-  ]
-
-  outputs = [
-    "$target_gen_dir/libraries.cc",
-  ]
-
-  if (v8_enable_i18n_support) {
-    sources += [ "src/js/intl.js" ]
+# Only for Windows clang builds. Converts the embedded.S file produced by
+# mksnapshot into an embedded.cc file with corresponding inline assembly.
+template("asm_to_inline_asm") {
+  name = target_name
+  if (name == "default") {
+    suffix = ""
+  } else {
+    suffix = "_$name"
   }
 
-  args = [
-           rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
-           "CORE",
-         ] + rebase_path(sources, root_build_dir)
+  action("asm_to_inline_asm_" + name) {
+    visibility = [ ":*" ]  # Only targets in this file can depend on this.
 
-  if (v8_use_external_startup_data) {
-    outputs += [ "$target_gen_dir/libraries.bin" ]
+    assert(emit_builtins_as_inline_asm)
+
+    script = "tools/snapshot/asm_to_inline_asm.py"
+    deps = [ ":run_mksnapshot_" + name ]
+    sources = [ "$target_gen_dir/embedded${suffix}.S" ]
+    outputs = [ "$target_gen_dir/embedded${suffix}.cc" ]
+    args = invoker.args
     args += [
-      "--startup_blob",
-      rebase_path("$target_gen_dir/libraries.bin", root_build_dir),
+      rebase_path("$target_gen_dir/embedded${suffix}.S", root_build_dir),
+      rebase_path("$target_gen_dir/embedded${suffix}.cc", root_build_dir),
     ]
   }
 }
 
-action("js2c_extras") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-  script = "tools/js2c.py"
-
-  # The script depends on this other script, this rule causes a rebuild if it
-  # changes.
-  inputs = [
-    "tools/jsmin.py",
-  ]
-
-  sources = v8_extra_library_files
-
-  outputs = [
-    "$target_gen_dir/extras-libraries.cc",
-  ]
-
-  args = [
-           rebase_path("$target_gen_dir/extras-libraries.cc", root_build_dir),
-           "EXTRAS",
-         ] + rebase_path(sources, root_build_dir)
-
-  if (v8_use_external_startup_data) {
-    outputs += [ "$target_gen_dir/libraries_extras.bin" ]
-    args += [
-      "--startup_blob",
-      rebase_path("$target_gen_dir/libraries_extras.bin", root_build_dir),
-    ]
-  }
-}
-
-action("js2c_experimental_extras") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-  script = "tools/js2c.py"
-
-  # The script depends on this other script, this rule causes a rebuild if it
-  # changes.
-  inputs = [
-    "tools/jsmin.py",
-  ]
-
-  sources = v8_experimental_extra_library_files
-
-  outputs = [
-    "$target_gen_dir/experimental-extras-libraries.cc",
-  ]
-
-  args = [
-           rebase_path("$target_gen_dir/experimental-extras-libraries.cc",
-                       root_build_dir),
-           "EXPERIMENTAL_EXTRAS",
-         ] + rebase_path(sources, root_build_dir)
-
-  if (v8_use_external_startup_data) {
-    outputs += [ "$target_gen_dir/libraries_experimental_extras.bin" ]
-    args += [
-      "--startup_blob",
-      rebase_path("$target_gen_dir/libraries_experimental_extras.bin",
-                  root_build_dir),
-    ]
-  }
-}
-
-action("d8_js2c") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-  script = "tools/js2c.py"
-
-  # NOSORT
-  inputs = [
-    "src/d8.js",
-    "src/js/macros.py",
-  ]
-
-  outputs = [
-    "$target_gen_dir/d8-js.cc",
-  ]
-
-  args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
-         rebase_path(inputs, root_build_dir)
-}
-
 if (is_android && enable_java_templates) {
   android_assets("v8_external_startup_data_assets") {
     if (v8_use_external_startup_data) {
       # We don't support side-by-side snapshots on Android within Chromium.
       assert(!v8_use_multi_snapshots)
-      deps = [
-        "//v8",
-      ]
-      sources = [
-        "$root_out_dir/natives_blob.bin",
-      ]
+      deps = [ "//v8" ]
       renaming_sources = [ "$root_out_dir/snapshot_blob.bin" ]
       if (current_cpu == "arm" || current_cpu == "x86" ||
           current_cpu == "mipsel") {
@@ -804,37 +1047,6 @@
   }
 }
 
-if (v8_use_external_startup_data) {
-  action("natives_blob") {
-    visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-    deps = [
-      ":js2c",
-      ":js2c_experimental_extras",
-      ":js2c_extras",
-    ]
-
-    # NOSORT
-    sources = [
-      "$target_gen_dir/libraries.bin",
-      "$target_gen_dir/libraries_extras.bin",
-      "$target_gen_dir/libraries_experimental_extras.bin",
-    ]
-
-    outputs = [
-      "$root_out_dir/natives_blob.bin",
-    ]
-
-    data = [
-      "$root_out_dir/natives_blob.bin",
-    ]
-
-    script = "tools/concatenate-files.py"
-
-    args = rebase_path(sources + outputs, root_build_dir)
-  }
-}
-
 action("postmortem-metadata") {
   # Only targets in this file and the top-level visibility target can
   # depend on this.
@@ -847,150 +1059,475 @@
 
   # NOSORT
   sources = [
-    "src/objects.h",
-    "src/objects-inl.h",
-    "src/objects/code-inl.h",
+    "$target_gen_dir/torque-generated/instance-types.h",
+    "src/objects/allocation-site.h",
+    "src/objects/allocation-site-inl.h",
+    "src/objects/cell.h",
+    "src/objects/cell-inl.h",
     "src/objects/code.h",
+    "src/objects/code-inl.h",
     "src/objects/data-handler.h",
     "src/objects/data-handler-inl.h",
-    "src/objects/fixed-array-inl.h",
+    "src/objects/descriptor-array.h",
+    "src/objects/descriptor-array-inl.h",
+    "src/objects/feedback-cell.h",
+    "src/objects/feedback-cell-inl.h",
     "src/objects/fixed-array.h",
-    "src/objects/js-array-inl.h",
-    "src/objects/js-array.h",
-    "src/objects/js-array-buffer-inl.h",
+    "src/objects/fixed-array-inl.h",
+    "src/objects/heap-number.h",
+    "src/objects/heap-number-inl.h",
+    "src/objects/heap-object.h",
+    "src/objects/heap-object-inl.h",
+    "src/objects/instance-type.h",
     "src/objects/js-array-buffer.h",
-    "src/objects/js-regexp-inl.h",
+    "src/objects/js-array-buffer-inl.h",
+    "src/objects/js-array.h",
+    "src/objects/js-array-inl.h",
+    "src/objects/js-function-inl.h",
+    "src/objects/js-function.cc",
+    "src/objects/js-function.h",
+    "src/objects/js-objects.cc",
+    "src/objects/js-objects.h",
+    "src/objects/js-objects-inl.h",
+    "src/objects/js-promise.h",
+    "src/objects/js-promise-inl.h",
+    "src/objects/js-regexp.cc",
     "src/objects/js-regexp.h",
-    "src/objects/js-regexp-string-iterator-inl.h",
+    "src/objects/js-regexp-inl.h",
     "src/objects/js-regexp-string-iterator.h",
+    "src/objects/js-regexp-string-iterator-inl.h",
+    "src/objects/map.cc",
     "src/objects/map.h",
     "src/objects/map-inl.h",
+    "src/objects/name.h",
+    "src/objects/name-inl.h",
+    "src/objects/objects.h",
+    "src/objects/objects-inl.h",
+    "src/objects/oddball.h",
+    "src/objects/oddball-inl.h",
+    "src/objects/primitive-heap-object.h",
+    "src/objects/primitive-heap-object-inl.h",
     "src/objects/scope-info.h",
     "src/objects/script.h",
     "src/objects/script-inl.h",
+    "src/objects/shared-function-info.cc",
     "src/objects/shared-function-info.h",
     "src/objects/shared-function-info-inl.h",
+    "src/objects/string.cc",
+    "src/objects/string-comparator.cc",
+    "src/objects/string-comparator.h",
     "src/objects/string.h",
     "src/objects/string-inl.h",
+    "src/objects/struct.h",
+    "src/objects/struct-inl.h",
   ]
 
-  outputs = [
-    "$target_gen_dir/debug-support.cc",
-  ]
+  outputs = [ "$target_gen_dir/debug-support.cc" ]
 
   args = rebase_path(outputs, root_build_dir) +
          rebase_path(sources, root_build_dir)
+
+  deps = [ ":run_torque" ]
 }
 
 torque_files = [
-  "src/builtins/base.tq",
-  "src/builtins/array.tq",
+  "src/builtins/aggregate-error.tq",
   "src/builtins/array-copywithin.tq",
+  "src/builtins/array-every.tq",
+  "src/builtins/array-filter.tq",
+  "src/builtins/array-find.tq",
+  "src/builtins/array-findindex.tq",
   "src/builtins/array-foreach.tq",
+  "src/builtins/array-from.tq",
+  "src/builtins/array-isarray.tq",
+  "src/builtins/array-join.tq",
+  "src/builtins/array-lastindexof.tq",
+  "src/builtins/array-map.tq",
+  "src/builtins/array-of.tq",
+  "src/builtins/array-reduce-right.tq",
+  "src/builtins/array-reduce.tq",
   "src/builtins/array-reverse.tq",
-  "src/builtins/typed-array.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/arraybuffer.tq",
+  "src/builtins/base.tq",
+  "src/builtins/boolean.tq",
+  "src/builtins/builtins-bigint.tq",
+  "src/builtins/builtins-string.tq",
+  "src/builtins/cast.tq",
+  "src/builtins/collections.tq",
+  "src/builtins/constructor.tq",
+  "src/builtins/conversion.tq",
+  "src/builtins/convert.tq",
+  "src/builtins/console.tq",
   "src/builtins/data-view.tq",
+  "src/builtins/finalization-registry.tq",
+  "src/builtins/frames.tq",
+  "src/builtins/frame-arguments.tq",
+  "src/builtins/function.tq",
+  "src/builtins/growable-fixed-array.tq",
+  "src/builtins/ic-callable.tq",
+  "src/builtins/ic-dynamic-map-checks.tq",
+  "src/builtins/ic.tq",
+  "src/builtins/internal-coverage.tq",
+  "src/builtins/internal.tq",
+  "src/builtins/iterator.tq",
+  "src/builtins/math.tq",
+  "src/builtins/number.tq",
+  "src/builtins/object-fromentries.tq",
+  "src/builtins/object.tq",
+  "src/builtins/promise-abstract-operations.tq",
+  "src/builtins/promise-all.tq",
+  "src/builtins/promise-all-element-closure.tq",
+  "src/builtins/promise-any.tq",
+  "src/builtins/promise-constructor.tq",
+  "src/builtins/promise-finally.tq",
+  "src/builtins/promise-misc.tq",
+  "src/builtins/promise-race.tq",
+  "src/builtins/promise-reaction-job.tq",
+  "src/builtins/promise-resolve.tq",
+  "src/builtins/promise-then.tq",
+  "src/builtins/promise-jobs.tq",
+  "src/builtins/proxy-constructor.tq",
+  "src/builtins/proxy-delete-property.tq",
+  "src/builtins/proxy-get-property.tq",
+  "src/builtins/proxy-get-prototype-of.tq",
+  "src/builtins/proxy-has-property.tq",
+  "src/builtins/proxy-is-extensible.tq",
+  "src/builtins/proxy-prevent-extensions.tq",
+  "src/builtins/proxy-revocable.tq",
+  "src/builtins/proxy-revoke.tq",
+  "src/builtins/proxy-set-property.tq",
+  "src/builtins/proxy-set-prototype-of.tq",
+  "src/builtins/proxy.tq",
+  "src/builtins/reflect.tq",
+  "src/builtins/regexp-exec.tq",
+  "src/builtins/regexp-match-all.tq",
+  "src/builtins/regexp-match.tq",
+  "src/builtins/regexp-replace.tq",
+  "src/builtins/regexp-search.tq",
+  "src/builtins/regexp-source.tq",
+  "src/builtins/regexp-split.tq",
+  "src/builtins/regexp-test.tq",
+  "src/builtins/regexp.tq",
+  "src/builtins/string-endswith.tq",
+  "src/builtins/string-html.tq",
+  "src/builtins/string-iterator.tq",
+  "src/builtins/string-pad.tq",
+  "src/builtins/string-repeat.tq",
+  "src/builtins/string-replaceall.tq",
+  "src/builtins/string-slice.tq",
+  "src/builtins/string-startswith.tq",
+  "src/builtins/string-substr.tq",
+  "src/builtins/string-substring.tq",
+  "src/builtins/string-trim.tq",
+  "src/builtins/symbol.tq",
+  "src/builtins/torque-internal.tq",
+  "src/builtins/typed-array-createtypedarray.tq",
+  "src/builtins/typed-array-every.tq",
+  "src/builtins/typed-array-entries.tq",
+  "src/builtins/typed-array-filter.tq",
+  "src/builtins/typed-array-find.tq",
+  "src/builtins/typed-array-findindex.tq",
+  "src/builtins/typed-array-foreach.tq",
+  "src/builtins/typed-array-from.tq",
+  "src/builtins/typed-array-keys.tq",
+  "src/builtins/typed-array-of.tq",
+  "src/builtins/typed-array-reduce.tq",
+  "src/builtins/typed-array-reduceright.tq",
+  "src/builtins/typed-array-set.tq",
+  "src/builtins/typed-array-slice.tq",
+  "src/builtins/typed-array-some.tq",
+  "src/builtins/typed-array-sort.tq",
+  "src/builtins/typed-array-subarray.tq",
+  "src/builtins/typed-array-values.tq",
+  "src/builtins/typed-array.tq",
+  "src/builtins/wasm.tq",
+  "src/builtins/weak-ref.tq",
+  "src/ic/handler-configuration.tq",
+  "src/objects/allocation-site.tq",
+  "src/objects/api-callbacks.tq",
+  "src/objects/arguments.tq",
+  "src/objects/bigint.tq",
+  "src/objects/cell.tq",
+  "src/objects/code.tq",
+  "src/objects/contexts.tq",
+  "src/objects/data-handler.tq",
+  "src/objects/debug-objects.tq",
+  "src/objects/descriptor-array.tq",
+  "src/objects/embedder-data-array.tq",
+  "src/objects/feedback-cell.tq",
+  "src/objects/feedback-vector.tq",
+  "src/objects/fixed-array.tq",
+  "src/objects/foreign.tq",
+  "src/objects/free-space.tq",
+  "src/objects/heap-number.tq",
+  "src/objects/heap-object.tq",
+  "src/objects/js-array-buffer.tq",
+  "src/objects/js-array.tq",
+  "src/objects/js-collection-iterator.tq",
+  "src/objects/js-collection.tq",
+  "src/objects/js-function.tq",
+  "src/objects/js-generator.tq",
+  "src/objects/js-objects.tq",
+  "src/objects/js-promise.tq",
+  "src/objects/js-proxy.tq",
+  "src/objects/js-regexp-string-iterator.tq",
+  "src/objects/js-regexp.tq",
+  "src/objects/js-weak-refs.tq",
+  "src/objects/literal-objects.tq",
+  "src/objects/map.tq",
+  "src/objects/microtask.tq",
+  "src/objects/module.tq",
+  "src/objects/name.tq",
+  "src/objects/oddball.tq",
+  "src/objects/ordered-hash-table.tq",
+  "src/objects/primitive-heap-object.tq",
+  "src/objects/promise.tq",
+  "src/objects/property-array.tq",
+  "src/objects/property-cell.tq",
+  "src/objects/property-descriptor-object.tq",
+  "src/objects/prototype-info.tq",
+  "src/objects/regexp-match-info.tq",
+  "src/objects/scope-info.tq",
+  "src/objects/script.tq",
+  "src/objects/shared-function-info.tq",
+  "src/objects/source-text-module.tq",
+  "src/objects/stack-frame-info.tq",
+  "src/objects/string.tq",
+  "src/objects/struct.tq",
+  "src/objects/synthetic-module.tq",
+  "src/objects/template-objects.tq",
+  "src/objects/templates.tq",
+  "src/objects/torque-defined-classes.tq",
+  "src/wasm/wasm-objects.tq",
   "test/torque/test-torque.tq",
   "third_party/v8/builtins/array-sort.tq",
 ]
 
-torque_modules = [
-  "base",
-  "array",
-  "typed-array",
-  "data-view",
-  "test",
-]
-
-action("run_torque") {
-  visibility = [
-    ":*",
-    "tools/gcmole/:*",
-    "test/cctest/:*",
+if (v8_enable_i18n_support) {
+  torque_files += [
+    "src/objects/intl-objects.tq",
+    "src/objects/js-break-iterator.tq",
+    "src/objects/js-collator.tq",
+    "src/objects/js-date-time-format.tq",
+    "src/objects/js-display-names.tq",
+    "src/objects/js-list-format.tq",
+    "src/objects/js-locale.tq",
+    "src/objects/js-number-format.tq",
+    "src/objects/js-plural-rules.tq",
+    "src/objects/js-relative-time-format.tq",
+    "src/objects/js-segment-iterator.tq",
+    "src/objects/js-segmenter.tq",
+    "src/objects/js-segments.tq",
   ]
+}
 
-  # We reuse the snapshot toolchain for building torque to not build v8_libbase
-  # on the host more than once. On mips with big endian, the snapshot toolchain
-  # is the target toolchain and, hence, can't be used.
-  v8_torque_toolchain = v8_snapshot_toolchain
-  if (host_cpu == "x64" &&
-      (v8_current_cpu == "mips" || v8_current_cpu == "mips64")) {
-    v8_torque_toolchain = "//build/toolchain/linux:clang_x64"
+# Template for running torque
+# When building with v8_verify_torque_generation_invariance=true we need
+# to be able to run torque for both 32 and 64 bits in the same build
+template("run_torque") {
+  if (target_name == "") {
+    suffix = ""
+  } else {
+    suffix = "_$target_name"
   }
 
-  deps = [
-    ":torque($v8_torque_toolchain)",
-  ]
+  toolchain = invoker.toolchain
 
-  script = "tools/run.py"
-
-  sources = torque_files
-
-  outputs = [
-    "$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h",
-  ]
-  foreach(module, torque_modules) {
-    outputs += [
-      "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.cc",
-      "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.h",
+  action("run_torque" + suffix) {
+    visibility = [
+      ":*",
+      "test/cctest/:*",
+      "tools/debug_helper/:*",
+      "tools/gcmole/:*",
     ]
-  }
 
-  args = [
-    "./" + rebase_path(get_label_info(":torque($v8_torque_toolchain)",
-                                      "root_out_dir") + "/torque",
-                       root_build_dir),
-    "-o",
-    rebase_path("$target_gen_dir/torque-generated", root_build_dir),
-  ]
+    deps = [ ":torque($toolchain)" ]
 
-  foreach(file, torque_files) {
-    args += [ rebase_path(file, root_build_dir) ]
+    script = "tools/run.py"
+
+    sources = torque_files
+
+    destination_folder = "$target_gen_dir/torque-generated$suffix"
+
+    files = [
+      "$target_gen_dir/torque-generated/bit-fields.h",
+      "$target_gen_dir/torque-generated/builtin-definitions.h",
+      "$target_gen_dir/torque-generated/interface-descriptors.inc",
+      "$target_gen_dir/torque-generated/factory.cc",
+      "$target_gen_dir/torque-generated/factory.inc",
+      "$target_gen_dir/torque-generated/field-offsets.h",
+      "$target_gen_dir/torque-generated/class-verifiers.cc",
+      "$target_gen_dir/torque-generated/class-verifiers.h",
+      "$target_gen_dir/torque-generated/enum-verifiers.cc",
+      "$target_gen_dir/torque-generated/objects-printer.cc",
+      "$target_gen_dir/torque-generated/objects-body-descriptors-inl.inc",
+      "$target_gen_dir/torque-generated/class-debug-readers.cc",
+      "$target_gen_dir/torque-generated/class-debug-readers.h",
+      "$target_gen_dir/torque-generated/exported-macros-assembler.cc",
+      "$target_gen_dir/torque-generated/exported-macros-assembler.h",
+      "$target_gen_dir/torque-generated/csa-types.h",
+      "$target_gen_dir/torque-generated/instance-types.h",
+      "$target_gen_dir/torque-generated/runtime-macros.cc",
+      "$target_gen_dir/torque-generated/runtime-macros.h",
+      "$target_gen_dir/torque-generated/class-forward-declarations.h",
+    ]
+
+    outputs = []
+    foreach(file, files) {
+      outputs += [ string_replace(file,
+                                  "$target_gen_dir/torque-generated",
+                                  destination_folder) ]
+    }
+
+    foreach(file, torque_files) {
+      filetq = string_replace(file, ".tq", "-tq")
+      outputs += [
+        "$target_gen_dir/torque-generated/$filetq-csa.cc",
+        "$target_gen_dir/torque-generated/$filetq-csa.h",
+        "$target_gen_dir/torque-generated/$filetq-inl.inc",
+        "$target_gen_dir/torque-generated/$filetq.cc",
+        "$target_gen_dir/torque-generated/$filetq.inc",
+      ]
+    }
+
+    args = [
+      "./" + rebase_path(
+              get_label_info(":torque($toolchain)", "root_out_dir") + "/torque",
+              root_build_dir),
+      "-o",
+      rebase_path("$destination_folder", root_build_dir),
+      "-v8-root",
+      rebase_path(".", root_build_dir),
+    ]
+    if (defined(invoker.args)) {
+      args += invoker.args
+    }
+    args += torque_files
   }
 }
 
-v8_header_set("torque_generated_core") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+# Default run_torque action
+run_torque("") {
+  toolchain = v8_generator_toolchain
+}
 
-  deps = [
-    ":run_torque",
-  ]
+if (v8_verify_torque_generation_invariance) {
+  run_torque("x86") {
+    toolchain = "//build/toolchain/linux:clang_x86"
+  }
 
-  sources = [
-    "$target_gen_dir/torque-generated/builtin-definitions-from-dsl.h",
-  ]
+  run_torque("x64") {
+    args = [ "-m32" ]
+    toolchain = "//build/toolchain/linux:clang_x64"
+  }
 
-  configs = [ ":internal_config" ]
+  action("compare_torque_runs") {
+    deps = [
+      ":run_torque_x64",
+      ":run_torque_x86",
+    ]
+    report_file = "$target_gen_dir/torque_comparison_results.txt"
+    script = "tools/compare_torque_output.py"
+    args = [
+      rebase_path("$target_gen_dir/torque-generated_x64", root_build_dir),
+      rebase_path("$target_gen_dir/torque-generated_x86", root_build_dir),
+      rebase_path(report_file, root_build_dir),
+    ]
+    outputs = [ report_file ]
+  }
+}
+
+group("v8_maybe_icu") {
+  if (v8_enable_i18n_support) {
+    public_deps = [ "//third_party/icu" ]
+  }
 }
 
 v8_source_set("torque_generated_initializers") {
   visibility = [ ":*" ]  # Only targets in this file can depend on this.
 
   deps = [
+    ":generate_bytecode_builtins_list",
     ":run_torque",
+    ":v8_tracing",
   ]
 
-  if (v8_enable_i18n_support) {
-    public_deps = [
-      "//third_party/icu",
-    ]
-  }
+  public_deps = [ ":v8_maybe_icu" ]
 
-  sources = []
-  foreach(module, torque_modules) {
+  sources = [
+    "$target_gen_dir/torque-generated/csa-types.h",
+    "$target_gen_dir/torque-generated/enum-verifiers.cc",
+    "$target_gen_dir/torque-generated/exported-macros-assembler.cc",
+    "$target_gen_dir/torque-generated/exported-macros-assembler.h",
+    "src/torque/runtime-support.h",
+  ]
+  foreach(file, torque_files) {
+    filetq = string_replace(file, ".tq", "-tq")
     sources += [
-      "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.cc",
-      "$target_gen_dir/torque-generated/builtins-$module-from-dsl-gen.h",
+      "$target_gen_dir/torque-generated/$filetq-csa.cc",
+      "$target_gen_dir/torque-generated/$filetq-csa.h",
     ]
   }
 
   configs = [ ":internal_config" ]
 }
 
+v8_source_set("torque_generated_definitions") {
+  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+
+  deps = [
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    ":v8_tracing",
+  ]
+
+  public_deps = [ ":v8_maybe_icu" ]
+
+  sources = [
+    "$target_gen_dir/torque-generated/class-forward-declarations.h",
+    "$target_gen_dir/torque-generated/class-verifiers.cc",
+    "$target_gen_dir/torque-generated/class-verifiers.h",
+    "$target_gen_dir/torque-generated/factory.cc",
+    "$target_gen_dir/torque-generated/objects-printer.cc",
+    "$target_gen_dir/torque-generated/runtime-macros.cc",
+  ]
+  foreach(file, torque_files) {
+    filetq = string_replace(file, ".tq", "-tq")
+    sources += [
+      "$target_gen_dir/torque-generated/$filetq-inl.inc",
+      "$target_gen_dir/torque-generated/$filetq.cc",
+      "$target_gen_dir/torque-generated/$filetq.inc",
+    ]
+  }
+
+  configs = [ ":internal_config" ]
+}
+
+action("generate_bytecode_builtins_list") {
+  script = "tools/run.py"
+  outputs = [ "$target_gen_dir/builtins-generated/bytecodes-builtins-list.h" ]
+  deps = [ ":bytecode_builtins_list_generator($v8_generator_toolchain)" ]
+  args = [
+    "./" + rebase_path(
+            get_label_info(
+                    ":bytecode_builtins_list_generator($v8_generator_toolchain)",
+                    "root_out_dir") + "/bytecode_builtins_list_generator",
+            root_build_dir),
+    rebase_path("$target_gen_dir/builtins-generated/bytecodes-builtins-list.h",
+                root_build_dir),
+  ]
+}
+
 # Template to generate different V8 snapshots based on different runtime flags.
 # Can be invoked with run_mksnapshot(<name>). The target will resolve to
 # run_mksnapshot_<name>. If <name> is "default", no file suffixes will be used.
-# Otherwise files are suffixed, e.g. embedded_<name>.cc and
+# Otherwise files are suffixed, e.g. embedded_<name>.S and
 # snapshot_blob_<name>.bin.
 #
 # The template exposes the variables:
@@ -1005,12 +1542,14 @@
     suffix = "_$name"
   }
   action("run_mksnapshot_" + name) {
-    visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-    deps = [
-      ":mksnapshot($v8_snapshot_toolchain)",
+    # Only targets in this file and running mkgrokdump can depend on this.
+    visibility = [
+      ":*",
+      "tools/debug_helper:run_mkgrokdump",
     ]
 
+    deps = [ ":mksnapshot($v8_snapshot_toolchain)" ]
+
     script = "tools/run.py"
 
     sources = []
@@ -1024,22 +1563,47 @@
                                         "root_out_dir") + "/mksnapshot",
                          root_build_dir),
       "--turbo_instruction_scheduling",
+
+      # In cross builds, the snapshot may be generated for both the host and
+      # target toolchains.  The same host binary is used to generate both, so
+      # 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",
+
+      "--embedded_src",
+      rebase_path("$target_gen_dir/embedded${suffix}.S", root_build_dir),
     ]
 
+    if (v8_enable_builtins_profiling) {
+      args += [ "--turbo-profiling" ]
+    }
+    if (v8_enable_builtins_profiling_verbose) {
+      args += [ "--turbo-profiling-verbose" ]
+    }
+    if (v8_builtins_profiling_log_file != "") {
+      sources += [ v8_builtins_profiling_log_file ]
+      args += [
+        "--turbo-profiling-log-file",
+        rebase_path(v8_builtins_profiling_log_file, root_build_dir),
+      ]
+    }
+
+    # This is needed to distinguish between generating code for the simulator
+    # and cross-compiling. The latter may need to run code on the host with the
+    # simulator but cannot use simulator-specific instructions.
+    if (target_is_simulator) {
+      args += [ "--target_is_simulator" ]
+    }
+
     args += invoker.args
 
-    if (v8_enable_embedded_builtins) {
-      outputs += [ "$target_gen_dir/embedded${suffix}.cc" ]
+    outputs += [ "$target_gen_dir/embedded${suffix}.S" ]
+    if (invoker.embedded_variant != "") {
       args += [
-        "--embedded_src",
-        rebase_path("$target_gen_dir/embedded${suffix}.cc", root_build_dir),
+        "--embedded_variant",
+        invoker.embedded_variant,
       ]
-      if (invoker.embedded_variant != "") {
-        args += [
-          "--embedded_variant",
-          invoker.embedded_variant,
-        ]
-      }
     }
 
     if (v8_random_seed != "0") {
@@ -1056,10 +1620,6 @@
       ]
     }
 
-    if (v8_perf_prof_unwinding_info) {
-      args += [ "--perf-prof-unwinding-info" ]
-    }
-
     if (v8_use_external_startup_data) {
       outputs += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
       data += [ "$root_out_dir/snapshot_blob${suffix}.bin" ]
@@ -1080,6 +1640,18 @@
       args += [ rebase_path(v8_embed_script, root_build_dir) ]
     }
 
+    if (v8_enable_snapshot_code_comments) {
+      args += [ "--code-comments" ]
+    }
+
+    if (v8_enable_snapshot_native_code_counters) {
+      args += [ "--native-code-counters" ]
+    } else {
+      # --native-code-counters is the default in debug mode so make sure we can
+      # unset it.
+      args += [ "--no-native-code-counters" ]
+    }
+
     if (v8_enable_fast_mksnapshot) {
       args += [
         "--no-turbo-rewrite-far-jumps",
@@ -1091,32 +1663,39 @@
         args += [ "--no-enable-slow-asserts" ]
       }
     }
+
+    if (v8_enable_verify_heap) {
+      args += [ "--verify-heap" ]
+    }
   }
 }
 
-if (v8_use_snapshot) {
-  run_mksnapshot("default") {
+run_mksnapshot("default") {
+  args = []
+  embedded_variant = "Default"
+}
+if (emit_builtins_as_inline_asm) {
+  asm_to_inline_asm("default") {
     args = []
-    if (v8_enable_embedded_builtins) {
-      embedded_variant = "Default"
-    }
   }
-  if (v8_use_multi_snapshots) {
-    run_mksnapshot("trusted") {
-      args = [ "--no-untrusted-code-mitigations" ]
-      if (v8_enable_embedded_builtins) {
-        embedded_variant = "Trusted"
-      }
+}
+if (v8_use_multi_snapshots) {
+  run_mksnapshot("trusted") {
+    args = [ "--no-untrusted-code-mitigations" ]
+    embedded_variant = "Trusted"
+  }
+  if (emit_builtins_as_inline_asm) {
+    asm_to_inline_asm("trusted") {
+      args = []
     }
   }
 }
 
 action("v8_dump_build_config") {
   script = "tools/testrunner/utils/dump_build_config.py"
-  outputs = [
-    "$root_out_dir/v8_build_config.json",
-  ]
+  outputs = [ "$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\"",
@@ -1124,18 +1703,26 @@
     "is_android=$is_android",
     "is_asan=$is_asan",
     "is_cfi=$is_cfi",
+    "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",
     "is_ubsan_vptr=$is_ubsan_vptr",
     "target_cpu=\"$target_cpu\"",
     "v8_current_cpu=\"$v8_current_cpu\"",
+    "v8_enable_atomic_marking_state=$v8_enable_atomic_marking_state",
+    "v8_enable_atomic_object_field_writes=" +
+        "$v8_enable_atomic_object_field_writes",
+    "v8_enable_concurrent_marking=$v8_enable_concurrent_marking",
     "v8_enable_i18n_support=$v8_enable_i18n_support",
     "v8_enable_verify_predictable=$v8_enable_verify_predictable",
+    "v8_enable_verify_csa=$v8_enable_verify_csa",
+    "v8_enable_lite_mode=$v8_enable_lite_mode",
+    "v8_enable_pointer_compression=$v8_enable_pointer_compression",
     "v8_target_cpu=\"$v8_target_cpu\"",
-    "v8_use_snapshot=$v8_use_snapshot",
   ]
 
   if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" ||
@@ -1151,151 +1738,53 @@
 # Source Sets (aka static libraries)
 #
 
-source_set("v8_maybe_snapshot") {
-  if (v8_use_snapshot && v8_use_external_startup_data) {
-    public_deps = [
-      ":v8_external_snapshot",
-    ]
-  } else if (v8_use_snapshot) {
-    public_deps = [
-      ":v8_snapshot",
-    ]
-  } else {
-    # Ignore v8_use_external_startup_data setting if no snapshot is used.
-    public_deps = [
-      ":v8_init",
-      ":v8_nosnapshot",
-    ]
+v8_source_set("v8_snapshot") {
+  visibility = [ ":*" ]  # Targets in this file can depend on this.
+
+  deps = []
+  public_deps = [
+    # This should be public so downstream targets can declare the snapshot
+    # output file as their inputs.
+    ":run_mksnapshot_default",
+  ]
+
+  # Do not publicize any header to remove build dependency.
+  public = []
+
+  sources = [ "src/init/setup-isolate-deserialize.cc" ]
+  if (v8_control_flow_integrity) {
+    sources += [ "src/deoptimizer/deoptimizer-cfi-builtins.cc" ]
   }
-}
-
-v8_source_set("v8_nosnapshot") {
-  visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-  deps = [
-    ":js2c",
-    ":js2c_experimental_extras",
-    ":js2c_extras",
-    ":v8_base",
-  ]
-
-  sources = [
-    "$target_gen_dir/experimental-extras-libraries.cc",
-    "$target_gen_dir/extras-libraries.cc",
-    "$target_gen_dir/libraries.cc",
-    "src/snapshot/embedded-empty.cc",
-    "src/snapshot/snapshot-empty.cc",
-  ]
-
-  if (use_jumbo_build == true) {
-    jumbo_excluded_sources = [
-      # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
-      # Generated source, contains same variable names as libraries.cc
-      "$target_gen_dir/experimental-extras-libraries.cc",
-      "$target_gen_dir/libraries.cc",
-    ]
+  if (emit_builtins_as_inline_asm) {
+    deps += [ ":asm_to_inline_asm_default" ]
+    sources += [ "$target_gen_dir/embedded.cc" ]
+  } else {
+    sources += [ "$target_gen_dir/embedded.S" ]
   }
 
   configs = [ ":internal_config" ]
-}
 
-if (v8_use_snapshot && !v8_use_external_startup_data) {
-  v8_source_set("v8_snapshot") {
-    # Only targets in this file and the top-level visibility target can
-    # depend on this.
-    visibility = [
-      ":*",
-      "//:gn_visibility",
-    ]
+  if (v8_use_external_startup_data) {
+    deps += [ ":v8_base" ]
 
-    deps = [
-      ":js2c",
-      ":js2c_experimental_extras",
-      ":js2c_extras",
-      ":v8_base",
-    ]
-    public_deps = [
-      # This should be public so downstream targets can declare the snapshot
-      # output file as their inputs.
-      ":run_mksnapshot_default",
-    ]
-
-    # Do not publicize any header to remove build dependency.
-    public = []
-
-    sources = [
-      "$target_gen_dir/experimental-extras-libraries.cc",
-      "$target_gen_dir/extras-libraries.cc",
-      "$target_gen_dir/libraries.cc",
-      "$target_gen_dir/snapshot.cc",
-      "src/setup-isolate-deserialize.cc",
-    ]
-
-    if (v8_enable_embedded_builtins) {
-      sources += [ "$target_gen_dir/embedded.cc" ]
-    } else {
-      sources += [ "src/snapshot/embedded-empty.cc" ]
-    }
-
-    if (use_jumbo_build == true) {
-      jumbo_excluded_sources = [
-        # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
-        # Generated source, contains same variable names as libraries.cc
-        "$target_gen_dir/experimental-extras-libraries.cc",
-        "$target_gen_dir/libraries.cc",
-      ]
-    }
-
-    configs = [ ":internal_config" ]
-  }
-}
-
-if (v8_use_snapshot && v8_use_external_startup_data) {
-  v8_source_set("v8_external_snapshot") {
-    visibility = [ ":*" ]  # Only targets in this file can depend on this.
-
-    deps = [
-      ":js2c",
-      ":js2c_experimental_extras",
-      ":js2c_extras",
-      ":v8_base",
-    ]
-    public_deps = [
-      ":natives_blob",
-      ":run_mksnapshot_default",
-    ]
+    sources += [ "src/snapshot/snapshot-external.cc" ]
 
     if (v8_use_multi_snapshots) {
       public_deps += [ ":run_mksnapshot_trusted" ]
-    }
-
-    sources = [
-      "src/setup-isolate-deserialize.cc",
-      "src/snapshot/natives-external.cc",
-      "src/snapshot/snapshot-external.cc",
-    ]
-
-    # Do not publicize any header to remove build dependency.
-    public = []
-
-    if (v8_enable_embedded_builtins) {
-      sources += [ "$target_gen_dir/embedded.cc" ]
-
-      if (v8_use_multi_snapshots) {
+      if (emit_builtins_as_inline_asm) {
+        deps += [ ":asm_to_inline_asm_trusted" ]
         sources += [ "$target_gen_dir/embedded_trusted.cc" ]
-
-        if (use_jumbo_build == true) {
-          jumbo_excluded_sources = [
-            # Duplicated symbols with embedded.cc
-            "$target_gen_dir/embedded_trusted.cc",
-          ]
-        }
+      } else {
+        sources += [ "$target_gen_dir/embedded_trusted.S" ]
       }
-    } else {
-      sources += [ "src/snapshot/embedded-empty.cc" ]
     }
+  } else {
+    # Also top-level visibility targets can depend on this.
+    visibility += [ "//:gn_visibility" ]
 
-    configs = [ ":internal_config" ]
+    public_deps += [ ":v8_maybe_icu" ]
+
+    sources += [ "$target_gen_dir/snapshot.cc" ]
   }
 }
 
@@ -1307,13 +1796,11 @@
 
   deps = [
     ":torque_generated_initializers",
-    ":v8_base",
+    ":v8_tracing",
   ]
 
   sources = [
     ### gcmole(all) ###
-    "src/builtins/builtins-arguments-gen.cc",
-    "src/builtins/builtins-arguments-gen.h",
     "src/builtins/builtins-array-gen.cc",
     "src/builtins/builtins-array-gen.h",
     "src/builtins/builtins-async-function-gen.cc",
@@ -1321,11 +1808,11 @@
     "src/builtins/builtins-async-gen.h",
     "src/builtins/builtins-async-generator-gen.cc",
     "src/builtins/builtins-async-iterator-gen.cc",
-    "src/builtins/builtins-boolean-gen.cc",
+    "src/builtins/builtins-bigint-gen.cc",
+    "src/builtins/builtins-bigint-gen.h",
     "src/builtins/builtins-call-gen.cc",
     "src/builtins/builtins-call-gen.h",
     "src/builtins/builtins-collections-gen.cc",
-    "src/builtins/builtins-console-gen.cc",
     "src/builtins/builtins-constructor-gen.cc",
     "src/builtins/builtins-constructor-gen.h",
     "src/builtins/builtins-constructor.h",
@@ -1333,7 +1820,6 @@
     "src/builtins/builtins-data-view-gen.h",
     "src/builtins/builtins-date-gen.cc",
     "src/builtins/builtins-debug-gen.cc",
-    "src/builtins/builtins-function-gen.cc",
     "src/builtins/builtins-generator-gen.cc",
     "src/builtins/builtins-global-gen.cc",
     "src/builtins/builtins-handler-gen.cc",
@@ -1345,28 +1831,31 @@
     "src/builtins/builtins-iterator-gen.h",
     "src/builtins/builtins-lazy-gen.cc",
     "src/builtins/builtins-lazy-gen.h",
-    "src/builtins/builtins-math-gen.cc",
-    "src/builtins/builtins-math-gen.h",
+    "src/builtins/builtins-microtask-queue-gen.cc",
     "src/builtins/builtins-number-gen.cc",
     "src/builtins/builtins-object-gen.cc",
     "src/builtins/builtins-promise-gen.cc",
     "src/builtins/builtins-promise-gen.h",
     "src/builtins/builtins-proxy-gen.cc",
     "src/builtins/builtins-proxy-gen.h",
-    "src/builtins/builtins-reflect-gen.cc",
     "src/builtins/builtins-regexp-gen.cc",
     "src/builtins/builtins-regexp-gen.h",
     "src/builtins/builtins-sharedarraybuffer-gen.cc",
     "src/builtins/builtins-string-gen.cc",
     "src/builtins/builtins-string-gen.h",
-    "src/builtins/builtins-symbol-gen.cc",
     "src/builtins/builtins-typed-array-gen.cc",
     "src/builtins/builtins-typed-array-gen.h",
     "src/builtins/builtins-utils-gen.h",
     "src/builtins/builtins-wasm-gen.cc",
+    "src/builtins/builtins-wasm-gen.h",
     "src/builtins/growable-fixed-array-gen.cc",
     "src/builtins/growable-fixed-array-gen.h",
+    "src/builtins/profile-data-reader.cc",
+    "src/builtins/profile-data-reader.h",
     "src/builtins/setup-builtins-internal.cc",
+    "src/builtins/torque-csa-header-includes.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",
@@ -1374,28 +1863,16 @@
     "src/ic/binary-op-assembler.h",
     "src/ic/keyed-store-generic.cc",
     "src/ic/keyed-store-generic.h",
+    "src/ic/unary-op-assembler.cc",
+    "src/ic/unary-op-assembler.h",
     "src/interpreter/interpreter-assembler.cc",
     "src/interpreter/interpreter-assembler.h",
     "src/interpreter/interpreter-generator.cc",
     "src/interpreter/interpreter-generator.h",
     "src/interpreter/interpreter-intrinsics-generator.cc",
     "src/interpreter/interpreter-intrinsics-generator.h",
-    "src/interpreter/setup-interpreter-internal.cc",
-    "src/interpreter/setup-interpreter.h",
   ]
 
-  if (use_jumbo_build == true) {
-    jumbo_excluded_sources = [
-      # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
-      "src/builtins/builtins-async-iterator-gen.cc",
-      "src/builtins/builtins-async-generator-gen.cc",
-
-      # This source file takes an unusually large amount of time to
-      # compile.  Build it separately to avoid bottlenecks.
-      "src/builtins/builtins-regexp-gen.cc",
-    ]
-  }
-
   if (v8_current_cpu == "x86") {
     sources += [
       ### gcmole(arch:ia32) ###
@@ -1426,11 +1903,16 @@
       ### gcmole(arch:mips64el) ###
       "src/builtins/mips64/builtins-mips64.cc",
     ]
-  } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
+  } else if (v8_current_cpu == "ppc") {
     sources += [
       ### gcmole(arch:ppc) ###
       "src/builtins/ppc/builtins-ppc.cc",
     ]
+  } else if (v8_current_cpu == "ppc64") {
+    sources += [
+      ### gcmole(arch:ppc64) ###
+      "src/builtins/ppc/builtins-ppc.cc",
+    ]
   } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
     sources += [
       ### gcmole(arch:s390) ###
@@ -1450,17 +1932,15 @@
 
   deps = [
     ":v8_initializers",
+    ":v8_tracing",
   ]
 
   sources = [
     ### gcmole(all) ###
-    "src/setup-isolate-full.cc",
+    "src/init/setup-isolate-full.cc",
   ]
-  if (v8_enable_i18n_support) {
-    public_deps = [
-      "//third_party/icu",
-    ]
-  }
+
+  public_deps = [ ":v8_maybe_icu" ]
 
   configs = [ ":internal_config" ]
 }
@@ -1481,18 +1961,340 @@
 # can depend upon to get basic v8 types.
 v8_header_set("v8_headers") {
   configs = [ ":internal_config" ]
+  public_configs = [ ":v8_header_features" ]
 
   sources = [
+    "include/v8-cppgc.h",
+    "include/v8-fast-api-calls.h",
+    "include/v8-internal.h",
     "include/v8.h",
     "include/v8config.h",
   ]
 
-  deps = [
-    ":v8_version",
+  sources += [
+    # The following headers cannot be platform-specific. The include validation
+    # of `gn gen $dir --check` requires all header files to be available on all
+    # platforms.
+    "include/v8-wasm-trap-handler-posix.h",
+    "include/v8-wasm-trap-handler-win.h",
   ]
+
+  deps = [ ":v8_version" ]
 }
 
-v8_source_set("v8_base") {
+# This is split out to share basic headers with Torque.
+v8_header_set("v8_shared_internal_headers") {
+  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+  configs = [ ":internal_config" ]
+
+  sources = [ "src/common/globals.h" ]
+
+  deps = [ ":v8_headers" ]
+}
+
+v8_compiler_sources = [
+  ### gcmole(all) ###
+  "src/builtins/profile-data-reader.h",
+  "src/compiler/access-builder.cc",
+  "src/compiler/access-builder.h",
+  "src/compiler/access-info.cc",
+  "src/compiler/access-info.h",
+  "src/compiler/add-type-assertions-reducer.cc",
+  "src/compiler/add-type-assertions-reducer.h",
+  "src/compiler/all-nodes.cc",
+  "src/compiler/all-nodes.h",
+  "src/compiler/allocation-builder-inl.h",
+  "src/compiler/allocation-builder.h",
+  "src/compiler/backend/code-generator-impl.h",
+  "src/compiler/backend/code-generator.cc",
+  "src/compiler/backend/code-generator.h",
+  "src/compiler/backend/frame-elider.cc",
+  "src/compiler/backend/frame-elider.h",
+  "src/compiler/backend/gap-resolver.cc",
+  "src/compiler/backend/gap-resolver.h",
+  "src/compiler/backend/instruction-codes.h",
+  "src/compiler/backend/instruction-scheduler.cc",
+  "src/compiler/backend/instruction-scheduler.h",
+  "src/compiler/backend/instruction-selector-impl.h",
+  "src/compiler/backend/instruction-selector.cc",
+  "src/compiler/backend/instruction-selector.h",
+  "src/compiler/backend/instruction.cc",
+  "src/compiler/backend/instruction.h",
+  "src/compiler/backend/jump-threading.cc",
+  "src/compiler/backend/jump-threading.h",
+  "src/compiler/backend/mid-tier-register-allocator.cc",
+  "src/compiler/backend/mid-tier-register-allocator.h",
+  "src/compiler/backend/move-optimizer.cc",
+  "src/compiler/backend/move-optimizer.h",
+  "src/compiler/backend/register-allocation.h",
+  "src/compiler/backend/register-allocator-verifier.cc",
+  "src/compiler/backend/register-allocator-verifier.h",
+  "src/compiler/backend/register-allocator.cc",
+  "src/compiler/backend/register-allocator.h",
+  "src/compiler/backend/spill-placer.cc",
+  "src/compiler/backend/spill-placer.h",
+  "src/compiler/backend/unwinding-info-writer.h",
+  "src/compiler/basic-block-instrumentor.cc",
+  "src/compiler/basic-block-instrumentor.h",
+  "src/compiler/branch-elimination.cc",
+  "src/compiler/branch-elimination.h",
+  "src/compiler/bytecode-analysis.cc",
+  "src/compiler/bytecode-analysis.h",
+  "src/compiler/bytecode-graph-builder.cc",
+  "src/compiler/bytecode-graph-builder.h",
+  "src/compiler/bytecode-liveness-map.cc",
+  "src/compiler/bytecode-liveness-map.h",
+  "src/compiler/c-linkage.cc",
+  "src/compiler/checkpoint-elimination.cc",
+  "src/compiler/checkpoint-elimination.h",
+  "src/compiler/code-assembler.cc",
+  "src/compiler/code-assembler.h",
+  "src/compiler/common-node-cache.cc",
+  "src/compiler/common-node-cache.h",
+  "src/compiler/common-operator-reducer.cc",
+  "src/compiler/common-operator-reducer.h",
+  "src/compiler/common-operator.cc",
+  "src/compiler/common-operator.h",
+  "src/compiler/compilation-dependencies.cc",
+  "src/compiler/compilation-dependencies.h",
+  "src/compiler/compiler-source-position-table.cc",
+  "src/compiler/compiler-source-position-table.h",
+  "src/compiler/constant-folding-reducer.cc",
+  "src/compiler/constant-folding-reducer.h",
+  "src/compiler/control-equivalence.cc",
+  "src/compiler/control-equivalence.h",
+  "src/compiler/control-flow-optimizer.cc",
+  "src/compiler/control-flow-optimizer.h",
+  "src/compiler/csa-load-elimination.cc",
+  "src/compiler/csa-load-elimination.h",
+  "src/compiler/dead-code-elimination.cc",
+  "src/compiler/dead-code-elimination.h",
+  "src/compiler/decompression-optimizer.cc",
+  "src/compiler/decompression-optimizer.h",
+  "src/compiler/diamond.h",
+  "src/compiler/effect-control-linearizer.cc",
+  "src/compiler/effect-control-linearizer.h",
+  "src/compiler/escape-analysis-reducer.cc",
+  "src/compiler/escape-analysis-reducer.h",
+  "src/compiler/escape-analysis.cc",
+  "src/compiler/escape-analysis.h",
+  "src/compiler/feedback-source.cc",
+  "src/compiler/feedback-source.h",
+  "src/compiler/frame-states.cc",
+  "src/compiler/frame-states.h",
+  "src/compiler/frame.cc",
+  "src/compiler/frame.h",
+  "src/compiler/functional-list.h",
+  "src/compiler/globals.h",
+  "src/compiler/graph-assembler.cc",
+  "src/compiler/graph-assembler.h",
+  "src/compiler/graph-reducer.cc",
+  "src/compiler/graph-reducer.h",
+  "src/compiler/graph-trimmer.cc",
+  "src/compiler/graph-trimmer.h",
+  "src/compiler/graph-visualizer.cc",
+  "src/compiler/graph-visualizer.h",
+  "src/compiler/graph-zone-traits.h",
+  "src/compiler/graph.cc",
+  "src/compiler/graph.h",
+  "src/compiler/int64-lowering.cc",
+  "src/compiler/int64-lowering.h",
+  "src/compiler/js-call-reducer.cc",
+  "src/compiler/js-call-reducer.h",
+  "src/compiler/js-context-specialization.cc",
+  "src/compiler/js-context-specialization.h",
+  "src/compiler/js-create-lowering.cc",
+  "src/compiler/js-create-lowering.h",
+  "src/compiler/js-generic-lowering.cc",
+  "src/compiler/js-generic-lowering.h",
+  "src/compiler/js-graph.cc",
+  "src/compiler/js-graph.h",
+  "src/compiler/js-heap-broker.cc",
+  "src/compiler/js-heap-broker.h",
+  "src/compiler/js-heap-copy-reducer.cc",
+  "src/compiler/js-heap-copy-reducer.h",
+  "src/compiler/js-inlining-heuristic.cc",
+  "src/compiler/js-inlining-heuristic.h",
+  "src/compiler/js-inlining.cc",
+  "src/compiler/js-inlining.h",
+  "src/compiler/js-intrinsic-lowering.cc",
+  "src/compiler/js-intrinsic-lowering.h",
+  "src/compiler/js-native-context-specialization.cc",
+  "src/compiler/js-native-context-specialization.h",
+  "src/compiler/js-operator.cc",
+  "src/compiler/js-operator.h",
+  "src/compiler/js-type-hint-lowering.cc",
+  "src/compiler/js-type-hint-lowering.h",
+  "src/compiler/js-typed-lowering.cc",
+  "src/compiler/js-typed-lowering.h",
+  "src/compiler/linkage.cc",
+  "src/compiler/linkage.h",
+  "src/compiler/load-elimination.cc",
+  "src/compiler/load-elimination.h",
+  "src/compiler/loop-analysis.cc",
+  "src/compiler/loop-analysis.h",
+  "src/compiler/loop-peeling.cc",
+  "src/compiler/loop-peeling.h",
+  "src/compiler/loop-variable-optimizer.cc",
+  "src/compiler/loop-variable-optimizer.h",
+  "src/compiler/machine-graph-verifier.cc",
+  "src/compiler/machine-graph-verifier.h",
+  "src/compiler/machine-graph.cc",
+  "src/compiler/machine-graph.h",
+  "src/compiler/machine-operator-reducer.cc",
+  "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-lowering.cc",
+  "src/compiler/memory-lowering.h",
+  "src/compiler/memory-optimizer.cc",
+  "src/compiler/memory-optimizer.h",
+  "src/compiler/node-aux-data.h",
+  "src/compiler/node-cache.h",
+  "src/compiler/node-marker.cc",
+  "src/compiler/node-marker.h",
+  "src/compiler/node-matchers.cc",
+  "src/compiler/node-matchers.h",
+  "src/compiler/node-origin-table.cc",
+  "src/compiler/node-origin-table.h",
+  "src/compiler/node-properties.cc",
+  "src/compiler/node-properties.h",
+  "src/compiler/node.cc",
+  "src/compiler/node.h",
+  "src/compiler/opcodes.cc",
+  "src/compiler/opcodes.h",
+  "src/compiler/operation-typer.cc",
+  "src/compiler/operation-typer.h",
+  "src/compiler/operator-properties.cc",
+  "src/compiler/operator-properties.h",
+  "src/compiler/operator.cc",
+  "src/compiler/operator.h",
+  "src/compiler/osr.cc",
+  "src/compiler/osr.h",
+  "src/compiler/per-isolate-compiler-cache.h",
+  "src/compiler/persistent-map.h",
+  "src/compiler/pipeline-statistics.cc",
+  "src/compiler/pipeline-statistics.h",
+  "src/compiler/pipeline.cc",
+  "src/compiler/pipeline.h",
+  "src/compiler/property-access-builder.cc",
+  "src/compiler/property-access-builder.h",
+  "src/compiler/raw-machine-assembler.cc",
+  "src/compiler/raw-machine-assembler.h",
+  "src/compiler/redundancy-elimination.cc",
+  "src/compiler/redundancy-elimination.h",
+  "src/compiler/refs-map.cc",
+  "src/compiler/refs-map.h",
+  "src/compiler/representation-change.cc",
+  "src/compiler/representation-change.h",
+  "src/compiler/schedule.cc",
+  "src/compiler/schedule.h",
+  "src/compiler/scheduled-machine-lowering.cc",
+  "src/compiler/scheduled-machine-lowering.h",
+  "src/compiler/scheduler.cc",
+  "src/compiler/scheduler.h",
+  "src/compiler/select-lowering.cc",
+  "src/compiler/select-lowering.h",
+  "src/compiler/serializer-for-background-compilation.cc",
+  "src/compiler/serializer-for-background-compilation.h",
+  "src/compiler/serializer-hints.h",
+  "src/compiler/simd-scalar-lowering.cc",
+  "src/compiler/simd-scalar-lowering.h",
+  "src/compiler/simplified-lowering.cc",
+  "src/compiler/simplified-lowering.h",
+  "src/compiler/simplified-operator-reducer.cc",
+  "src/compiler/simplified-operator-reducer.h",
+  "src/compiler/simplified-operator.cc",
+  "src/compiler/simplified-operator.h",
+  "src/compiler/state-values-utils.cc",
+  "src/compiler/state-values-utils.h",
+  "src/compiler/store-store-elimination.cc",
+  "src/compiler/store-store-elimination.h",
+  "src/compiler/type-cache.cc",
+  "src/compiler/type-cache.h",
+  "src/compiler/type-narrowing-reducer.cc",
+  "src/compiler/type-narrowing-reducer.h",
+  "src/compiler/typed-optimization.cc",
+  "src/compiler/typed-optimization.h",
+  "src/compiler/typer.cc",
+  "src/compiler/typer.h",
+  "src/compiler/types.cc",
+  "src/compiler/types.h",
+  "src/compiler/value-numbering-reducer.cc",
+  "src/compiler/value-numbering-reducer.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",
+]
+
+# The src/compiler files with optimizations.
+v8_source_set("v8_compiler_opt") {
+  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+
+  sources = v8_compiler_sources
+
+  public_deps = [
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    ":v8_maybe_icu",
+    ":v8_tracing",
+  ]
+
+  if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) {
+    # The :no_optimize config is added to v8_add_configs in v8.gni.
+    remove_configs = [ "//build/config/compiler:no_optimize" ]
+    configs = [ ":always_optimize" ]
+  } else {
+    # Without this else branch, gn fails to generate build files for non-debug
+    # builds (because we try to remove a config that is not present).
+    # So we include it, even if this config is not used outside of debug builds.
+    configs = [ ":internal_config" ]
+  }
+}
+
+# The src/compiler files with default optimization behavior.
+v8_source_set("v8_compiler") {
+  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+
+  sources = v8_compiler_sources
+
+  public_deps = [
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    ":v8_maybe_icu",
+    ":v8_tracing",
+  ]
+
+  configs = [ ":internal_config" ]
+}
+
+group("v8_compiler_for_mksnapshot") {
+  if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) {
+    deps = [ ":v8_compiler_opt" ]
+  } else {
+    deps = [ ":v8_compiler" ]
+  }
+}
+
+# Any target using trace events must directly or indirectly depend on
+# v8_tracing.
+group("v8_tracing") {
+  if (v8_use_perfetto) {
+    if (build_with_chromium) {
+      public_deps = [ "//third_party/perfetto:libperfetto" ]
+    } else {
+      public_deps = [ ":v8_libperfetto" ]
+    }
+  }
+}
+
+v8_source_set("v8_base_without_compiler") {
   visibility = [ ":*" ]  # Only targets in this file can depend on this.
 
   # Split static libraries on windows into two.
@@ -1502,32 +2304,28 @@
     "//base/trace_event/common/trace_event_common.h",
 
     ### gcmole(all) ###
+    "$target_gen_dir/builtins-generated/bytecodes-builtins-list.h",
+    "include/cppgc/common.h",
+    "include/v8-cppgc.h",
+    "include/v8-fast-api-calls.h",
     "include/v8-inspector-protocol.h",
     "include/v8-inspector.h",
+    "include/v8-internal.h",
+    "include/v8-metrics.h",
     "include/v8-platform.h",
     "include/v8-profiler.h",
-    "include/v8-testing.h",
+    "include/v8-unwinder-state.h",
     "include/v8-util.h",
+    "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.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",
@@ -1537,15 +2335,6 @@
     "src/asmjs/asm-scanner.h",
     "src/asmjs/asm-types.cc",
     "src/asmjs/asm-types.h",
-    "src/asmjs/switch-logic.cc",
-    "src/asmjs/switch-logic.h",
-    "src/assembler-arch-inl.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",
@@ -1554,35 +2343,23 @@
     "src/ast/ast-value-factory.h",
     "src/ast/ast.cc",
     "src/ast/ast.h",
-    "src/ast/context-slot-cache.cc",
-    "src/ast/context-slot-cache.h",
     "src/ast/modules.cc",
     "src/ast/modules.h",
     "src/ast/prettyprinter.cc",
     "src/ast/prettyprinter.h",
     "src/ast/scopes.cc",
     "src/ast/scopes.h",
+    "src/ast/source-range-ast-visitor.cc",
+    "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-async-module.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",
     "src/builtins/builtins-console.cc",
@@ -1595,14 +2372,11 @@
     "src/builtins/builtins-function.cc",
     "src/builtins/builtins-global.cc",
     "src/builtins/builtins-internal.cc",
-    "src/builtins/builtins-interpreter.cc",
     "src/builtins/builtins-intl.cc",
-    "src/builtins/builtins-intl.h",
     "src/builtins/builtins-json.cc",
-    "src/builtins/builtins-math.cc",
     "src/builtins/builtins-number.cc",
     "src/builtins/builtins-object.cc",
-    "src/builtins/builtins-promise.cc",
+    "src/builtins/builtins-promise.h",
     "src/builtins/builtins-reflect.cc",
     "src/builtins/builtins-regexp.cc",
     "src/builtins/builtins-sharedarraybuffer.cc",
@@ -1612,273 +2386,98 @@
     "src/builtins/builtins-typed-array.cc",
     "src/builtins/builtins-utils-inl.h",
     "src/builtins/builtins-utils.h",
+    "src/builtins/builtins-weak-refs.cc",
     "src/builtins/builtins.cc",
     "src/builtins/builtins.h",
     "src/builtins/constants-table-builder.cc",
     "src/builtins/constants-table-builder.h",
-    "src/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-events.h",
-    "src/code-factory.cc",
-    "src/code-factory.h",
-    "src/code-reference.cc",
-    "src/code-reference.h",
-    "src/code-stub-assembler.cc",
-    "src/code-stub-assembler.h",
-    "src/code-stubs-utils.h",
-    "src/code-stubs.cc",
-    "src/code-stubs.h",
-    "src/code-tracer.h",
-    "src/codegen.cc",
-    "src/codegen.h",
-    "src/collector.h",
-    "src/compilation-cache.cc",
-    "src/compilation-cache.h",
-    "src/compilation-statistics.cc",
-    "src/compilation-statistics.h",
-    "src/compiler-dispatcher/compiler-dispatcher-job.cc",
-    "src/compiler-dispatcher/compiler-dispatcher-job.h",
-    "src/compiler-dispatcher/compiler-dispatcher-tracer.cc",
-    "src/compiler-dispatcher/compiler-dispatcher-tracer.h",
+    "src/builtins/profile-data-reader.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-encoder.cc",
+    "src/codegen/external-reference-encoder.h",
+    "src/codegen/external-reference-table.cc",
+    "src/codegen/external-reference-table.h",
+    "src/codegen/external-reference.cc",
+    "src/codegen/external-reference.h",
+    "src/codegen/flush-instruction-cache.cc",
+    "src/codegen/flush-instruction-cache.h",
+    "src/codegen/handler-table.cc",
+    "src/codegen/handler-table.h",
+    "src/codegen/interface-descriptors.cc",
+    "src/codegen/interface-descriptors.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/pending-optimization-table.cc",
+    "src/codegen/pending-optimization-table.h",
+    "src/codegen/register-arch.h",
+    "src/codegen/register-configuration.cc",
+    "src/codegen/register-configuration.h",
+    "src/codegen/register.cc",
+    "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/tick-counter.cc",
+    "src/codegen/tick-counter.h",
+    "src/codegen/tnode.cc",
+    "src/codegen/tnode.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/external-pointer-inl.h",
+    "src/common/external-pointer.h",
+    "src/common/message-template.h",
+    "src/common/ptr-compr-inl.h",
+    "src/common/ptr-compr.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-dispatcher/unoptimized-compile-job.cc",
-    "src/compiler-dispatcher/unoptimized-compile-job.h",
-    "src/compiler.cc",
-    "src/compiler.h",
-    "src/compiler/access-builder.cc",
-    "src/compiler/access-builder.h",
-    "src/compiler/access-info.cc",
-    "src/compiler/access-info.h",
-    "src/compiler/all-nodes.cc",
-    "src/compiler/all-nodes.h",
-    "src/compiler/allocation-builder.h",
-    "src/compiler/basic-block-instrumentor.cc",
-    "src/compiler/basic-block-instrumentor.h",
-    "src/compiler/branch-elimination.cc",
-    "src/compiler/branch-elimination.h",
-    "src/compiler/bytecode-analysis.cc",
-    "src/compiler/bytecode-analysis.h",
-    "src/compiler/bytecode-graph-builder.cc",
-    "src/compiler/bytecode-graph-builder.h",
-    "src/compiler/bytecode-liveness-map.cc",
-    "src/compiler/bytecode-liveness-map.h",
-    "src/compiler/c-linkage.cc",
-    "src/compiler/checkpoint-elimination.cc",
-    "src/compiler/checkpoint-elimination.h",
-    "src/compiler/code-assembler.cc",
-    "src/compiler/code-assembler.h",
-    "src/compiler/code-generator-impl.h",
-    "src/compiler/code-generator.cc",
-    "src/compiler/code-generator.h",
-    "src/compiler/common-node-cache.cc",
-    "src/compiler/common-node-cache.h",
-    "src/compiler/common-operator-reducer.cc",
-    "src/compiler/common-operator-reducer.h",
-    "src/compiler/common-operator.cc",
-    "src/compiler/common-operator.h",
-    "src/compiler/compilation-dependencies.cc",
-    "src/compiler/compilation-dependencies.h",
-    "src/compiler/compiler-source-position-table.cc",
-    "src/compiler/compiler-source-position-table.h",
-    "src/compiler/constant-folding-reducer.cc",
-    "src/compiler/constant-folding-reducer.h",
-    "src/compiler/control-equivalence.cc",
-    "src/compiler/control-equivalence.h",
-    "src/compiler/control-flow-optimizer.cc",
-    "src/compiler/control-flow-optimizer.h",
-    "src/compiler/dead-code-elimination.cc",
-    "src/compiler/dead-code-elimination.h",
-    "src/compiler/diamond.h",
-    "src/compiler/effect-control-linearizer.cc",
-    "src/compiler/effect-control-linearizer.h",
-    "src/compiler/escape-analysis-reducer.cc",
-    "src/compiler/escape-analysis-reducer.h",
-    "src/compiler/escape-analysis.cc",
-    "src/compiler/escape-analysis.h",
-    "src/compiler/frame-elider.cc",
-    "src/compiler/frame-elider.h",
-    "src/compiler/frame-states.cc",
-    "src/compiler/frame-states.h",
-    "src/compiler/frame.cc",
-    "src/compiler/frame.h",
-    "src/compiler/functional-list.h",
-    "src/compiler/gap-resolver.cc",
-    "src/compiler/gap-resolver.h",
-    "src/compiler/graph-assembler.cc",
-    "src/compiler/graph-assembler.h",
-    "src/compiler/graph-reducer.cc",
-    "src/compiler/graph-reducer.h",
-    "src/compiler/graph-trimmer.cc",
-    "src/compiler/graph-trimmer.h",
-    "src/compiler/graph-visualizer.cc",
-    "src/compiler/graph-visualizer.h",
-    "src/compiler/graph.cc",
-    "src/compiler/graph.h",
-    "src/compiler/instruction-codes.h",
-    "src/compiler/instruction-scheduler.cc",
-    "src/compiler/instruction-scheduler.h",
-    "src/compiler/instruction-selector-impl.h",
-    "src/compiler/instruction-selector.cc",
-    "src/compiler/instruction-selector.h",
-    "src/compiler/instruction.cc",
-    "src/compiler/instruction.h",
-    "src/compiler/int64-lowering.cc",
-    "src/compiler/int64-lowering.h",
-    "src/compiler/js-call-reducer.cc",
-    "src/compiler/js-call-reducer.h",
-    "src/compiler/js-context-specialization.cc",
-    "src/compiler/js-context-specialization.h",
-    "src/compiler/js-create-lowering.cc",
-    "src/compiler/js-create-lowering.h",
-    "src/compiler/js-generic-lowering.cc",
-    "src/compiler/js-generic-lowering.h",
-    "src/compiler/js-graph.cc",
-    "src/compiler/js-graph.h",
-    "src/compiler/js-heap-broker.cc",
-    "src/compiler/js-heap-broker.h",
-    "src/compiler/js-heap-copy-reducer.cc",
-    "src/compiler/js-heap-copy-reducer.h",
-    "src/compiler/js-inlining-heuristic.cc",
-    "src/compiler/js-inlining-heuristic.h",
-    "src/compiler/js-inlining.cc",
-    "src/compiler/js-inlining.h",
-    "src/compiler/js-intrinsic-lowering.cc",
-    "src/compiler/js-intrinsic-lowering.h",
-    "src/compiler/js-native-context-specialization.cc",
-    "src/compiler/js-native-context-specialization.h",
-    "src/compiler/js-operator.cc",
-    "src/compiler/js-operator.h",
-    "src/compiler/js-type-hint-lowering.cc",
-    "src/compiler/js-type-hint-lowering.h",
-    "src/compiler/js-typed-lowering.cc",
-    "src/compiler/js-typed-lowering.h",
-    "src/compiler/jump-threading.cc",
-    "src/compiler/jump-threading.h",
-    "src/compiler/linkage.cc",
-    "src/compiler/linkage.h",
-    "src/compiler/live-range-separator.cc",
-    "src/compiler/live-range-separator.h",
-    "src/compiler/load-elimination.cc",
-    "src/compiler/load-elimination.h",
-    "src/compiler/loop-analysis.cc",
-    "src/compiler/loop-analysis.h",
-    "src/compiler/loop-peeling.cc",
-    "src/compiler/loop-peeling.h",
-    "src/compiler/loop-variable-optimizer.cc",
-    "src/compiler/loop-variable-optimizer.h",
-    "src/compiler/machine-graph-verifier.cc",
-    "src/compiler/machine-graph-verifier.h",
-    "src/compiler/machine-graph.cc",
-    "src/compiler/machine-graph.h",
-    "src/compiler/machine-operator-reducer.cc",
-    "src/compiler/machine-operator-reducer.h",
-    "src/compiler/machine-operator.cc",
-    "src/compiler/machine-operator.h",
-    "src/compiler/memory-optimizer.cc",
-    "src/compiler/memory-optimizer.h",
-    "src/compiler/move-optimizer.cc",
-    "src/compiler/move-optimizer.h",
-    "src/compiler/node-aux-data.h",
-    "src/compiler/node-cache.cc",
-    "src/compiler/node-cache.h",
-    "src/compiler/node-marker.cc",
-    "src/compiler/node-marker.h",
-    "src/compiler/node-matchers.cc",
-    "src/compiler/node-matchers.h",
-    "src/compiler/node-origin-table.cc",
-    "src/compiler/node-origin-table.h",
-    "src/compiler/node-properties.cc",
-    "src/compiler/node-properties.h",
-    "src/compiler/node.cc",
-    "src/compiler/node.h",
-    "src/compiler/opcodes.cc",
-    "src/compiler/opcodes.h",
-    "src/compiler/operation-typer.cc",
-    "src/compiler/operation-typer.h",
-    "src/compiler/operator-properties.cc",
-    "src/compiler/operator-properties.h",
-    "src/compiler/operator.cc",
-    "src/compiler/operator.h",
-    "src/compiler/osr.cc",
-    "src/compiler/osr.h",
-    "src/compiler/persistent-map.h",
-    "src/compiler/pipeline-statistics.cc",
-    "src/compiler/pipeline-statistics.h",
-    "src/compiler/pipeline.cc",
-    "src/compiler/pipeline.h",
-    "src/compiler/property-access-builder.cc",
-    "src/compiler/property-access-builder.h",
-    "src/compiler/raw-machine-assembler.cc",
-    "src/compiler/raw-machine-assembler.h",
-    "src/compiler/redundancy-elimination.cc",
-    "src/compiler/redundancy-elimination.h",
-    "src/compiler/register-allocator-verifier.cc",
-    "src/compiler/register-allocator-verifier.h",
-    "src/compiler/register-allocator.cc",
-    "src/compiler/register-allocator.h",
-    "src/compiler/representation-change.cc",
-    "src/compiler/representation-change.h",
-    "src/compiler/schedule.cc",
-    "src/compiler/schedule.h",
-    "src/compiler/scheduler.cc",
-    "src/compiler/scheduler.h",
-    "src/compiler/select-lowering.cc",
-    "src/compiler/select-lowering.h",
-    "src/compiler/simd-scalar-lowering.cc",
-    "src/compiler/simd-scalar-lowering.h",
-    "src/compiler/simplified-lowering.cc",
-    "src/compiler/simplified-lowering.h",
-    "src/compiler/simplified-operator-reducer.cc",
-    "src/compiler/simplified-operator-reducer.h",
-    "src/compiler/simplified-operator.cc",
-    "src/compiler/simplified-operator.h",
-    "src/compiler/state-values-utils.cc",
-    "src/compiler/state-values-utils.h",
-    "src/compiler/store-store-elimination.cc",
-    "src/compiler/store-store-elimination.h",
-    "src/compiler/type-cache.cc",
-    "src/compiler/type-cache.h",
-    "src/compiler/type-narrowing-reducer.cc",
-    "src/compiler/type-narrowing-reducer.h",
-    "src/compiler/typed-optimization.cc",
-    "src/compiler/typed-optimization.h",
-    "src/compiler/typer.cc",
-    "src/compiler/typer.h",
-    "src/compiler/types.cc",
-    "src/compiler/types.h",
-    "src/compiler/unwinding-info-writer.h",
-    "src/compiler/value-numbering-reducer.cc",
-    "src/compiler/value-numbering-reducer.h",
-    "src/compiler/verifier.cc",
-    "src/compiler/verifier.h",
-    "src/compiler/wasm-compiler.cc",
-    "src/compiler/wasm-compiler.h",
-    "src/compiler/zone-stats.cc",
-    "src/compiler/zone-stats.h",
-    "src/contexts-inl.h",
-    "src/contexts.cc",
-    "src/contexts.h",
-    "src/conversions-inl.h",
-    "src/conversions.cc",
-    "src/conversions.h",
-    "src/counters-inl.h",
-    "src/counters.cc",
-    "src/counters.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",
@@ -1886,6 +2485,8 @@
     "src/debug/debug-frames.cc",
     "src/debug/debug-frames.h",
     "src/debug/debug-interface.h",
+    "src/debug/debug-property-iterator.cc",
+    "src/debug/debug-property-iterator.h",
     "src/debug/debug-scope-iterator.cc",
     "src/debug/debug-scope-iterator.h",
     "src/debug/debug-scopes.cc",
@@ -1899,32 +2500,78 @@
     "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.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/diagnostics/unwinder.h",
+    "src/execution/arguments-inl.h",
+    "src/execution/arguments.cc",
+    "src/execution/arguments.h",
+    "src/execution/execution.cc",
+    "src/execution/execution.h",
+    "src/execution/external-pointer-table.cc",
+    "src/execution/external-pointer-table.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/interrupts-scope.cc",
+    "src/execution/interrupts-scope.h",
+    "src/execution/isolate-data.h",
+    "src/execution/isolate-inl.h",
+    "src/execution/isolate-utils.h",
+    "src/execution/isolate.cc",
+    "src/execution/isolate.h",
+    "src/execution/local-isolate-inl.h",
+    "src/execution/local-isolate.cc",
+    "src/execution/local-isolate.h",
+    "src/execution/messages.cc",
+    "src/execution/messages.h",
+    "src/execution/microtask-queue.cc",
+    "src/execution/microtask-queue.h",
+    "src/execution/pointer-authentication.h",
+    "src/execution/protectors-inl.h",
+    "src/execution/protectors.cc",
+    "src/execution/protectors.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/stack-guard.cc",
+    "src/execution/stack-guard.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/cputracemark-extension.cc",
+    "src/extensions/cputracemark-extension.h",
     "src/extensions/externalize-string-extension.cc",
     "src/extensions/externalize-string-extension.h",
-    "src/extensions/free-buffer-extension.cc",
-    "src/extensions/free-buffer-extension.h",
     "src/extensions/gc-extension.cc",
     "src/extensions/gc-extension.h",
     "src/extensions/ignition-statistics-extension.cc",
@@ -1933,56 +2580,65 @@
     "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/frame-constants.h",
-    "src/frames-inl.h",
-    "src/frames.cc",
-    "src/frames.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/globals.h",
-    "src/handler-table.cc",
-    "src/handler-table.h",
-    "src/handles-inl.h",
-    "src/handles.cc",
-    "src/handles.h",
-    "src/heap-symbols.h",
-    "src/heap/array-buffer-collector.cc",
-    "src/heap/array-buffer-collector.h",
-    "src/heap/array-buffer-tracker-inl.h",
-    "src/heap/array-buffer-tracker.cc",
-    "src/heap/array-buffer-tracker.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/local-handles-inl.h",
+    "src/handles/local-handles.cc",
+    "src/handles/local-handles.h",
+    "src/handles/maybe-handles-inl.h",
+    "src/handles/maybe-handles.h",
+    "src/handles/persistent-handles.cc",
+    "src/handles/persistent-handles.h",
+    "src/heap/allocation-observer.cc",
+    "src/heap/allocation-observer.h",
+    "src/heap/allocation-stats.h",
+    "src/heap/array-buffer-sweeper.cc",
+    "src/heap/array-buffer-sweeper.h",
     "src/heap/barrier.h",
+    "src/heap/base-space.cc",
+    "src/heap/base-space.h",
+    "src/heap/basic-memory-chunk.cc",
+    "src/heap/basic-memory-chunk.h",
+    "src/heap/code-object-registry.cc",
+    "src/heap/code-object-registry.h",
     "src/heap/code-stats.cc",
     "src/heap/code-stats.h",
+    "src/heap/collection-barrier.cc",
+    "src/heap/collection-barrier.h",
+    "src/heap/combined-heap.cc",
+    "src/heap/combined-heap.h",
+    "src/heap/concurrent-allocator-inl.h",
+    "src/heap/concurrent-allocator.cc",
+    "src/heap/concurrent-allocator.h",
     "src/heap/concurrent-marking.cc",
     "src/heap/concurrent-marking.h",
+    "src/heap/cppgc-js/cpp-heap.cc",
+    "src/heap/cppgc-js/cpp-heap.h",
+    "src/heap/cppgc-js/cpp-snapshot.cc",
+    "src/heap/cppgc-js/cpp-snapshot.h",
+    "src/heap/cppgc-js/unified-heap-marking-state.h",
+    "src/heap/cppgc-js/unified-heap-marking-verifier.cc",
+    "src/heap/cppgc-js/unified-heap-marking-verifier.h",
+    "src/heap/cppgc-js/unified-heap-marking-visitor.cc",
+    "src/heap/cppgc-js/unified-heap-marking-visitor.h",
     "src/heap/embedder-tracing.cc",
     "src/heap/embedder-tracing.h",
+    "src/heap/factory-base.cc",
+    "src/heap/factory-base.h",
     "src/heap/factory-inl.h",
     "src/heap/factory.cc",
     "src/heap/factory.h",
+    "src/heap/finalization-registry-cleanup-task.cc",
+    "src/heap/finalization-registry-cleanup-task.h",
+    "src/heap/free-list-inl.h",
+    "src/heap/free-list.cc",
+    "src/heap/free-list.h",
     "src/heap/gc-idle-time-handler.cc",
     "src/heap/gc-idle-time-handler.h",
     "src/heap/gc-tracer.cc",
@@ -1991,6 +2647,7 @@
     "src/heap/heap-controller.h",
     "src/heap/heap-inl.h",
     "src/heap/heap-write-barrier-inl.h",
+    "src/heap/heap-write-barrier.cc",
     "src/heap/heap-write-barrier.h",
     "src/heap/heap.cc",
     "src/heap/heap.h",
@@ -1999,44 +2656,86 @@
     "src/heap/incremental-marking-job.h",
     "src/heap/incremental-marking.cc",
     "src/heap/incremental-marking.h",
+    "src/heap/index-generator.cc",
+    "src/heap/index-generator.h",
     "src/heap/invalidated-slots-inl.h",
     "src/heap/invalidated-slots.cc",
     "src/heap/invalidated-slots.h",
     "src/heap/item-parallel-job.cc",
     "src/heap/item-parallel-job.h",
+    "src/heap/large-spaces.cc",
+    "src/heap/large-spaces.h",
+    "src/heap/list.h",
     "src/heap/local-allocator-inl.h",
     "src/heap/local-allocator.h",
+    "src/heap/local-factory.cc",
+    "src/heap/local-factory.h",
+    "src/heap/local-heap-inl.h",
+    "src/heap/local-heap.cc",
+    "src/heap/local-heap.h",
     "src/heap/mark-compact-inl.h",
     "src/heap/mark-compact.cc",
     "src/heap/mark-compact.h",
+    "src/heap/marking-barrier.cc",
+    "src/heap/marking-barrier.h",
+    "src/heap/marking-visitor-inl.h",
+    "src/heap/marking-visitor.h",
+    "src/heap/marking-worklist-inl.h",
+    "src/heap/marking-worklist.cc",
+    "src/heap/marking-worklist.h",
     "src/heap/marking.cc",
     "src/heap/marking.h",
+    "src/heap/memory-allocator.cc",
+    "src/heap/memory-allocator.h",
+    "src/heap/memory-chunk-inl.h",
+    "src/heap/memory-chunk-layout.cc",
+    "src/heap/memory-chunk-layout.h",
+    "src/heap/memory-chunk.cc",
+    "src/heap/memory-chunk.h",
+    "src/heap/memory-measurement-inl.h",
+    "src/heap/memory-measurement.cc",
+    "src/heap/memory-measurement.h",
     "src/heap/memory-reducer.cc",
     "src/heap/memory-reducer.h",
+    "src/heap/new-spaces-inl.h",
+    "src/heap/new-spaces.cc",
+    "src/heap/new-spaces.h",
     "src/heap/object-stats.cc",
     "src/heap/object-stats.h",
     "src/heap/objects-visiting-inl.h",
     "src/heap/objects-visiting.cc",
     "src/heap/objects-visiting.h",
+    "src/heap/paged-spaces-inl.h",
+    "src/heap/paged-spaces.cc",
+    "src/heap/paged-spaces.h",
+    "src/heap/parallel-work-item.h",
+    "src/heap/read-only-heap-inl.h",
+    "src/heap/read-only-heap.cc",
+    "src/heap/read-only-heap.h",
+    "src/heap/read-only-spaces.cc",
+    "src/heap/read-only-spaces.h",
+    "src/heap/remembered-set-inl.h",
     "src/heap/remembered-set.h",
+    "src/heap/safepoint.cc",
+    "src/heap/safepoint.h",
     "src/heap/scavenge-job.cc",
     "src/heap/scavenge-job.h",
     "src/heap/scavenger-inl.h",
     "src/heap/scavenger.cc",
     "src/heap/scavenger.h",
+    "src/heap/slot-set.cc",
     "src/heap/slot-set.h",
     "src/heap/spaces-inl.h",
     "src/heap/spaces.cc",
     "src/heap/spaces.h",
-    "src/heap/store-buffer-inl.h",
-    "src/heap/store-buffer.cc",
-    "src/heap/store-buffer.h",
     "src/heap/stress-marking-observer.cc",
     "src/heap/stress-marking-observer.h",
     "src/heap/stress-scavenge-observer.cc",
     "src/heap/stress-scavenge-observer.h",
     "src/heap/sweeper.cc",
     "src/heap/sweeper.h",
+    "src/heap/weak-object-worklists.cc",
+    "src/heap/weak-object-worklists.h",
     "src/heap/worklist.h",
     "src/ic/call-optimization.cc",
     "src/ic/call-optimization.h",
@@ -2050,14 +2749,18 @@
     "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/instruction-stream.cc",
-    "src/instruction-stream.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",
@@ -2103,75 +2806,124 @@
     "src/interpreter/interpreter-intrinsics.h",
     "src/interpreter/interpreter.cc",
     "src/interpreter/interpreter.h",
-    "src/intl.cc",
-    "src/intl.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/lsan.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/maybe-handles-inl.h",
-    "src/maybe-handles.h",
-    "src/messages.cc",
-    "src/messages.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/local-logger.cc",
+    "src/logging/local-logger.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/logging/metrics.cc",
+    "src/logging/metrics.h",
+    "src/logging/tracing-flags.cc",
+    "src/logging/tracing-flags.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/all-objects-inl.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",
     "src/objects/arguments-inl.h",
     "src/objects/arguments.h",
+    "src/objects/backing-store.cc",
+    "src/objects/backing-store.h",
+    "src/objects/bigint-inl.h",
     "src/objects/bigint.cc",
     "src/objects/bigint.h",
+    "src/objects/cell-inl.h",
+    "src/objects/cell.h",
     "src/objects/code-inl.h",
+    "src/objects/code-kind.cc",
+    "src/objects/code-kind.h",
+    "src/objects/code.cc",
     "src/objects/code.h",
-    "src/objects/compilation-cache-inl.h",
-    "src/objects/compilation-cache.h",
+    "src/objects/compilation-cache-table-inl.h",
+    "src/objects/compilation-cache-table.cc",
+    "src/objects/compilation-cache-table.h",
+    "src/objects/compressed-slots-inl.h",
+    "src/objects/compressed-slots.h",
+    "src/objects/contexts-inl.h",
+    "src/objects/contexts.cc",
+    "src/objects/contexts.h",
+    "src/objects/data-handler-inl.h",
+    "src/objects/data-handler.h",
     "src/objects/debug-objects-inl.h",
     "src/objects/debug-objects.cc",
     "src/objects/debug-objects.h",
+    "src/objects/descriptor-array-inl.h",
     "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",
+    "src/objects/embedder-data-slot-inl.h",
+    "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/foreign-inl.h",
+    "src/objects/foreign.h",
     "src/objects/frame-array-inl.h",
     "src/objects/frame-array.h",
+    "src/objects/free-space-inl.h",
+    "src/objects/free-space.h",
+    "src/objects/function-kind.h",
     "src/objects/hash-table-inl.h",
     "src/objects/hash-table.h",
-    "src/objects/intl-objects-inl.h",
+    "src/objects/heap-number-inl.h",
+    "src/objects/heap-number.h",
+    "src/objects/heap-object-inl.h",
+    "src/objects/heap-object.h",
+    "src/objects/instance-type-inl.h",
+    "src/objects/instance-type.h",
+    "src/objects/internal-index.h",
     "src/objects/intl-objects.cc",
     "src/objects/intl-objects.h",
     "src/objects/js-array-buffer-inl.h",
@@ -2179,11 +2931,24 @@
     "src/objects/js-array-buffer.h",
     "src/objects/js-array-inl.h",
     "src/objects/js-array.h",
+    "src/objects/js-break-iterator-inl.h",
+    "src/objects/js-break-iterator.cc",
+    "src/objects/js-break-iterator.h",
     "src/objects/js-collator-inl.h",
     "src/objects/js-collator.cc",
     "src/objects/js-collator.h",
     "src/objects/js-collection-inl.h",
+    "src/objects/js-collection-iterator.h",
     "src/objects/js-collection.h",
+    "src/objects/js-date-time-format-inl.h",
+    "src/objects/js-date-time-format.cc",
+    "src/objects/js-date-time-format.h",
+    "src/objects/js-display-names-inl.h",
+    "src/objects/js-display-names.cc",
+    "src/objects/js-display-names.h",
+    "src/objects/js-function-inl.h",
+    "src/objects/js-function.cc",
+    "src/objects/js-function.h",
     "src/objects/js-generator-inl.h",
     "src/objects/js-generator.h",
     "src/objects/js-list-format-inl.h",
@@ -2192,6 +2957,12 @@
     "src/objects/js-locale-inl.h",
     "src/objects/js-locale.cc",
     "src/objects/js-locale.h",
+    "src/objects/js-number-format-inl.h",
+    "src/objects/js-number-format.cc",
+    "src/objects/js-number-format.h",
+    "src/objects/js-objects-inl.h",
+    "src/objects/js-objects.cc",
+    "src/objects/js-objects.h",
     "src/objects/js-plural-rules-inl.h",
     "src/objects/js-plural-rules.cc",
     "src/objects/js-plural-rules.h",
@@ -2202,16 +2973,42 @@
     "src/objects/js-regexp-inl.h",
     "src/objects/js-regexp-string-iterator-inl.h",
     "src/objects/js-regexp-string-iterator.h",
+    "src/objects/js-regexp.cc",
     "src/objects/js-regexp.h",
     "src/objects/js-relative-time-format-inl.h",
     "src/objects/js-relative-time-format.cc",
     "src/objects/js-relative-time-format.h",
+    "src/objects/js-segment-iterator-inl.h",
+    "src/objects/js-segment-iterator.cc",
+    "src/objects/js-segment-iterator.h",
+    "src/objects/js-segmenter-inl.h",
+    "src/objects/js-segmenter.cc",
+    "src/objects/js-segmenter.h",
+    "src/objects/js-segments-inl.h",
+    "src/objects/js-segments.cc",
+    "src/objects/js-segments.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",
     "src/objects/maybe-object.h",
@@ -2222,41 +3019,100 @@
     "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",
     "src/objects/ordered-hash-table.cc",
     "src/objects/ordered-hash-table.h",
+    "src/objects/osr-optimized-code-cache-inl.h",
+    "src/objects/osr-optimized-code-cache.cc",
+    "src/objects/osr-optimized-code-cache.h",
+    "src/objects/primitive-heap-object-inl.h",
+    "src/objects/primitive-heap-object.h",
     "src/objects/promise-inl.h",
     "src/objects/promise.h",
+    "src/objects/property-array-inl.h",
+    "src/objects/property-array.h",
+    "src/objects/property-cell-inl.h",
+    "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",
     "src/objects/script-inl.h",
     "src/objects/script.h",
     "src/objects/shared-function-info-inl.h",
+    "src/objects/shared-function-info.cc",
     "src/objects/shared-function-info.h",
+    "src/objects/slots-atomic-inl.h",
+    "src/objects/slots-inl.h",
+    "src/objects/slots.h",
+    "src/objects/source-text-module.cc",
+    "src/objects/source-text-module.h",
+    "src/objects/stack-frame-info-inl.h",
+    "src/objects/stack-frame-info.cc",
+    "src/objects/stack-frame-info.h",
+    "src/objects/string-comparator.cc",
+    "src/objects/string-comparator.h",
     "src/objects/string-inl.h",
+    "src/objects/string-set-inl.h",
+    "src/objects/string-set.h",
+    "src/objects/string-table-inl.h",
+    "src/objects/string-table.cc",
     "src/objects/string-table.h",
+    "src/objects/string.cc",
     "src/objects/string.h",
+    "src/objects/struct-inl.h",
+    "src/objects/struct.h",
+    "src/objects/synthetic-module-inl.h",
+    "src/objects/synthetic-module.cc",
+    "src/objects/synthetic-module.h",
+    "src/objects/tagged-field-inl.h",
+    "src/objects/tagged-field.h",
+    "src/objects/tagged-impl-inl.h",
+    "src/objects/tagged-impl.cc",
+    "src/objects/tagged-impl.h",
+    "src/objects/tagged-index.h",
+    "src/objects/tagged-value-inl.h",
+    "src/objects/tagged-value.h",
+    "src/objects/template-objects-inl.h",
     "src/objects/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/parsing/duplicate-finder.h",
-    "src/parsing/expression-classifier.h",
-    "src/parsing/expression-scope-reparenter.cc",
-    "src/parsing/expression-scope-reparenter.h",
+    "src/objects/torque-defined-classes-inl.h",
+    "src/objects/torque-defined-classes.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.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",
@@ -2264,9 +3120,11 @@
     "src/parsing/parser.h",
     "src/parsing/parsing.cc",
     "src/parsing/parsing.h",
-    "src/parsing/pattern-rewriter.cc",
-    "src/parsing/preparsed-scope-data.cc",
-    "src/parsing/preparsed-scope-data.h",
+    "src/parsing/pending-compilation-error-handler.cc",
+    "src/parsing/pending-compilation-error-handler.h",
+    "src/parsing/preparse-data-impl.h",
+    "src/parsing/preparse-data.cc",
+    "src/parsing/preparse-data.h",
     "src/parsing/preparser-logger.h",
     "src/parsing/preparser.cc",
     "src/parsing/preparser.h",
@@ -2278,10 +3136,6 @@
     "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/profiler/allocation-tracker.cc",
     "src/profiler/allocation-tracker.h",
     "src/profiler/circular-queue-inl.h",
@@ -2299,52 +3153,64 @@
     "src/profiler/profile-generator.h",
     "src/profiler/profiler-listener.cc",
     "src/profiler/profiler-listener.h",
+    "src/profiler/profiler-stats.cc",
+    "src/profiler/profiler-stats.h",
     "src/profiler/sampling-heap-profiler.cc",
     "src/profiler/sampling-heap-profiler.h",
     "src/profiler/strings-storage.cc",
     "src/profiler/strings-storage.h",
+    "src/profiler/symbolizer.cc",
+    "src/profiler/symbolizer.h",
     "src/profiler/tick-sample.cc",
     "src/profiler/tick-sample.h",
     "src/profiler/tracing-cpu-profiler.cc",
     "src/profiler/tracing-cpu-profiler.h",
-    "src/profiler/unbound-queue-inl.h",
-    "src/profiler/unbound-queue.h",
-    "src/property-descriptor.cc",
-    "src/property-descriptor.h",
-    "src/property-details.h",
-    "src/property.cc",
-    "src/property.h",
-    "src/prototype.h",
-    "src/regexp/bytecodes-irregexp.h",
-    "src/regexp/interpreter-irregexp.cc",
-    "src/regexp/interpreter-irregexp.h",
-    "src/regexp/jsregexp-inl.h",
-    "src/regexp/jsregexp.cc",
-    "src/regexp/jsregexp.h",
+    "src/regexp/experimental/experimental-bytecode.cc",
+    "src/regexp/experimental/experimental-bytecode.h",
+    "src/regexp/experimental/experimental-compiler.cc",
+    "src/regexp/experimental/experimental-compiler.h",
+    "src/regexp/experimental/experimental-interpreter.cc",
+    "src/regexp/experimental/experimental-interpreter.h",
+    "src/regexp/experimental/experimental.cc",
+    "src/regexp/experimental/experimental.h",
+    "src/regexp/property-sequences.cc",
+    "src/regexp/property-sequences.h",
     "src/regexp/regexp-ast.cc",
     "src/regexp/regexp-ast.h",
-    "src/regexp/regexp-macro-assembler-irregexp-inl.h",
-    "src/regexp/regexp-macro-assembler-irregexp.cc",
-    "src/regexp/regexp-macro-assembler-irregexp.h",
+    "src/regexp/regexp-bytecode-generator-inl.h",
+    "src/regexp/regexp-bytecode-generator.cc",
+    "src/regexp/regexp-bytecode-generator.h",
+    "src/regexp/regexp-bytecode-peephole.cc",
+    "src/regexp/regexp-bytecode-peephole.h",
+    "src/regexp/regexp-bytecodes.cc",
+    "src/regexp/regexp-bytecodes.h",
+    "src/regexp/regexp-compiler-tonode.cc",
+    "src/regexp/regexp-compiler.cc",
+    "src/regexp/regexp-compiler.h",
+    "src/regexp/regexp-dotprinter.cc",
+    "src/regexp/regexp-dotprinter.h",
+    "src/regexp/regexp-error.cc",
+    "src/regexp/regexp-error.h",
+    "src/regexp/regexp-interpreter.cc",
+    "src/regexp/regexp-interpreter.h",
+    "src/regexp/regexp-macro-assembler-arch.h",
     "src/regexp/regexp-macro-assembler-tracer.cc",
     "src/regexp/regexp-macro-assembler-tracer.h",
     "src/regexp/regexp-macro-assembler.cc",
     "src/regexp/regexp-macro-assembler.h",
+    "src/regexp/regexp-nodes.h",
     "src/regexp/regexp-parser.cc",
     "src/regexp/regexp-parser.h",
     "src/regexp/regexp-stack.cc",
     "src/regexp/regexp-stack.h",
     "src/regexp/regexp-utils.cc",
     "src/regexp/regexp-utils.h",
-    "src/register-configuration.cc",
-    "src/register-configuration.h",
-    "src/reglist.h",
-    "src/reloc-info.cc",
-    "src/reloc-info.h",
-    "src/roots-inl.h",
-    "src/roots.h",
-    "src/runtime-profiler.cc",
-    "src/runtime-profiler.h",
+    "src/regexp/regexp.cc",
+    "src/regexp/regexp.h",
+    "src/regexp/special-case.h",
+    "src/roots/roots-inl.h",
+    "src/roots/roots.cc",
+    "src/roots/roots.h",
     "src/runtime/runtime-array.cc",
     "src/runtime/runtime-atomics.cc",
     "src/runtime/runtime-bigint.cc",
@@ -2361,7 +3227,6 @@
     "src/runtime/runtime-interpreter.cc",
     "src/runtime/runtime-intl.cc",
     "src/runtime/runtime-literals.cc",
-    "src/runtime/runtime-maths.cc",
     "src/runtime/runtime-module.cc",
     "src/runtime/runtime-numbers.cc",
     "src/runtime/runtime-object.cc",
@@ -2376,74 +3241,76 @@
     "src/runtime/runtime-typedarray.cc",
     "src/runtime/runtime-utils.h",
     "src/runtime/runtime-wasm.cc",
+    "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/snapshot/builtin-deserializer-allocator.cc",
-    "src/snapshot/builtin-deserializer-allocator.h",
-    "src/snapshot/builtin-deserializer.cc",
-    "src/snapshot/builtin-deserializer.h",
-    "src/snapshot/builtin-serializer-allocator.cc",
-    "src/snapshot/builtin-serializer-allocator.h",
-    "src/snapshot/builtin-serializer.cc",
-    "src/snapshot/builtin-serializer.h",
-    "src/snapshot/builtin-snapshot-utils.cc",
-    "src/snapshot/builtin-snapshot-utils.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/default-deserializer-allocator.cc",
-    "src/snapshot/default-deserializer-allocator.h",
-    "src/snapshot/default-serializer-allocator.cc",
-    "src/snapshot/default-serializer-allocator.h",
+    "src/snapshot/context-deserializer.cc",
+    "src/snapshot/context-deserializer.h",
+    "src/snapshot/context-serializer.cc",
+    "src/snapshot/context-serializer.h",
     "src/snapshot/deserializer.cc",
     "src/snapshot/deserializer.h",
-    "src/snapshot/macros.h",
-    "src/snapshot/natives-common.cc",
-    "src/snapshot/natives.h",
+    "src/snapshot/embedded/embedded-data.cc",
+    "src/snapshot/embedded/embedded-data.h",
     "src/snapshot/object-deserializer.cc",
     "src/snapshot/object-deserializer.h",
-    "src/snapshot/partial-deserializer.cc",
-    "src/snapshot/partial-deserializer.h",
-    "src/snapshot/partial-serializer.cc",
-    "src/snapshot/partial-serializer.h",
+    "src/snapshot/read-only-deserializer.cc",
+    "src/snapshot/read-only-deserializer.h",
+    "src/snapshot/read-only-serializer.cc",
+    "src/snapshot/read-only-serializer.h",
     "src/snapshot/references.h",
-    "src/snapshot/serializer-common.cc",
-    "src/snapshot/serializer-common.h",
+    "src/snapshot/roots-serializer.cc",
+    "src/snapshot/roots-serializer.h",
+    "src/snapshot/serializer-deserializer.cc",
+    "src/snapshot/serializer-deserializer.h",
     "src/snapshot/serializer.cc",
     "src/snapshot/serializer.h",
-    "src/snapshot/snapshot-common.cc",
+    "src/snapshot/snapshot-compression.cc",
+    "src/snapshot/snapshot-compression.h",
+    "src/snapshot/snapshot-data.cc",
+    "src/snapshot/snapshot-data.h",
     "src/snapshot/snapshot-source-sink.cc",
     "src/snapshot/snapshot-source-sink.h",
+    "src/snapshot/snapshot-utils.cc",
+    "src/snapshot/snapshot-utils.h",
+    "src/snapshot/snapshot.cc",
     "src/snapshot/snapshot.h",
     "src/snapshot/startup-deserializer.cc",
     "src/snapshot/startup-deserializer.h",
     "src/snapshot/startup-serializer.cc",
     "src/snapshot/startup-serializer.h",
-    "src/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-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/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/tracing/trace-event.cc",
     "src/tracing/trace-event.h",
@@ -2451,60 +3318,52 @@
     "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/unicode-cache-inl.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/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/scoped-list.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",
     "src/wasm/baseline/liftoff-compiler.cc",
     "src/wasm/baseline/liftoff-compiler.h",
     "src/wasm/baseline/liftoff-register.h",
+    "src/wasm/code-space-access.h",
+    "src/wasm/compilation-environment.h",
     "src/wasm/decoder.h",
     "src/wasm/function-body-decoder-impl.h",
     "src/wasm/function-body-decoder.cc",
     "src/wasm/function-body-decoder.h",
     "src/wasm/function-compiler.cc",
     "src/wasm/function-compiler.h",
+    "src/wasm/graph-builder-interface.cc",
+    "src/wasm/graph-builder-interface.h",
     "src/wasm/jump-table-assembler.cc",
     "src/wasm/jump-table-assembler.h",
     "src/wasm/leb-helper.h",
@@ -2516,14 +3375,24 @@
     "src/wasm/module-compiler.h",
     "src/wasm/module-decoder.cc",
     "src/wasm/module-decoder.h",
+    "src/wasm/module-instantiate.cc",
+    "src/wasm/module-instantiate.h",
+    "src/wasm/object-access.h",
     "src/wasm/signature-map.cc",
     "src/wasm/signature-map.h",
+    "src/wasm/simd-shuffle.cc",
+    "src/wasm/simd-shuffle.h",
     "src/wasm/streaming-decoder.cc",
     "src/wasm/streaming-decoder.h",
+    "src/wasm/struct-types.h",
+    "src/wasm/sync-streaming-decoder.cc",
     "src/wasm/value-type.h",
+    "src/wasm/wasm-arguments.h",
     "src/wasm/wasm-code-manager.cc",
     "src/wasm/wasm-code-manager.h",
     "src/wasm/wasm-constants.h",
+    "src/wasm/wasm-debug-evaluate.cc",
+    "src/wasm/wasm-debug-evaluate.h",
     "src/wasm/wasm-debug.cc",
     "src/wasm/wasm-engine.cc",
     "src/wasm/wasm-engine.h",
@@ -2532,16 +3401,16 @@
     "src/wasm/wasm-feature-flags.h",
     "src/wasm/wasm-features.cc",
     "src/wasm/wasm-features.h",
-    "src/wasm/wasm-interpreter.cc",
-    "src/wasm/wasm-interpreter.h",
+    "src/wasm/wasm-import-wrapper-cache.cc",
+    "src/wasm/wasm-import-wrapper-cache.h",
     "src/wasm/wasm-js.cc",
     "src/wasm/wasm-js.h",
     "src/wasm/wasm-limits.h",
     "src/wasm/wasm-linkage.h",
-    "src/wasm/wasm-memory.cc",
-    "src/wasm/wasm-memory.h",
     "src/wasm/wasm-module-builder.cc",
     "src/wasm/wasm-module-builder.h",
+    "src/wasm/wasm-module-sourcemap.cc",
+    "src/wasm/wasm-module-sourcemap.h",
     "src/wasm/wasm-module.cc",
     "src/wasm/wasm-module.h",
     "src/wasm/wasm-objects-inl.h",
@@ -2553,23 +3422,70 @@
     "src/wasm/wasm-result.h",
     "src/wasm/wasm-serialization.cc",
     "src/wasm/wasm-serialization.h",
-    "src/wasm/wasm-text.cc",
-    "src/wasm/wasm-text.h",
+    "src/wasm/wasm-subtyping.cc",
+    "src/wasm/wasm-subtyping.h",
     "src/wasm/wasm-tier.h",
     "src/wasm/wasm-value.h",
     "src/zone/accounting-allocator.cc",
     "src/zone/accounting-allocator.h",
+    "src/zone/compressed-zone-ptr.h",
+    "src/zone/type-stats.cc",
+    "src/zone/type-stats.h",
     "src/zone/zone-allocator.h",
     "src/zone/zone-chunk-list.h",
+    "src/zone/zone-compression.h",
     "src/zone/zone-containers.h",
     "src/zone/zone-handle-set.h",
+    "src/zone/zone-hashmap.h",
     "src/zone/zone-list-inl.h",
+    "src/zone/zone-list.h",
     "src/zone/zone-segment.cc",
     "src/zone/zone-segment.h",
+    "src/zone/zone-type-traits.h",
+    "src/zone/zone-utils.h",
     "src/zone/zone.cc",
     "src/zone/zone.h",
   ]
 
+  if (!v8_control_flow_integrity) {
+    sources += [ "src/execution/pointer-authentication-dummy.h" ]
+  }
+
+  if (v8_enable_third_party_heap) {
+    sources += v8_third_party_heap_files
+  } else {
+    sources += [ "src/heap/third-party/heap-api-stub.cc" ]
+  }
+
+  if (v8_enable_conservative_stack_scanning) {
+    sources += [
+      "src/heap/conservative-stack-visitor.cc",
+      "src/heap/conservative-stack-visitor.h",
+      "src/heap/object-start-bitmap.h",
+    ]
+  }
+
+  if (v8_enable_wasm_gdb_remote_debugging) {
+    sources += [
+      "src/debug/wasm/gdb-server/gdb-remote-util.cc",
+      "src/debug/wasm/gdb-server/gdb-remote-util.h",
+      "src/debug/wasm/gdb-server/gdb-server-thread.cc",
+      "src/debug/wasm/gdb-server/gdb-server-thread.h",
+      "src/debug/wasm/gdb-server/gdb-server.cc",
+      "src/debug/wasm/gdb-server/gdb-server.h",
+      "src/debug/wasm/gdb-server/packet.cc",
+      "src/debug/wasm/gdb-server/packet.h",
+      "src/debug/wasm/gdb-server/session.cc",
+      "src/debug/wasm/gdb-server/session.h",
+      "src/debug/wasm/gdb-server/target.cc",
+      "src/debug/wasm/gdb-server/target.h",
+      "src/debug/wasm/gdb-server/transport.cc",
+      "src/debug/wasm/gdb-server/transport.h",
+      "src/debug/wasm/gdb-server/wasm-module-debug.cc",
+      "src/debug/wasm/gdb-server/wasm-module-debug.h",
+    ]
+  }
+
   if (v8_check_header_includes) {
     # This file will be generated by tools/generate-header-include-checks.py
     # if the "check_v8_header_includes" gclient variable is set.
@@ -2577,343 +3493,440 @@
     sources += check_header_includes_sources
   }
 
-  if (use_jumbo_build == true) {
-    jumbo_excluded_sources = [
-      # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428
-      "src/profiler/heap-snapshot-generator.cc",  # Macro clash in mman-linux.h
-
-      # These source files take an unusually large amount of time to
-      # compile.  Build them separately to avoid bottlenecks.
-      "src/api.cc",
-      "src/code-stub-assembler.cc",
-      "src/elements.cc",
-      "src/heap/heap.cc",
-      "src/objects.cc",
-      "src/parsing/parser.cc",
-    ]
-  }
-
   if (v8_current_cpu == "x86") {
     sources += [  ### gcmole(arch:ia32) ###
-      "src/compiler/ia32/code-generator-ia32.cc",
-      "src/compiler/ia32/instruction-codes-ia32.h",
-      "src/compiler/ia32/instruction-scheduler-ia32.cc",
-      "src/compiler/ia32/instruction-selector-ia32.cc",
+      "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/code-stubs-ia32.cc",
-      "src/ia32/codegen-ia32.cc",
-      "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/simulator-ia32.cc",
-      "src/ia32/simulator-ia32.h",
-      "src/ia32/sse-instr.h",
+      "src/deoptimizer/ia32/deoptimizer-ia32.cc",
+      "src/diagnostics/ia32/disasm-ia32.cc",
+      "src/diagnostics/ia32/unwinder-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/compiler/x64/code-generator-x64.cc",
-      "src/compiler/x64/instruction-codes-x64.h",
-      "src/compiler/x64/instruction-scheduler-x64.cc",
-      "src/compiler/x64/instruction-selector-x64.cc",
-      "src/compiler/x64/unwinding-info-writer-x64.cc",
-      "src/compiler/x64/unwinding-info-writer-x64.h",
+      "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/fma-instr.h",
+      "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",
+      "src/compiler/backend/x64/instruction-selector-x64.cc",
+      "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/diagnostics/x64/unwinder-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/code-stubs-x64.cc",
-      "src/x64/codegen-x64.cc",
-      "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/simulator-x64.cc",
-      "src/x64/simulator-x64.h",
-      "src/x64/sse-instr.h",
     ]
-    if (is_linux) {
+
+    # 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_chromeos || is_mac || is_ios || target_os == "freebsd") {
       sources += [
-        "src/trap-handler/handler-inside-linux.cc",
-        "src/trap-handler/handler-outside-linux.cc",
+        "src/trap-handler/handler-inside-posix.cc",
+        "src/trap-handler/handler-inside-posix.h",
+        "src/trap-handler/handler-outside-posix.cc",
       ]
     }
     if (is_win) {
-      sources += [ "src/trap-handler/handler-outside-win.cc" ]
+      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",
+      ]
     }
   } 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/code-stubs-arm.cc",
-      "src/arm/code-stubs-arm.h",
-      "src/arm/codegen-arm.cc",
-      "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/simulator-arm.cc",
-      "src/arm/simulator-arm.h",
-      "src/compiler/arm/code-generator-arm.cc",
-      "src/compiler/arm/instruction-codes-arm.h",
-      "src/compiler/arm/instruction-scheduler-arm.cc",
-      "src/compiler/arm/instruction-selector-arm.cc",
-      "src/compiler/arm/unwinding-info-writer-arm.cc",
-      "src/compiler/arm/unwinding-info-writer-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",
+      "src/compiler/backend/arm/instruction-selector-arm.cc",
+      "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/diagnostics/arm/unwinder-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/code-stubs-arm64.cc",
-      "src/arm64/code-stubs-arm64.h",
-      "src/arm64/codegen-arm64.cc",
-      "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/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/compiler/arm64/code-generator-arm64.cc",
-      "src/compiler/arm64/instruction-codes-arm64.h",
-      "src/compiler/arm64/instruction-scheduler-arm64.cc",
-      "src/compiler/arm64/instruction-selector-arm64.cc",
-      "src/compiler/arm64/unwinding-info-writer-arm64.cc",
-      "src/compiler/arm64/unwinding-info-writer-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/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",
+      "src/compiler/backend/arm64/instruction-selector-arm64.cc",
+      "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/diagnostics/arm64/unwinder-arm64.cc",
+      "src/execution/arm64/frame-constants-arm64.cc",
+      "src/execution/arm64/frame-constants-arm64.h",
+      "src/execution/arm64/pointer-auth-arm64.cc",
+      "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",
     ]
-    if (use_jumbo_build) {
-      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",
+    if (v8_control_flow_integrity) {
+      sources += [ "src/execution/arm64/pointer-authentication-arm64.h" ]
+    }
+    if (is_win) {
+      sources += [
+        "src/diagnostics/unwinding-info-win64.cc",
+        "src/diagnostics/unwinding-info-win64.h",
       ]
     }
   } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") {
     sources += [  ### gcmole(arch:mipsel) ###
-      "src/compiler/mips/code-generator-mips.cc",
-      "src/compiler/mips/instruction-codes-mips.h",
-      "src/compiler/mips/instruction-scheduler-mips.cc",
-      "src/compiler/mips/instruction-selector-mips.cc",
+      "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/code-stubs-mips.cc",
-      "src/mips/code-stubs-mips.h",
-      "src/mips/codegen-mips.cc",
-      "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/simulator-mips.cc",
-      "src/mips/simulator-mips.h",
+      "src/deoptimizer/mips/deoptimizer-mips.cc",
+      "src/diagnostics/mips/disasm-mips.cc",
+      "src/diagnostics/mips/unwinder-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/compiler/mips64/code-generator-mips64.cc",
-      "src/compiler/mips64/instruction-codes-mips64.h",
-      "src/compiler/mips64/instruction-scheduler-mips64.cc",
-      "src/compiler/mips64/instruction-selector-mips64.cc",
+      "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/code-stubs-mips64.cc",
-      "src/mips64/code-stubs-mips64.h",
-      "src/mips64/codegen-mips64.cc",
-      "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/simulator-mips64.cc",
-      "src/mips64/simulator-mips64.h",
+      "src/deoptimizer/mips64/deoptimizer-mips64.cc",
+      "src/diagnostics/mips64/disasm-mips64.cc",
+      "src/diagnostics/mips64/unwinder-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") {
+  } else if (v8_current_cpu == "ppc") {
     sources += [  ### gcmole(arch:ppc) ###
-      "src/compiler/ppc/code-generator-ppc.cc",
-      "src/compiler/ppc/instruction-codes-ppc.h",
-      "src/compiler/ppc/instruction-scheduler-ppc.cc",
-      "src/compiler/ppc/instruction-selector-ppc.cc",
+      "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/compiler/backend/ppc/unwinding-info-writer-ppc.cc",
+      "src/compiler/backend/ppc/unwinding-info-writer-ppc.h",
       "src/debug/ppc/debug-ppc.cc",
-      "src/ppc/assembler-ppc-inl.h",
-      "src/ppc/assembler-ppc.cc",
-      "src/ppc/assembler-ppc.h",
-      "src/ppc/code-stubs-ppc.cc",
-      "src/ppc/code-stubs-ppc.h",
-      "src/ppc/codegen-ppc.cc",
-      "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/simulator-ppc.cc",
-      "src/ppc/simulator-ppc.h",
+      "src/deoptimizer/ppc/deoptimizer-ppc.cc",
+      "src/diagnostics/ppc/disasm-ppc.cc",
+      "src/diagnostics/ppc/eh-frame-ppc.cc",
+      "src/diagnostics/ppc/unwinder-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 == "ppc64") {
+    sources += [  ### gcmole(arch:ppc64) ###
+      "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/compiler/backend/ppc/unwinding-info-writer-ppc.cc",
+      "src/compiler/backend/ppc/unwinding-info-writer-ppc.h",
+      "src/debug/ppc/debug-ppc.cc",
+      "src/deoptimizer/ppc/deoptimizer-ppc.cc",
+      "src/diagnostics/ppc/disasm-ppc.cc",
+      "src/diagnostics/ppc/eh-frame-ppc.cc",
+      "src/diagnostics/ppc/unwinder-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/compiler/s390/code-generator-s390.cc",
-      "src/compiler/s390/instruction-codes-s390.h",
-      "src/compiler/s390/instruction-scheduler-s390.cc",
-      "src/compiler/s390/instruction-selector-s390.cc",
+      "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/compiler/backend/s390/unwinding-info-writer-s390.cc",
+      "src/compiler/backend/s390/unwinding-info-writer-s390.h",
       "src/debug/s390/debug-s390.cc",
+      "src/deoptimizer/s390/deoptimizer-s390.cc",
+      "src/diagnostics/s390/disasm-s390.cc",
+      "src/diagnostics/s390/eh-frame-s390.cc",
+      "src/diagnostics/s390/unwinder-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/code-stubs-s390.cc",
-      "src/s390/code-stubs-s390.h",
-      "src/s390/codegen-s390.cc",
-      "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/simulator-s390.cc",
-      "src/s390/simulator-s390.h",
       "src/wasm/baseline/s390/liftoff-assembler-s390.h",
     ]
   }
 
-  configs = [ ":internal_config" ]
+  configs = [
+    ":internal_config",
+    ":cppgc_base_config",
+  ]
 
   defines = []
   deps = [
-    ":torque_generated_core",
+    ":cppgc_base",
+    ":torque_generated_definitions",
+    ":v8_cppgc_shared",
     ":v8_headers",
     ":v8_libbase",
     ":v8_libsampler",
+    ":v8_shared_internal_headers",
+    ":v8_tracing",
+    ":v8_version",
     "src/inspector:inspector",
   ]
 
+  public_deps = [
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    ":v8_maybe_icu",
+  ]
+
   if (v8_enable_i18n_support) {
-    public_deps = [
-      "//third_party/icu",
-    ]
+    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/builtins/builtins-intl.h",
-      "src/char-predicates.cc",
-      "src/intl.cc",
-      "src/intl.h",
-      "src/objects/intl-objects-inl.h",
       "src/objects/intl-objects.cc",
       "src/objects/intl-objects.h",
+      "src/objects/js-break-iterator-inl.h",
+      "src/objects/js-break-iterator.cc",
+      "src/objects/js-break-iterator.h",
       "src/objects/js-collator-inl.h",
       "src/objects/js-collator.cc",
       "src/objects/js-collator.h",
+      "src/objects/js-date-time-format-inl.h",
+      "src/objects/js-date-time-format.cc",
+      "src/objects/js-date-time-format.h",
+      "src/objects/js-display-names-inl.h",
+      "src/objects/js-display-names.cc",
+      "src/objects/js-display-names.h",
       "src/objects/js-list-format-inl.h",
       "src/objects/js-list-format.cc",
       "src/objects/js-list-format.h",
       "src/objects/js-locale-inl.h",
       "src/objects/js-locale.cc",
       "src/objects/js-locale.h",
+      "src/objects/js-number-format-inl.h",
+      "src/objects/js-number-format.cc",
+      "src/objects/js-number-format.h",
       "src/objects/js-plural-rules-inl.h",
       "src/objects/js-plural-rules.cc",
       "src/objects/js-plural-rules.h",
       "src/objects/js-relative-time-format-inl.h",
       "src/objects/js-relative-time-format.cc",
       "src/objects/js-relative-time-format.h",
+      "src/objects/js-segment-iterator-inl.h",
+      "src/objects/js-segment-iterator.cc",
+      "src/objects/js-segment-iterator.h",
+      "src/objects/js-segmenter-inl.h",
+      "src/objects/js-segmenter.cc",
+      "src/objects/js-segmenter.h",
+      "src/objects/js-segments-inl.h",
+      "src/objects/js-segments.cc",
+      "src/objects/js-segments.h",
       "src/runtime/runtime-intl.cc",
+      "src/strings/char-predicates.cc",
     ]
   }
 
+  deps += [
+    "//third_party/zlib",
+    "//third_party/zlib/google:compression_utils_portable",
+  ]
+
   if (v8_postmortem_support) {
     sources += [ "$target_gen_dir/debug-support.cc" ]
     deps += [ ":postmortem-metadata" ]
   }
+
+  libs = []
+
+  if (v8_enable_third_party_heap) {
+    libs += v8_third_party_heap_libs
+  }
+
+  # Platforms that don't have CAS support need to link atomic library
+  # to implement atomic memory access
+  if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" ||
+      v8_current_cpu == "mips64" || v8_current_cpu == "mips64el" ||
+      v8_current_cpu == "ppc" || v8_current_cpu == "ppc64" ||
+      v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
+    libs += [ "atomic" ]
+  }
+
+  if (v8_enable_vtunetracemark && (is_linux || is_chromeos || is_win)) {
+    sources += [
+      "src/extensions/vtunedomain-support-extension.cc",
+      "src/extensions/vtunedomain-support-extension.h",
+    ]
+    deps += [ "src/third_party/vtune:v8_vtune_trace_mark" ]
+  }
+
+  if (v8_use_perfetto) {
+    sources -= [ "//base/trace_event/common/trace_event_common.h" ]
+    sources += [
+      "src/tracing/trace-categories.cc",
+      "src/tracing/trace-categories.h",
+    ]
+  }
+}
+
+group("v8_base") {
+  public_deps = [
+    ":v8_base_without_compiler",
+    ":v8_compiler",
+  ]
 }
 
 v8_source_set("torque_base") {
@@ -2921,7 +3934,15 @@
 
   sources = [
     "src/torque/ast.h",
+    "src/torque/cc-generator.cc",
+    "src/torque/cc-generator.h",
+    "src/torque/cfg.cc",
+    "src/torque/cfg.h",
+    "src/torque/class-debug-reader-generator.cc",
+    "src/torque/constants.h",
     "src/torque/contextual.h",
+    "src/torque/csa-generator.cc",
+    "src/torque/csa-generator.h",
     "src/torque/declarable.cc",
     "src/torque/declarable.h",
     "src/torque/declaration-visitor.cc",
@@ -2930,43 +3951,118 @@
     "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.cc",
     "src/torque/global-context.h",
     "src/torque/implementation-visitor.cc",
     "src/torque/implementation-visitor.h",
-    "src/torque/scope.cc",
-    "src/torque/scope.h",
+    "src/torque/instance-type-generator.cc",
+    "src/torque/instructions.cc",
+    "src/torque/instructions.h",
+    "src/torque/parameter-difference.h",
+    "src/torque/server-data.cc",
+    "src/torque/server-data.h",
     "src/torque/source-positions.cc",
     "src/torque/source-positions.h",
+    "src/torque/torque-code-generator.cc",
+    "src/torque/torque-code-generator.h",
+    "src/torque/torque-compiler.cc",
+    "src/torque/torque-compiler.h",
     "src/torque/torque-parser.cc",
     "src/torque/torque-parser.h",
+    "src/torque/type-inference.cc",
+    "src/torque/type-inference.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",
     "src/torque/utils.h",
   ]
 
-  deps = [
-    ":v8_libbase",
+  deps = [ ":v8_shared_internal_headers" ]
+
+  public_deps = [ ":v8_libbase" ]
+
+  # The use of exceptions for Torque in violation of the Chromium style-guide
+  # is justified by the fact that it is only used from the non-essential
+  # language server and can be removed anytime if it causes problems.
+  configs = [
+    ":internal_config",
+    "//build/config/compiler:exceptions",
+    "//build/config/compiler:rtti",
   ]
 
-  configs = [ ":internal_config" ]
+  remove_configs = [
+    "//build/config/compiler:no_exceptions",
+    "//build/config/compiler:no_rtti",
+  ]
+
+  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") {
+  sources = [
+    "src/torque/ls/globals.h",
+    "src/torque/ls/json-parser.cc",
+    "src/torque/ls/json-parser.h",
+    "src/torque/ls/json.cc",
+    "src/torque/ls/json.h",
+    "src/torque/ls/message-handler.cc",
+    "src/torque/ls/message-handler.h",
+    "src/torque/ls/message-macros.h",
+    "src/torque/ls/message-pipe.h",
+    "src/torque/ls/message.h",
+  ]
+
+  public_deps = [ ":torque_base" ]
+
+  # The use of exceptions for Torque in violation of the Chromium style-guide
+  # is justified by the fact that it is only used from the non-essential
+  # language server and can be removed anytime if it causes problems.
+  configs = [
+    ":internal_config",
+    "//build/config/compiler:exceptions",
+    "//build/config/compiler:rtti",
+  ]
+
+  remove_configs = [
+    "//build/config/compiler:no_exceptions",
+    "//build/config/compiler:no_rtti",
+  ]
+
+  if (is_win && is_asan) {
+    remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ]
+  }
 }
 
 v8_component("v8_libbase") {
   sources = [
-    "src/base/adapters.h",
+    "src/base/address-region.h",
     "src/base/atomic-utils.h",
     "src/base/atomicops.h",
     "src/base/atomicops_internals_atomicword_compat.h",
     "src/base/atomicops_internals_portable.h",
     "src/base/atomicops_internals_std.h",
     "src/base/base-export.h",
+    "src/base/bit-field.h",
+    "src/base/bits-iterator.h",
     "src/base/bits.cc",
     "src/base/bits.h",
+    "src/base/bounded-page-allocator.cc",
+    "src/base/bounded-page-allocator.h",
+    "src/base/bounds.h",
     "src/base/build_config.h",
     "src/base/compiler-specific.h",
     "src/base/cpu.cc",
@@ -2975,11 +4071,11 @@
     "src/base/debug/stack_trace.h",
     "src/base/division-by-constant.cc",
     "src/base/division-by-constant.h",
+    "src/base/enum-set.h",
     "src/base/export-template.h",
     "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",
@@ -2989,13 +4085,15 @@
     "src/base/ieee754.h",
     "src/base/iterator.h",
     "src/base/lazy-instance.h",
-    "src/base/list.h",
     "src/base/logging.cc",
     "src/base/logging.h",
+    "src/base/lsan.h",
     "src/base/macros.h",
+    "src/base/memory.h",
     "src/base/once.cc",
     "src/base/once.h",
     "src/base/optional.h",
+    "src/base/overflowing-math.h",
     "src/base/page-allocator.cc",
     "src/base/page-allocator.h",
     "src/base/platform/condition-variable.cc",
@@ -3008,24 +4106,32 @@
     "src/base/platform/semaphore.h",
     "src/base/platform/time.cc",
     "src/base/platform/time.h",
+    "src/base/platform/wrappers.h",
+    "src/base/platform/wrappers_std.cc",
+    "src/base/region-allocator.cc",
+    "src/base/region-allocator.h",
     "src/base/ring-buffer.h",
     "src/base/safe_conversions.h",
+    "src/base/safe_conversions_arm_impl.h",
     "src/base/safe_conversions_impl.h",
-    "src/base/safe_math.h",
-    "src/base/safe_math_impl.h",
+    "src/base/small-vector.h",
     "src/base/sys-info.cc",
     "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",
+    "src/base/vlq-base64.cc",
+    "src/base/vlq-base64.h",
   ]
 
   configs = [ ":internal_config_base" ]
 
   public_configs = [ ":libbase_config" ]
 
+  deps = [ ":v8_headers" ]
+
   public_deps = []
 
   data = []
@@ -3051,7 +4157,7 @@
     }
   }
 
-  if (is_linux) {
+  if (is_linux || is_chromeos) {
     sources += [
       "src/base/debug/stack_trace_posix.cc",
       "src/base/platform/platform-linux.cc",
@@ -3099,7 +4205,7 @@
       "src/base/debug/stack_trace_fuchsia.cc",
       "src/base/platform/platform-fuchsia.cc",
     ]
-  } else if (is_mac) {
+  } else if (is_mac || is_ios) {
     sources += [
       "src/base/debug/stack_trace_posix.cc",
       "src/base/platform/platform-macos.cc",
@@ -3116,7 +4222,6 @@
 
     libs = [
       "dbghelp.lib",
-      "shlwapi.lib",
       "winmm.lib",
       "ws2_32.lib",
     ]
@@ -3124,6 +4229,20 @@
     data_deps += [ "//build/win:runtime_libs" ]
   }
 
+  if (v8_current_cpu == "mips" || v8_current_cpu == "mips64") {
+    # Add runtime libs for mips.
+    data += [
+      "tools/mips_toolchain/sysroot/usr/lib/",
+      "tools/mips_toolchain/mips-mti-linux-gnu/lib",
+    ]
+  }
+
+  if (is_ubsan && (v8_current_cpu == "x86" || v8_current_cpu == "arm" ||
+                   v8_current_cpu == "mips")) {
+    # Special UBSan 32-bit requirement.
+    sources += [ "src/base/ubsan.cc" ]
+  }
+
   if (is_tsan && !build_with_chromium) {
     data += [ "tools/sanitizers/tsan_suppressions.txt" ]
   }
@@ -3139,10 +4258,14 @@
     "include/libplatform/v8-tracing.h",
     "src/libplatform/default-foreground-task-runner.cc",
     "src/libplatform/default-foreground-task-runner.h",
+    "src/libplatform/default-job.cc",
+    "src/libplatform/default-job.h",
     "src/libplatform/default-platform.cc",
     "src/libplatform/default-platform.h",
     "src/libplatform/default-worker-threads-task-runner.cc",
     "src/libplatform/default-worker-threads-task-runner.h",
+    "src/libplatform/delayed-task-queue.cc",
+    "src/libplatform/delayed-task-queue.h",
     "src/libplatform/task-queue.cc",
     "src/libplatform/task-queue.h",
     "src/libplatform/tracing/trace-buffer.cc",
@@ -3165,8 +4288,29 @@
   public_configs = [ ":libplatform_config" ]
 
   deps = [
+    ":v8_headers",
     ":v8_libbase",
+    ":v8_tracing",
   ]
+
+  if (v8_use_perfetto) {
+    sources -= [
+      "//base/trace_event/common/trace_event_common.h",
+      "src/libplatform/tracing/trace-buffer.cc",
+      "src/libplatform/tracing/trace-buffer.h",
+      "src/libplatform/tracing/trace-object.cc",
+      "src/libplatform/tracing/trace-writer.cc",
+      "src/libplatform/tracing/trace-writer.h",
+    ]
+    sources += [
+      "src/libplatform/tracing/trace-event-listener.cc",
+      "src/libplatform/tracing/trace-event-listener.h",
+    ]
+    deps += [
+      # TODO(skyostil): Switch TraceEventListener to protozero.
+      "//third_party/perfetto/protos/perfetto/trace:lite",
+    ]
+  }
 }
 
 v8_source_set("v8_libsampler") {
@@ -3175,13 +4319,11 @@
     "src/libsampler/sampler.h",
   ]
 
-  configs = [ ":internal_config_base" ]
+  configs = [ ":internal_config" ]
 
   public_configs = [ ":libsampler_config" ]
 
-  deps = [
-    ":v8_libbase",
-  ]
+  deps = [ ":v8_libbase" ]
 }
 
 v8_source_set("fuzzer_support") {
@@ -3194,18 +4336,180 @@
 
   configs = [ ":internal_config_base" ]
 
-  deps = [
+  public_deps = [
     ":v8",
+    ":v8_libbase",
+    ":v8_libplatform",
+    ":v8_maybe_icu",
+  ]
+}
+
+v8_source_set("v8_cppgc_shared") {
+  sources = [
+    "src/heap/base/stack.cc",
+    "src/heap/base/stack.h",
+    "src/heap/base/worklist.cc",
+    "src/heap/base/worklist.h",
+  ]
+
+  if (is_clang || !is_win) {
+    if (current_cpu == "x64") {
+      sources += [ "src/heap/base/asm/x64/push_registers_asm.cc" ]
+    } else if (current_cpu == "x86") {
+      sources += [ "src/heap/base/asm/ia32/push_registers_asm.cc" ]
+    } else if (current_cpu == "arm") {
+      sources += [ "src/heap/base/asm/arm/push_registers_asm.cc" ]
+    } else if (current_cpu == "arm64") {
+      sources += [ "src/heap/base/asm/arm64/push_registers_asm.cc" ]
+    } else if (current_cpu == "ppc64") {
+      sources += [ "src/heap/base/asm/ppc/push_registers_asm.cc" ]
+    } else if (current_cpu == "s390x") {
+      sources += [ "src/heap/base/asm/s390/push_registers_asm.cc" ]
+    } else if (current_cpu == "mipsel") {
+      sources += [ "src/heap/base/asm/mips/push_registers_asm.cc" ]
+    } else if (current_cpu == "mips64el") {
+      sources += [ "src/heap/base/asm/mips64/push_registers_asm.cc" ]
+    }
+  } else if (is_win) {
+    if (current_cpu == "x64") {
+      sources += [ "src/heap/base/asm/x64/push_registers_masm.S" ]
+    } else if (current_cpu == "x86") {
+      sources += [ "src/heap/base/asm/ia32/push_registers_masm.S" ]
+    } else if (current_cpu == "arm64") {
+      sources += [ "src/heap/base/asm/arm64/push_registers_masm.S" ]
+    }
+  }
+
+  configs = [ ":internal_config" ]
+
+  public_deps = [ ":v8_libbase" ]
+}
+
+v8_source_set("cppgc_base") {
+  visibility = [ ":*" ]
+
+  sources = [
+    "include/cppgc/allocation.h",
+    "include/cppgc/common.h",
+    "include/cppgc/custom-space.h",
+    "include/cppgc/default-platform.h",
+    "include/cppgc/ephemeron-pair.h",
+    "include/cppgc/garbage-collected.h",
+    "include/cppgc/heap.h",
+    "include/cppgc/internal/api-constants.h",
+    "include/cppgc/internal/atomic-entry-flag.h",
+    "include/cppgc/internal/compiler-specific.h",
+    "include/cppgc/internal/finalizer-trait.h",
+    "include/cppgc/internal/gc-info.h",
+    "include/cppgc/internal/name-trait.h",
+    "include/cppgc/internal/persistent-node.h",
+    "include/cppgc/internal/pointer-policies.h",
+    "include/cppgc/internal/prefinalizer-handler.h",
+    "include/cppgc/internal/process-heap.h",
+    "include/cppgc/internal/write-barrier.h",
+    "include/cppgc/liveness-broker.h",
+    "include/cppgc/macros.h",
+    "include/cppgc/member.h",
+    "include/cppgc/name-provider.h",
+    "include/cppgc/persistent.h",
+    "include/cppgc/platform.h",
+    "include/cppgc/prefinalizer.h",
+    "include/cppgc/source-location.h",
+    "include/cppgc/trace-trait.h",
+    "include/cppgc/type-traits.h",
+    "include/cppgc/visitor.h",
+    "include/v8config.h",
+    "src/heap/cppgc/allocation.cc",
+    "src/heap/cppgc/compaction-worklists.cc",
+    "src/heap/cppgc/compaction-worklists.h",
+    "src/heap/cppgc/compactor.cc",
+    "src/heap/cppgc/compactor.h",
+    "src/heap/cppgc/concurrent-marker.cc",
+    "src/heap/cppgc/concurrent-marker.h",
+    "src/heap/cppgc/free-list.cc",
+    "src/heap/cppgc/free-list.h",
+    "src/heap/cppgc/garbage-collector.h",
+    "src/heap/cppgc/gc-info-table.cc",
+    "src/heap/cppgc/gc-info-table.h",
+    "src/heap/cppgc/gc-info.cc",
+    "src/heap/cppgc/gc-invoker.cc",
+    "src/heap/cppgc/gc-invoker.h",
+    "src/heap/cppgc/heap-base.cc",
+    "src/heap/cppgc/heap-base.h",
+    "src/heap/cppgc/heap-growing.cc",
+    "src/heap/cppgc/heap-growing.h",
+    "src/heap/cppgc/heap-object-header.cc",
+    "src/heap/cppgc/heap-object-header.h",
+    "src/heap/cppgc/heap-page.cc",
+    "src/heap/cppgc/heap-page.h",
+    "src/heap/cppgc/heap-space.cc",
+    "src/heap/cppgc/heap-space.h",
+    "src/heap/cppgc/heap-visitor.h",
+    "src/heap/cppgc/heap.cc",
+    "src/heap/cppgc/heap.h",
+    "src/heap/cppgc/incremental-marking-schedule.cc",
+    "src/heap/cppgc/incremental-marking-schedule.h",
+    "src/heap/cppgc/liveness-broker.cc",
+    "src/heap/cppgc/liveness-broker.h",
+    "src/heap/cppgc/logging.cc",
+    "src/heap/cppgc/marker.cc",
+    "src/heap/cppgc/marker.h",
+    "src/heap/cppgc/marking-state.cc",
+    "src/heap/cppgc/marking-state.h",
+    "src/heap/cppgc/marking-verifier.cc",
+    "src/heap/cppgc/marking-verifier.h",
+    "src/heap/cppgc/marking-visitor.cc",
+    "src/heap/cppgc/marking-visitor.h",
+    "src/heap/cppgc/marking-worklists.cc",
+    "src/heap/cppgc/marking-worklists.h",
+    "src/heap/cppgc/name-trait.cc",
+    "src/heap/cppgc/object-allocator.cc",
+    "src/heap/cppgc/object-allocator.h",
+    "src/heap/cppgc/object-start-bitmap.h",
+    "src/heap/cppgc/page-memory.cc",
+    "src/heap/cppgc/page-memory.h",
+    "src/heap/cppgc/persistent-node.cc",
+    "src/heap/cppgc/platform.cc",
+    "src/heap/cppgc/pointer-policies.cc",
+    "src/heap/cppgc/prefinalizer-handler.cc",
+    "src/heap/cppgc/prefinalizer-handler.h",
+    "src/heap/cppgc/process-heap.cc",
+    "src/heap/cppgc/process-heap.h",
+    "src/heap/cppgc/raw-heap.cc",
+    "src/heap/cppgc/raw-heap.h",
+    "src/heap/cppgc/sanitizers.h",
+    "src/heap/cppgc/source-location.cc",
+    "src/heap/cppgc/stats-collector.cc",
+    "src/heap/cppgc/stats-collector.h",
+    "src/heap/cppgc/sweeper.cc",
+    "src/heap/cppgc/sweeper.h",
+    "src/heap/cppgc/task-handle.h",
+    "src/heap/cppgc/trace-trait.cc",
+    "src/heap/cppgc/virtual-memory.cc",
+    "src/heap/cppgc/virtual-memory.h",
+    "src/heap/cppgc/visitor.cc",
+    "src/heap/cppgc/write-barrier.cc",
+  ]
+
+  if (cppgc_enable_caged_heap) {
+    sources += [
+      "include/cppgc/internal/caged-heap-local-data.h",
+      "src/heap/cppgc/caged-heap-local-data.cc",
+      "src/heap/cppgc/caged-heap.cc",
+      "src/heap/cppgc/caged-heap.h",
+    ]
+  }
+
+  configs = [
+    ":internal_config",
+    ":cppgc_base_config",
   ]
 
   public_deps = [
+    ":v8_cppgc_shared",
     ":v8_libbase",
     ":v8_libplatform",
   ]
-
-  if (v8_enable_i18n_support) {
-    public_deps += [ "//third_party/icu" ]
-  }
 }
 
 ###############################################################################
@@ -3231,26 +4535,92 @@
   }
 }
 
+v8_static_library("wee8") {
+  deps = [
+    ":v8_base",
+    ":v8_libbase",
+    ":v8_libplatform",
+    ":v8_libsampler",
+    ":v8_snapshot",
+    "//build/win:default_exe_manifest",
+  ]
+
+  # TODO: v8dll-main.cc equivalent for shared library builds
+
+  configs = [ ":internal_config" ]
+
+  sources = [
+    ### gcmole(all) ###
+    "src/wasm/c-api.cc",
+    "src/wasm/c-api.h",
+    "third_party/wasm-api/wasm.h",
+    "third_party/wasm-api/wasm.hh",
+  ]
+}
+
 ###############################################################################
 # Executables
 #
 
-if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
-  v8_executable("mksnapshot") {
+if (current_toolchain == v8_generator_toolchain) {
+  v8_executable("bytecode_builtins_list_generator") {
     visibility = [ ":*" ]  # Only targets in this file can depend on this.
 
+    include_dirs = [ "." ]
+
     sources = [
-      "src/snapshot/mksnapshot.cc",
+      "src/builtins/generate-bytecodes-builtins-list.cc",
+      "src/interpreter/bytecode-operands.cc",
+      "src/interpreter/bytecode-operands.h",
+      "src/interpreter/bytecodes.cc",
+      "src/interpreter/bytecodes.h",
     ]
 
     configs = [ ":internal_config" ]
 
     deps = [
-      ":v8_base",
+      ":v8_libbase",
+      "//build/win:default_exe_manifest",
+    ]
+  }
+}
+
+if (current_toolchain == v8_snapshot_toolchain) {
+  v8_executable("mksnapshot") {
+    visibility = [ ":*" ]  # Only targets in this file can depend on this.
+
+    sources = [
+      "src/snapshot/embedded/embedded-empty.cc",
+      "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",
+      "src/snapshot/snapshot-empty.cc",
+    ]
+
+    if (v8_control_flow_integrity) {
+      sources += [ "src/deoptimizer/deoptimizer-cfi-empty.cc" ]
+    }
+
+    configs = [ ":internal_config" ]
+
+    deps = [
+      ":v8_base_without_compiler",
+      ":v8_compiler_for_mksnapshot",
       ":v8_init",
       ":v8_libbase",
       ":v8_libplatform",
-      ":v8_nosnapshot",
+      ":v8_maybe_icu",
+      ":v8_tracing",
       "//build/win:default_exe_manifest",
     ]
   }
@@ -3260,16 +4630,99 @@
   v8_executable("torque") {
     visibility = [ ":*" ]  # Only targets in this file can depend on this.
 
-    sources = [
-      "src/torque/torque.cc",
-    ]
+    sources = [ "src/torque/torque.cc" ]
 
     deps = [
       ":torque_base",
       "//build/win:default_exe_manifest",
     ]
 
-    configs = [ ":internal_config" ]
+    # The use of exceptions for Torque in violation of the Chromium style-guide
+    # is justified by the fact that it is only used from the non-essential
+    # language server and can be removed anytime if it causes problems.
+    configs = [
+      ":internal_config",
+      "//build/config/compiler:exceptions",
+      "//build/config/compiler:rtti",
+    ]
+
+    remove_configs = [
+      "//build/config/compiler:no_exceptions",
+      "//build/config/compiler:no_rtti",
+    ]
+
+    if (is_win && is_asan) {
+      remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ]
+    }
+  }
+}
+
+v8_executable("torque-language-server") {
+  visibility = [ ":*" ]  # Only targets in this file can depend on this.
+
+  sources = [ "src/torque/ls/torque-language-server.cc" ]
+
+  deps = [
+    ":torque_base",
+    ":torque_ls_base",
+    "//build/win:default_exe_manifest",
+  ]
+
+  # The use of exceptions for Torque in violation of the Chromium style-guide
+  # is justified by the fact that it is only used from the non-essential
+  # language server and can be removed anytime if it causes problems.
+  configs = [
+    ":internal_config",
+    "//build/config/compiler:exceptions",
+    "//build/config/compiler:rtti",
+  ]
+
+  remove_configs = [
+    "//build/config/compiler:no_exceptions",
+    "//build/config/compiler:no_rtti",
+  ]
+
+  if (is_win && is_asan) {
+    remove_configs += [ "//build/config/sanitizers:default_sanitizer_flags" ]
+  }
+}
+
+if (v8_enable_i18n_support) {
+  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"
+
+    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),
+    ]
   }
 }
 
@@ -3305,12 +4758,14 @@
   }
 }
 
+group("v8_python_base") {
+  data = [ ".vpython" ]
+}
+
 group("v8_clusterfuzz") {
   testonly = true
 
-  deps = [
-    ":d8",
-  ]
+  deps = [ ":d8" ]
 
   if (v8_multi_arch_build) {
     deps += [
@@ -3318,6 +4773,7 @@
       ":d8(//build/toolchain/linux:clang_x64_v8_arm64)",
       ":d8(//build/toolchain/linux:clang_x86)",
       ":d8(//build/toolchain/linux:clang_x86_v8_arm)",
+      ":d8(tools/clusterfuzz/toolchain:clang_x64_pointer_compression)",
     ]
   }
 }
@@ -3325,15 +4781,36 @@
 group("v8_archive") {
   testonly = true
 
-  deps = [
-    ":d8",
-    "test/cctest:cctest",
-  ]
+  deps = [ ":d8" ]
+
+  if (!is_win) {
+    # On windows, cctest doesn't link with v8_static_library.
+    deps += [ "test/cctest:cctest" ]
+  }
+}
+
+# TODO(dglazkov): Remove the "!build_with_chromium" condition once this clause
+# is removed from Chromium.
+if (is_fuchsia && !build_with_chromium) {
+  import("//build/config/fuchsia/rules.gni")
+
+  cr_fuchsia_package("d8_fuchsia_pkg") {
+    testonly = true
+    binary = ":d8"
+    package_name_override = "d8"
+  }
+
+  fuchsia_package_runner("d8_fuchsia") {
+    testonly = true
+    package = ":d8_fuchsia_pkg"
+    package_name_override = "d8"
+  }
 }
 
 group("v8_fuzzers") {
   testonly = true
   data_deps = [
+    ":v8_simple_inspector_fuzzer",
     ":v8_simple_json_fuzzer",
     ":v8_simple_multi_return_fuzzer",
     ":v8_simple_parser_fuzzer",
@@ -3342,26 +4819,17 @@
     ":v8_simple_wasm_async_fuzzer",
     ":v8_simple_wasm_code_fuzzer",
     ":v8_simple_wasm_compile_fuzzer",
-    ":v8_simple_wasm_data_section_fuzzer",
-    ":v8_simple_wasm_function_sigs_section_fuzzer",
     ":v8_simple_wasm_fuzzer",
-    ":v8_simple_wasm_globals_section_fuzzer",
-    ":v8_simple_wasm_imports_section_fuzzer",
-    ":v8_simple_wasm_memory_section_fuzzer",
-    ":v8_simple_wasm_names_section_fuzzer",
-    ":v8_simple_wasm_types_section_fuzzer",
   ]
 }
 
 if (is_component_build) {
   v8_component("v8") {
-    sources = [
-      "src/v8dll-main.cc",
-    ]
+    sources = [ "src/utils/v8dll-main.cc" ]
 
     public_deps = [
       ":v8_base",
-      ":v8_maybe_snapshot",
+      ":v8_snapshot",
     ]
 
     configs = [ ":internal_config" ]
@@ -3372,29 +4840,52 @@
   v8_component("v8_for_testing") {
     testonly = true
 
-    sources = [
-      "src/v8dll-main.cc",
-    ]
+    sources = [ "src/utils/v8dll-main.cc" ]
 
     public_deps = [
       ":torque_base",
+      ":torque_ls_base",
       ":v8_base",
-      ":v8_maybe_snapshot",
+      ":v8_headers",
+      ":v8_initializers",
+      ":v8_snapshot",
     ]
 
-    if (v8_use_snapshot) {
-      public_deps += [ ":v8_initializers" ]
-    }
-
     configs = [ ":internal_config" ]
 
     public_configs = [ ":external_config" ]
   }
+
+  v8_component("cppgc") {
+    public_deps = [ ":cppgc_base" ]
+
+    configs = [ ":internal_config" ]
+
+    public_configs = [ ":external_config" ]
+  }
+
+  v8_component("cppgc_for_testing") {
+    testonly = true
+
+    public_deps = [ ":cppgc_base" ]
+
+    configs = [ ":internal_config" ]
+    public_configs = [ ":external_config" ]
+  }
+
+  v8_component("v8_cppgc_shared_for_testing") {
+    testonly = true
+
+    public_deps = [ ":v8_cppgc_shared" ]
+
+    configs = [ ":internal_config" ]
+    public_configs = [ ":external_config" ]
+  }
 } else {
   group("v8") {
     public_deps = [
       ":v8_base",
-      ":v8_maybe_snapshot",
+      ":v8_snapshot",
     ]
 
     public_configs = [ ":external_config" ]
@@ -3405,13 +4896,33 @@
 
     public_deps = [
       ":torque_base",
+      ":torque_ls_base",
       ":v8_base",
-      ":v8_maybe_snapshot",
+      ":v8_initializers",
+      ":v8_snapshot",
     ]
 
-    if (v8_use_snapshot) {
-      public_deps += [ ":v8_initializers" ]
-    }
+    public_configs = [ ":external_config" ]
+  }
+
+  group("cppgc") {
+    public_deps = [ ":cppgc_base" ]
+
+    public_configs = [ ":external_config" ]
+  }
+
+  group("cppgc_for_testing") {
+    testonly = true
+
+    public_deps = [ ":cppgc_base" ]
+
+    public_configs = [ ":external_config" ]
+  }
+
+  group("v8_cppgc_shared_for_testing") {
+    testonly = true
+
+    public_deps = [ ":v8_cppgc_shared" ]
 
     public_configs = [ ":external_config" ]
   }
@@ -3419,34 +4930,44 @@
 
 v8_executable("d8") {
   sources = [
-    "$target_gen_dir/d8-js.cc",
-    "src/async-hooks-wrapper.cc",
-    "src/async-hooks-wrapper.h",
-    "src/d8-console.cc",
-    "src/d8-console.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",
   ]
 
+  if (v8_fuzzilli) {
+    sources += [
+      "src/d8/cov.cc",
+      "src/d8/cov.h",
+    ]
+  }
+
   configs = [
     # Note: don't use :internal_config here because this target will get
     # the :external_config applied to it by virtue of depending on :v8, and
     # you can't have both applied to the same target.
     ":internal_config_base",
+    ":v8_tracing_config",
   ]
 
   deps = [
-    ":d8_js2c",
     ":v8",
     ":v8_libbase",
     ":v8_libplatform",
+    ":v8_tracing",
     "//build/win:default_exe_manifest",
   ]
 
   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) {
@@ -3461,9 +4982,7 @@
 }
 
 v8_executable("v8_hello_world") {
-  sources = [
-    "samples/hello-world.cc",
-  ]
+  sources = [ "samples/hello-world.cc" ]
 
   configs = [
     # Note: don't use :internal_config here because this target will get
@@ -3481,9 +5000,7 @@
 }
 
 v8_executable("v8_sample_process") {
-  sources = [
-    "samples/process.cc",
-  ]
+  sources = [ "samples/process.cc" ]
 
   configs = [
     # Note: don't use :internal_config here because this target will get
@@ -3502,9 +5019,7 @@
 
 if (want_v8_shell) {
   v8_executable("v8_shell") {
-    sources = [
-      "samples/shell.cc",
-    ]
+    sources = [ "samples/shell.cc" ]
 
     configs = [
       # Note: don't use :internal_config here because this target will get
@@ -3522,6 +5037,36 @@
   }
 }
 
+v8_executable("cppgc_for_v8_embedders") {
+  sources = [ "samples/cppgc/cppgc-for-v8-embedders.cc" ]
+
+  configs = [
+    # Note: don't use :internal_config here because this target will get
+    # the :external_config applied to it by virtue of depending on :cppgc, and
+    # you can't have both applied to the same target.
+    ":internal_config_base",
+  ]
+
+  deps = [
+    ":cppgc",
+    ":v8_libplatform",
+    "//build/win:default_exe_manifest",
+  ]
+}
+
+v8_executable("cppgc_standalone") {
+  sources = [ "samples/cppgc/cppgc-standalone.cc" ]
+
+  configs = [
+    # Note: don't use :internal_config here because this target will get
+    # the :external_config applied to it by virtue of depending on :cppgc, and
+    # you can't have both applied to the same target.
+    ":internal_config_base",
+  ]
+
+  deps = [ ":cppgc" ]
+}
+
 template("v8_fuzzer") {
   name = target_name
   forward_variables_from(invoker, "*")
@@ -3531,22 +5076,16 @@
       "//build/win:default_exe_manifest",
     ]
 
-    sources = [
-      "test/fuzzer/fuzzer.cc",
-    ]
+    sources = [ "test/fuzzer/fuzzer.cc" ]
 
     configs = [ ":external_config" ]
   }
 }
 
 v8_source_set("json_fuzzer") {
-  sources = [
-    "test/fuzzer/json.cc",
-  ]
+  sources = [ "test/fuzzer/json.cc" ]
 
-  deps = [
-    ":fuzzer_support",
-  ]
+  deps = [ ":fuzzer_support" ]
 
   configs = [
     ":external_config",
@@ -3558,13 +5097,9 @@
 }
 
 v8_source_set("multi_return_fuzzer") {
-  sources = [
-    "test/fuzzer/multi-return.cc",
-  ]
+  sources = [ "test/fuzzer/multi-return.cc" ]
 
-  deps = [
-    ":fuzzer_support",
-  ]
+  deps = [ ":fuzzer_support" ]
 
   configs = [
     ":external_config",
@@ -3576,13 +5111,9 @@
 }
 
 v8_source_set("parser_fuzzer") {
-  sources = [
-    "test/fuzzer/parser.cc",
-  ]
+  sources = [ "test/fuzzer/parser.cc" ]
 
-  deps = [
-    ":fuzzer_support",
-  ]
+  deps = [ ":fuzzer_support" ]
 
   configs = [
     ":external_config",
@@ -3599,9 +5130,7 @@
     "test/fuzzer/regexp_builtins/mjsunit.js.h",
   ]
 
-  deps = [
-    ":fuzzer_support",
-  ]
+  deps = [ ":fuzzer_support" ]
 
   configs = [
     ":external_config",
@@ -3613,13 +5142,9 @@
 }
 
 v8_source_set("regexp_fuzzer") {
-  sources = [
-    "test/fuzzer/regexp.cc",
-  ]
+  sources = [ "test/fuzzer/regexp.cc" ]
 
-  deps = [
-    ":fuzzer_support",
-  ]
+  deps = [ ":fuzzer_support" ]
 
   configs = [
     ":external_config",
@@ -3630,21 +5155,21 @@
 v8_fuzzer("regexp_fuzzer") {
 }
 
-v8_source_set("wasm_module_runner") {
+v8_source_set("wasm_test_common") {
   sources = [
+    "test/common/wasm/wasm-interpreter.cc",
+    "test/common/wasm/wasm-interpreter.h",
     "test/common/wasm/wasm-module-runner.cc",
     "test/common/wasm/wasm-module-runner.h",
   ]
 
   deps = [
-    ":torque_generated_core",
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    ":v8_tracing",
   ]
 
-  if (v8_enable_i18n_support) {
-    public_deps = [
-      "//third_party/icu",
-    ]
-  }
+  public_deps = [ ":v8_maybe_icu" ]
 
   configs = [
     ":external_config",
@@ -3653,14 +5178,12 @@
 }
 
 v8_source_set("wasm_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm.cc",
-  ]
+  sources = [ "test/fuzzer/wasm.cc" ]
 
   deps = [
     ":fuzzer_support",
     ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
+    ":wasm_test_common",
   ]
 
   configs = [
@@ -3673,14 +5196,12 @@
 }
 
 v8_source_set("wasm_async_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-async.cc",
-  ]
+  sources = [ "test/fuzzer/wasm-async.cc" ]
 
   deps = [
     ":fuzzer_support",
     ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
+    ":wasm_test_common",
   ]
 
   configs = [
@@ -3701,7 +5222,7 @@
   deps = [
     ":fuzzer_support",
     ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
+    ":wasm_test_common",
   ]
 
   configs = [
@@ -3720,14 +5241,12 @@
   ]
 
   deps = [
-    ":torque_generated_core",
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    ":v8_tracing",
   ]
 
-  if (v8_enable_i18n_support) {
-    public_deps = [
-      "//third_party/icu",
-    ]
-  }
+  public_deps = [ ":v8_maybe_icu" ]
 
   configs = [
     ":external_config",
@@ -3735,146 +5254,6 @@
   ]
 }
 
-v8_source_set("wasm_types_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-types-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_types_section_fuzzer") {
-}
-
-v8_source_set("wasm_names_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-names-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_names_section_fuzzer") {
-}
-
-v8_source_set("wasm_globals_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-globals-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_globals_section_fuzzer") {
-}
-
-v8_source_set("wasm_imports_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-imports-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_imports_section_fuzzer") {
-}
-
-v8_source_set("wasm_function_sigs_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-function-sigs-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_function_sigs_section_fuzzer") {
-}
-
-v8_source_set("wasm_memory_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-memory-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_memory_section_fuzzer") {
-}
-
-v8_source_set("wasm_data_section_fuzzer") {
-  sources = [
-    "test/fuzzer/wasm-data-section.cc",
-  ]
-
-  deps = [
-    ":fuzzer_support",
-    ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
-  ]
-
-  configs = [
-    ":external_config",
-    ":internal_config_base",
-  ]
-}
-
-v8_fuzzer("wasm_data_section_fuzzer") {
-}
-
 v8_source_set("wasm_compile_fuzzer") {
   sources = [
     "test/common/wasm/test-signatures.h",
@@ -3884,7 +5263,7 @@
   deps = [
     ":fuzzer_support",
     ":lib_wasm_fuzzer_common",
-    ":wasm_module_runner",
+    ":wasm_test_common",
   ]
 
   configs = [
@@ -3895,3 +5274,249 @@
 
 v8_fuzzer("wasm_compile_fuzzer") {
 }
+
+v8_source_set("inspector_fuzzer") {
+  sources = [ "test/fuzzer/inspector-fuzzer.cc" ]
+
+  deps = [
+    ":fuzzer_support",
+    "test/inspector:inspector_test",
+  ]
+
+  configs = [
+    ":external_config",
+    ":internal_config_base",
+  ]
+}
+
+v8_fuzzer("inspector_fuzzer") {
+}
+
+# Target to build all generated .cc files.
+group("v8_generated_cc_files") {
+  testonly = true
+
+  deps = [
+    ":generate_bytecode_builtins_list",
+    ":run_torque",
+    "src/inspector:v8_generated_cc_files",
+  ]
+}
+
+# Protobuf targets, used only when building outside of chromium.
+
+if (!build_with_chromium && v8_use_perfetto) {
+  # This config is applied to the autogenerated .pb.{cc,h} files in
+  # proto_library.gni. This config is propagated up to the source sets
+  # that depend on generated proto headers.
+  config("protobuf_gen_config") {
+    defines = [
+      "GOOGLE_PROTOBUF_NO_RTTI",
+      "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
+    ]
+    cflags = [
+      "-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.
+  config("protobuf_config") {
+    # Apply the lighter supressions and macro definitions from above.
+    configs = [ ":protobuf_gen_config" ]
+
+    if (!is_win) {
+      defines = [ "HAVE_PTHREAD=1" ]
+    }
+    if (is_clang) {
+      cflags = [
+        "-Wno-unused-private-field",
+        "-Wno-unused-function",
+        "-Wno-inconsistent-missing-override",
+        "-Wno-unknown-warning-option",
+        "-Wno-enum-compare-switch",
+        "-Wno-user-defined-warnings",
+        "-Wno-tautological-constant-compare",
+      ]
+    }
+    if (is_win && is_clang) {
+      cflags += [ "-Wno-microsoft-unqualified-friend" ]
+    }
+  }
+
+  source_set("protobuf_lite") {
+    sources = [
+      "third_party/protobuf/src/google/protobuf/any_lite.cc",
+      "third_party/protobuf/src/google/protobuf/arena.cc",
+      "third_party/protobuf/src/google/protobuf/extension_set.cc",
+      "third_party/protobuf/src/google/protobuf/generated_message_table_driven_lite.cc",
+      "third_party/protobuf/src/google/protobuf/generated_message_util.cc",
+      "third_party/protobuf/src/google/protobuf/implicit_weak_message.cc",
+      "third_party/protobuf/src/google/protobuf/io/coded_stream.cc",
+      "third_party/protobuf/src/google/protobuf/io/strtod.cc",
+      "third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc",
+      "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
+      "third_party/protobuf/src/google/protobuf/message_lite.cc",
+      "third_party/protobuf/src/google/protobuf/repeated_field.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/bytestream.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/common.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/int128.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/io_win32.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/status.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/statusor.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/stringpiece.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/stringprintf.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/structurally_valid.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/strutil.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/time.cc",
+      "third_party/protobuf/src/google/protobuf/wire_format_lite.cc",
+    ]
+    configs -= [ "//build/config/compiler:chromium_code" ]
+    configs += [
+      "//build/config/compiler:no_chromium_code",
+      ":protobuf_config",
+    ]
+    if (is_win) {
+      configs -= [ "//build/config/win:lean_and_mean" ]
+    }
+    public_configs = [ ":protobuf_gen_config" ]
+  }
+
+  # This target should be used only by the protoc compiler and by test targets.
+  source_set("protobuf_full") {
+    deps = [ ":protobuf_lite" ]
+    sources = [
+      "third_party/protobuf/src/google/protobuf/any.cc",
+      "third_party/protobuf/src/google/protobuf/any.pb.cc",
+      "third_party/protobuf/src/google/protobuf/api.pb.cc",
+      "third_party/protobuf/src/google/protobuf/compiler/importer.cc",
+      "third_party/protobuf/src/google/protobuf/compiler/parser.cc",
+      "third_party/protobuf/src/google/protobuf/descriptor.cc",
+      "third_party/protobuf/src/google/protobuf/descriptor.pb.cc",
+      "third_party/protobuf/src/google/protobuf/descriptor_database.cc",
+      "third_party/protobuf/src/google/protobuf/duration.pb.cc",
+      "third_party/protobuf/src/google/protobuf/dynamic_message.cc",
+      "third_party/protobuf/src/google/protobuf/empty.pb.cc",
+      "third_party/protobuf/src/google/protobuf/extension_set_heavy.cc",
+      "third_party/protobuf/src/google/protobuf/field_mask.pb.cc",
+      "third_party/protobuf/src/google/protobuf/generated_message_reflection.cc",
+      "third_party/protobuf/src/google/protobuf/generated_message_table_driven.cc",
+      "third_party/protobuf/src/google/protobuf/io/gzip_stream.cc",
+      "third_party/protobuf/src/google/protobuf/io/printer.cc",
+      "third_party/protobuf/src/google/protobuf/io/tokenizer.cc",
+      "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc",
+      "third_party/protobuf/src/google/protobuf/map_field.cc",
+      "third_party/protobuf/src/google/protobuf/message.cc",
+      "third_party/protobuf/src/google/protobuf/reflection_ops.cc",
+      "third_party/protobuf/src/google/protobuf/service.cc",
+      "third_party/protobuf/src/google/protobuf/source_context.pb.cc",
+      "third_party/protobuf/src/google/protobuf/struct.pb.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/mathlimits.cc",
+      "third_party/protobuf/src/google/protobuf/stubs/substitute.cc",
+      "third_party/protobuf/src/google/protobuf/text_format.cc",
+      "third_party/protobuf/src/google/protobuf/timestamp.pb.cc",
+      "third_party/protobuf/src/google/protobuf/type.pb.cc",
+      "third_party/protobuf/src/google/protobuf/unknown_field_set.cc",
+      "third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc",
+      "third_party/protobuf/src/google/protobuf/util/field_comparator.cc",
+      "third_party/protobuf/src/google/protobuf/util/field_mask_util.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/datapiece.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/default_value_objectwriter.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/error_listener.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/field_mask_utility.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/json_escaping.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/json_objectwriter.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/json_stream_parser.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/object_writer.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/proto_writer.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/protostream_objectsource.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/type_info.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/type_info_test_helper.cc",
+      "third_party/protobuf/src/google/protobuf/util/internal/utility.cc",
+      "third_party/protobuf/src/google/protobuf/util/json_util.cc",
+      "third_party/protobuf/src/google/protobuf/util/message_differencer.cc",
+      "third_party/protobuf/src/google/protobuf/util/time_util.cc",
+      "third_party/protobuf/src/google/protobuf/util/type_resolver_util.cc",
+      "third_party/protobuf/src/google/protobuf/wire_format.cc",
+      "third_party/protobuf/src/google/protobuf/wrappers.pb.cc",
+    ]
+    configs -= [ "//build/config/compiler:chromium_code" ]
+    configs += [
+      "//build/config/compiler:no_chromium_code",
+      ":protobuf_config",
+    ]
+    if (is_win) {
+      configs -= [ "//build/config/win:lean_and_mean" ]
+    }
+    public_configs = [ ":protobuf_gen_config" ]
+  }
+
+  if (current_toolchain == host_toolchain) {
+    source_set("protoc_lib") {
+      deps = [ ":protobuf_full" ]
+      sources = [
+        "third_party/protobuf/src/google/protobuf/compiler/code_generator.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/command_line_interface.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_map_field.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc",
+        "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/plugin.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/subprocess.cc",
+        "third_party/protobuf/src/google/protobuf/compiler/zip_writer.cc",
+      ]
+      configs -= [ "//build/config/compiler:chromium_code" ]
+      configs += [
+        "//build/config/compiler:no_chromium_code",
+        ":protobuf_config",
+      ]
+      if (is_win) {
+        configs -= [ "//build/config/win:lean_and_mean" ]
+      }
+      public_configs = [ ":protobuf_gen_config" ]
+    }
+
+    executable("protoc") {
+      deps = [
+        ":protoc_lib",
+        "//build/win:default_exe_manifest",
+      ]
+      sources = [ "src/protobuf/protobuf-compiler-main.cc" ]
+      configs -= [ "//build/config/compiler:chromium_code" ]
+      configs += [ "//build/config/compiler:no_chromium_code" ]
+    }
+  }  # host_toolchain
+
+  v8_component("v8_libperfetto") {
+    configs = [ ":v8_tracing_config" ]
+    public_configs = [ "//third_party/perfetto/gn:public_config" ]
+    deps = [
+      "//third_party/perfetto/src/trace_processor:export_json",
+      "//third_party/perfetto/src/trace_processor:storage_minimal",
+      "//third_party/perfetto/src/tracing:client_api",
+      "//third_party/perfetto/src/tracing/core",
+
+      # TODO(skyostil): Support non-POSIX platforms.
+      "//third_party/perfetto/protos/perfetto/config:cpp",
+      "//third_party/perfetto/protos/perfetto/trace/track_event:zero",
+      "//third_party/perfetto/src/tracing:in_process_backend",
+      "//third_party/perfetto/src/tracing:platform_posix",
+    ]
+  }
+}  # if (!build_with_chromium && v8_use_perfetto)
diff --git a/COMMON_OWNERS b/COMMON_OWNERS
new file mode 100644
index 0000000..74026ea
--- /dev/null
+++ b/COMMON_OWNERS
@@ -0,0 +1,44 @@
+adamk@chromium.org
+ahaas@chromium.org
+bbudge@chromium.org
+binji@chromium.org
+bikineev@chromium.org
+bmeurer@chromium.org
+cbruni@chromium.org
+clemensb@chromium.org
+danno@chromium.org
+delphick@chromium.org
+dinfuehr@chromium.org
+ecmziegler@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
+mvstanton@chromium.org
+mythria@chromium.org
+neis@chromium.org
+omerkatz@chromium.org
+petermarshall@chromium.org
+rmcilroy@chromium.org
+sigurds@chromium.org
+solanes@chromium.org
+syg@chromium.org
+szuend@chromium.org
+tebbi@chromium.org
+thibaudm@chromium.org
+ulan@chromium.org
+vahl@chromium.org
+verwaest@chromium.org
+victorgomes@chromium.org
+yangguo@chromium.org
+zhin@chromium.org
diff --git a/DEPS b/DEPS
index 42e7a40..3e3fed3 100644
--- a/DEPS
+++ b/DEPS
@@ -2,96 +2,318 @@
 # directory and assume that the root of the checkout is in ./v8/, so
 # all paths in here must match this assumption.
 
+use_relative_paths = True
+
+gclient_gn_args_file = 'build/config/gclient_args.gni'
+gclient_gn_args = [
+  # TODO(https://crbug.com/1137662, https://crbug.com/1080854)
+  # Remove when migration is complete.
+  'checkout_fuchsia_for_arm64_host',
+  'checkout_google_benchmark',
+  'mac_xcode_version',
+]
+
 vars = {
+  # Fetches only the SDK boot images which match at least one of the whitelist
+  # entries in a comma-separated list.
+  #
+  # Only the X64 and ARM64 QEMU images are downloaded by default. Developers
+  # that need to boot on other target architectures or devices can opt to
+  # download more boot images. Example of images include:
+  #
+  # Emulation:
+  #   qemu.x64, qemu.arm64
+  # Hardware:
+  #   generic.x64, generic.arm64
+  #
+  # Wildcards are supported (e.g. "qemu.*").
+  'checkout_fuchsia_boot_images': "qemu.x64,qemu.arm64",
+
+  # TODO(https://crbug.com/1137662, https://crbug.com/1080854)
+  # Remove when migration is complete.
+  # By default, do not check out files required to run fuchsia tests in
+  # qemu on linux-arm64 machines.
+  'checkout_fuchsia_for_arm64_host': False,
+
   'checkout_instrumented_libraries': False,
+  'checkout_ittapi': False,
+  # Fetch clang-tidy into the same bin/ directory as our clang binary.
+  'checkout_clang_tidy': False,
   'chromium_url': 'https://chromium.googlesource.com',
+  'android_url': 'https://android.googlesource.com',
   'download_gcmole': False,
   'download_jsfunfuzz': False,
-  'download_mips_toolchain': False,
   'check_v8_header_includes': False,
+
+  'checkout_google_benchmark' : False,
+
+  'mac_xcode_version': 'default',
+
+  # GN CIPD package version.
+  'gn_version': 'git_revision:53d92014bf94c3893886470a1c7c1289f8818db0',
+
+  # luci-go CIPD package version.
+  'luci_go': 'git_revision:1a022d3a4c50be4207ee93451255d71896416596',
+
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_build-tools_version
+  # and whatever else without interference from each other.
+  'android_sdk_build-tools_version': '8LZujEmLjSh0g3JciDA3cslSptxKs9HOa_iUPXkOeYQC',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_emulator_version
+  # and whatever else without interference from each other.
+  'android_sdk_emulator_version': 'A4EvXZUIuQho0QRDJopMUpgyp6NA3aiDQjGKPUKbowMC',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_extras_version
+  # and whatever else without interference from each other.
+  'android_sdk_extras_version': 'ppQ4TnqDvBHQ3lXx5KPq97egzF5X2FFyOrVHkGmiTMQC',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_patcher_version
+  # and whatever else without interference from each other.
+  'android_sdk_patcher_version': 'I6FNMhrXlpB-E1lOhMlvld7xt9lBVNOO83KIluXDyA0C',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_platform-tools_version
+  # and whatever else without interference from each other.
+  'android_sdk_platform-tools_version': '8tF0AOj7Dwlv4j7_nfkhxWB0jzrvWWYjEIpirt8FIWYC',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_platforms_version
+  # and whatever else without interference from each other.
+  'android_sdk_platforms_version': 'YMUu9EHNZ__2Xcxl-KsaSf-dI5TMt_P62IseUVsxktMC',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_sources_version
+  # and whatever else without interference from each other.
+  'android_sdk_sources_version': '4gxhM8E62bvZpQs7Q3d0DinQaW0RLCIefhXrQBFkNy8C',
+  # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling android_sdk_tools-lint_version
+  # and whatever else without interference from each other.
+  'android_sdk_cmdline-tools_version': 'V__2Ycej-H2-6AcXX5A3gi7sIk74SuN44PBm2uC_N1sC',
 }
 
 deps = {
-  'v8/build':
-    Var('chromium_url') + '/chromium/src/build.git' + '@' + 'dd6b994b32b498e9e766ce60c44da0aec3a2a188',
-  'v8/tools/gyp':
-    Var('chromium_url') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
-  'v8/third_party/depot_tools':
-    Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + 'aaf2cc09c6874e394c6c1e4692360cc400d6b388',
-  'v8/third_party/icu':
-    Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'a191af9d025859e8368b8b469120d78006e9f5f6',
-  'v8/third_party/instrumented_libraries':
-    Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'd8cf40c4592dcec7fb01fcbdf1f6d4958b3fbf11',
-  'v8/buildtools':
-    Var('chromium_url') + '/chromium/buildtools.git' + '@' + '2dff9c9c74e9d732e6fe57c84ef7fd044cc45d96',
-  'v8/base/trace_event/common':
-    Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '211b3ed9d0481b4caddbee1322321b86a483ca1f',
-  'v8/third_party/android_ndk': {
-    'url': Var('chromium_url') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884',
+  'build':
+    Var('chromium_url') + '/chromium/src/build.git' + '@' + '2101eff1ac4bfd25f2dfa71ad632a600a38c1ed9',
+  'third_party/depot_tools':
+    Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '982b2a757087c2519e42b82b93cbfe5adf43cdd5',
+  'third_party/icu':
+    Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'c2a4cae149aae7fd30c4cbe3cf1b30df03b386f1',
+  'third_party/instrumented_libraries':
+    Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '6ba978ccb754d270b6cd12da58c8269b617e4f6e',
+  'buildtools':
+    Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '6302c1175607a436e18947a5abe9df2209e845fc',
+  'buildtools/clang_format/script':
+    Var('chromium_url') + '/chromium/llvm-project/cfe/tools/clang-format.git' + '@' + '96636aa0e9f047f17447f2d45a094d0b59ed7917',
+  'buildtools/linux64': {
+    'packages': [
+      {
+        'package': 'gn/gn/linux-amd64',
+        'version': Var('gn_version'),
+      }
+    ],
+    'dep_type': 'cipd',
+    'condition': 'host_os == "linux"',
+  },
+  'buildtools/mac': {
+    'packages': [
+      {
+        'package': 'gn/gn/mac-amd64',
+        'version': Var('gn_version'),
+      }
+    ],
+    'dep_type': 'cipd',
+    'condition': 'host_os == "mac"',
+  },
+  'buildtools/third_party/libc++/trunk':
+    Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + 'd9040c75cfea5928c804ab7c235fed06a63f743a',
+  'buildtools/third_party/libc++abi/trunk':
+    Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + '196ba1aaa8ac285d94f4ea8d9836390a45360533',
+  'buildtools/third_party/libunwind/trunk':
+    Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + 'd999d54f4bca789543a2eb6c995af2d9b5a1f3ed',
+  'buildtools/win': {
+    'packages': [
+      {
+        'package': 'gn/gn/windows-amd64',
+        'version': Var('gn_version'),
+      }
+    ],
+    'dep_type': 'cipd',
+    'condition': 'host_os == "win"',
+  },
+  'base/trace_event/common':
+    Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + 'eb94f1c7aa96207f469008f29989a43feb2718f8',
+  'third_party/android_ndk': {
+    'url': Var('chromium_url') + '/android_ndk.git' + '@' + '27c0a8d090c666a50e40fceb4ee5b40b1a2d3f87',
     'condition': 'checkout_android',
   },
-  'v8/third_party/android_tools': {
-    'url': Var('chromium_url') + '/android_tools.git' + '@' + '130499e25286f4d56acafa252fee09f3cc595c49',
+  'third_party/android_platform': {
+    'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + 'ef64306e7772dea22df5f98102e6288da3510843',
     'condition': 'checkout_android',
   },
-  'v8/third_party/catapult': {
-    'url': Var('chromium_url') + '/catapult.git' + '@' + 'bc2c0a9307285fa36e03e7cdb6bf8623390ff855',
+  'third_party/android_sdk/public': {
+      'packages': [
+          {
+              'package': 'chromium/third_party/android_sdk/public/build-tools/30.0.1',
+              'version': Var('android_sdk_build-tools_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/emulator',
+              'version': Var('android_sdk_emulator_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/extras',
+              'version': Var('android_sdk_extras_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/patcher',
+              'version': Var('android_sdk_patcher_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/platform-tools',
+              'version': Var('android_sdk_platform-tools_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/platforms/android-30',
+              'version': Var('android_sdk_platforms_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/sources/android-29',
+              'version': Var('android_sdk_sources_version'),
+          },
+          {
+              'package': 'chromium/third_party/android_sdk/public/cmdline-tools',
+              'version': Var('android_sdk_cmdline-tools_version'),
+          },
+      ],
+      'condition': 'checkout_android',
+      'dep_type': 'cipd',
+  },
+  'third_party/catapult': {
+    'url': Var('chromium_url') + '/catapult.git' + '@' + '434681c2378b686117c2b003a58c54d78f22185f',
     'condition': 'checkout_android',
   },
-  'v8/third_party/colorama/src': {
+  'third_party/colorama/src': {
     'url': Var('chromium_url') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
     'condition': 'checkout_android',
   },
-  'v8/third_party/fuchsia-sdk': {
-    'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + '3ec92c896bcbddc46e2a073ebfdd25aa1194656e',
+  'third_party/fuchsia-sdk': {
+    'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + 'f8df9ff79b878d1998970cc04a197061069e48ce',
     'condition': 'checkout_fuchsia',
   },
-  'v8/third_party/googletest/src':
-    Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'd5266326752f0a1dadbd310932d8f4fd8c3c5e7d',
-  '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/third_party/proguard':
-    Var('chromium_url') + '/chromium/src/third_party/proguard.git' + '@' + 'a3729bea473bb5ffc5eaf289f5733bc5e2861c07',
-  'v8/tools/swarming_client':
-    Var('chromium_url') + '/infra/luci/client-py.git' + '@' + '486c9b53c4d54dd4b95bb6ce0e31160e600dfc11',
-  'v8/test/benchmarks/data':
+  'third_party/googletest/src':
+    Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '4fe018038f87675c083d0cfb6a6b57c274fb1753',
+  'third_party/google_benchmark/src': {
+    'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + '7f27afe83b82f3a98baf58ef595814b9d42a5b2b',
+    'condition': 'checkout_google_benchmark',
+  },
+  'third_party/jinja2':
+    Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + 'a82a4944a7f2496639f34a89c9923be5908b80aa',
+  'third_party/markupsafe':
+    Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '0944e71f4b2cb9a871bcbe353f95e889b64a611a',
+  'tools/swarming_client':
+    Var('chromium_url') + '/infra/luci/client-py.git' + '@' + 'd46ea7635f2911208268170512cb611412488fd8',
+  'test/benchmarks/data':
     Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f',
-  'v8/test/mozilla/data':
+  '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' + '@' + 'a6c1d05ac4fed084fa047e4c52ab2a8c9c2a8aef',
-  'v8/test/test262/harness':
-    Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '0f2acdd882c84cff43b9d60df7574a1901e2cdcd',
-  'v8/third_party/qemu': {
+  'test/test262/data':
+    Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '0e7319c015fe935594f8bcafaedb0c94f7fec1df',
+  'test/test262/harness':
+    Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '4555345a943d0c99a9461182705543fb171dda4b',
+  'third_party/qemu-linux-x64': {
       'packages': [
           {
               'package': 'fuchsia/qemu/linux-amd64',
               'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994'
           },
       ],
-      'condition': 'checkout_fuchsia',
+      'condition': 'host_os == "linux" and checkout_fuchsia',
       'dep_type': 'cipd',
   },
-  'v8/tools/clang':
-    Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'bb4146fb8a9dde405b71914657bb461dc93912ab',
-  'v8/tools/luci-go':
-    Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + '445d7c4b6a4f10e188edb395b132e3996b127691',
-  'v8/test/wasm-js':
-    Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '240ea673de6e75d78ae472f66127301ecab22a99',
+  'third_party/qemu-mac-x64': {
+      'packages': [
+          {
+              'package': 'fuchsia/qemu/mac-amd64',
+              'version': '2d3358ae9a569b2d4a474f498b32b202a152134f'
+          },
+      ],
+      'condition': 'host_os == "mac" and checkout_fuchsia',
+      'dep_type': 'cipd',
+  },
+  'third_party/aemu-linux-x64': {
+      'packages': [
+          {
+              'package': 'fuchsia/third_party/aemu/linux-amd64',
+              'version': 'xP4TXh9wWGTG0qr4y6eFcUO_0HOBmt3vorgtVmpwBJsC'
+          },
+      ],
+      'condition': 'host_os == "linux" and checkout_fuchsia',
+      'dep_type': 'cipd',
+  },
+  'third_party/aemu-mac-x64': {
+      'packages': [
+          {
+              'package': 'fuchsia/third_party/aemu/mac-amd64',
+              'version': 'T9bWxf8aUC5TwCFgPxpuW29Mfy-7Z9xCfXB9QO8MfU0C'
+          },
+      ],
+      'condition': 'host_os == "mac" and checkout_fuchsia',
+      'dep_type': 'cipd',
+  },
+  'tools/clang':
+    Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'a37c0858a645506c8e9d3bebab1ed5a5b1f9df61',
+  'tools/luci-go': {
+      'packages': [
+        {
+          'package': 'infra/tools/luci/isolate/${{platform}}',
+          'version': Var('luci_go'),
+        },
+        {
+          'package': 'infra/tools/luci/isolated/${{platform}}',
+          'version': Var('luci_go'),
+        },
+        {
+          'package': 'infra/tools/luci/swarming/${{platform}}',
+          'version': Var('luci_go'),
+        },
+      ],
+      'condition': 'host_cpu != "s390" and host_os != "aix"',
+      'dep_type': 'cipd',
+  },
+  'tools/clang/dsymutil': {
+    'packages': [
+      {
+        'package': 'chromium/llvm-build-tools/dsymutil',
+        'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
+      }
+    ],
+    'condition': 'checkout_mac',
+    'dep_type': 'cipd',
+  },
+  'third_party/perfetto':
+    Var('android_url') + '/platform/external/perfetto.git' + '@' + '7cdc44f903d3bcfd1d0f67188bfa797a24756868',
+  'third_party/protobuf':
+    Var('chromium_url') + '/external/github.com/google/protobuf'+ '@' + 'b68a347f56137b4b1a746e8c7438495a6ac1bd91',
+  'third_party/zlib':
+    Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + 'e84c9a3fd75fdc39055b7ae27d6ec508e50bd39e',
+  'third_party/jsoncpp/source':
+    Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '9059f5cad030ba11d37818847443a53918c327b1',
+  'third_party/ittapi': {
+    # Force checkout ittapi libraries to pass v8 header includes check on
+    # bots that has check_v8_header_includes enabled.
+    'url': Var('chromium_url') + '/external/github.com/intel/ittapi' + '@' + 'b4ae0122ba749163096058b4f1bb065bf4a7de94',
+    'condition': "checkout_ittapi or check_v8_header_includes",
+  },
+  'third_party/requests': {
+      'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'bfb93d4b7d269a8735f1b216093e7e9a9fdc4517',
+      'condition': 'checkout_android',
+  },
 }
 
-recursedeps = [
-  'v8/buildtools',
-  'v8/third_party/android_tools',
-]
-
 include_rules = [
   # Everybody can use some things.
   '+include',
   '+unicode',
   '+third_party/fdlibm',
+  '+third_party/ittapi/include'
 ]
 
 # checkdeps.py shouldn't check for includes in these directories:
@@ -108,7 +330,7 @@
     'pattern': '.',
     'action': [
         'python',
-        'v8/third_party/depot_tools/update_depot_tools_toggle.py',
+        'third_party/depot_tools/update_depot_tools_toggle.py',
         '--disable',
     ],
   },
@@ -120,9 +342,9 @@
     'pattern': '.',
     'action': [
         'python',
-        'v8/build/landmines.py',
+        'build/landmines.py',
         '--landmine-scripts',
-        'v8/tools/get_landmines.py',
+        'tools/get_landmines.py',
     ],
   },
   # Pull clang-format binaries using checked-in hashes.
@@ -135,7 +357,7 @@
                 '--platform=win32',
                 '--no_auth',
                 '--bucket', 'chromium-clang-format',
-                '-s', 'v8/buildtools/win/clang-format.exe.sha1',
+                '-s', 'buildtools/win/clang-format.exe.sha1',
     ],
   },
   {
@@ -147,7 +369,7 @@
                 '--platform=darwin',
                 '--no_auth',
                 '--bucket', 'chromium-clang-format',
-                '-s', 'v8/buildtools/mac/clang-format.sha1',
+                '-s', 'buildtools/mac/clang-format.sha1',
     ],
   },
   {
@@ -159,7 +381,7 @@
                 '--platform=linux*',
                 '--no_auth',
                 '--bucket', 'chromium-clang-format',
-                '-s', 'v8/buildtools/linux64/clang-format.sha1',
+                '-s', 'buildtools/linux64/clang-format.sha1',
     ],
   },
   {
@@ -169,7 +391,7 @@
     'action': [ 'download_from_google_storage',
                 '--bucket', 'chrome-v8-gcmole',
                 '-u', '--no_resume',
-                '-s', 'v8/tools/gcmole/gcmole-tools.tar.gz.sha1',
+                '-s', 'tools/gcmole/gcmole-tools.tar.gz.sha1',
                 '--platform=linux*',
     ],
   },
@@ -180,84 +402,10 @@
     'action': [ 'download_from_google_storage',
                 '--bucket', 'chrome-v8-jsfunfuzz',
                 '-u', '--no_resume',
-                '-s', 'v8/tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1',
+                '-s', 'tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1',
                 '--platform=linux*',
     ],
   },
-  # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
-  {
-    'name': 'luci-go_win',
-    'pattern': '.',
-    'condition': 'host_os == "win"',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=win32',
-                '--no_auth',
-                '--bucket', 'chromium-luci',
-                '-d', 'v8/tools/luci-go/win64',
-    ],
-  },
-  {
-    'name': 'luci-go_mac',
-    'pattern': '.',
-    'condition': 'host_os == "mac"',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=darwin',
-                '--no_auth',
-                '--bucket', 'chromium-luci',
-                '-d', 'v8/tools/luci-go/mac64',
-    ],
-  },
-  {
-    'name': 'luci-go_linux',
-    'pattern': '.',
-    'condition': 'host_os == "linux"',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=linux*',
-                '--no_auth',
-                '--bucket', 'chromium-luci',
-                '-d', 'v8/tools/luci-go/linux64',
-    ],
-  },
-  # Pull GN using checked-in hashes.
-  {
-    'name': 'gn_win',
-    'pattern': '.',
-    'condition': 'host_os == "win"',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=win32',
-                '--no_auth',
-                '--bucket', 'chromium-gn',
-                '-s', 'v8/buildtools/win/gn.exe.sha1',
-    ],
-  },
-  {
-    'name': 'gn_mac',
-    'pattern': '.',
-    'condition': 'host_os == "mac"',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=darwin',
-                '--no_auth',
-                '--bucket', 'chromium-gn',
-                '-s', 'v8/buildtools/mac/gn.sha1',
-    ],
-  },
-  {
-    'name': 'gn_linux',
-    'pattern': '.',
-    'condition': 'host_os == "linux"',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=linux*',
-                '--no_auth',
-                '--bucket', 'chromium-gn',
-                '-s', 'v8/buildtools/linux64/gn.sha1',
-    ],
-  },
   {
     'name': 'wasm_spec_tests',
     'pattern': '.',
@@ -266,53 +414,46 @@
                 '--no_auth',
                 '-u',
                 '--bucket', 'v8-wasm-spec-tests',
-                '-s', 'v8/test/wasm-spec-tests/tests.tar.gz.sha1',
+                '-s', 'test/wasm-spec-tests/tests.tar.gz.sha1',
     ],
   },
   {
-    'name': 'closure_compiler',
+    'name': 'wasm_js',
     'pattern': '.',
     'action': [ 'download_from_google_storage',
                 '--no_resume',
                 '--no_auth',
                 '-u',
-                '--bucket', 'chromium-v8-closure-compiler',
-                '-s', 'v8/src/inspector/build/closure-compiler.tar.gz.sha1',
+                '--bucket', 'v8-wasm-spec-tests',
+                '-s', 'test/wasm-js/tests.tar.gz.sha1',
     ],
   },
   {
     'name': 'sysroot_arm',
     'pattern': '.',
     'condition': '(checkout_linux and checkout_arm)',
-    'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
                '--arch=arm'],
   },
   {
     'name': 'sysroot_arm64',
     'pattern': '.',
     'condition': '(checkout_linux and checkout_arm64)',
-    'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
                '--arch=arm64'],
   },
   {
     'name': 'sysroot_x86',
     'pattern': '.',
     'condition': '(checkout_linux and (checkout_x86 or checkout_x64))',
-    'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
                '--arch=x86'],
   },
   {
-    'name': 'sysroot_mips',
-    'pattern': '.',
-    'condition': '(checkout_linux and checkout_mips)',
-    'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
-               '--arch=mips'],
-  },
-  {
     'name': 'sysroot_x64',
     'pattern': '.',
     'condition': 'checkout_linux and checkout_x64',
-    'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
+    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
                '--arch=x64'],
   },
   {
@@ -323,7 +464,7 @@
                 '--no_resume',
                 '--no_auth',
                 '--bucket', 'chromium-instrumented-libraries',
-                '-s', 'v8/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1',
+                '-s', 'third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1',
               ],
   },
   {
@@ -334,7 +475,7 @@
                 '--no_resume',
                 '--no_auth',
                 '--bucket', 'chromium-instrumented-libraries',
-                '-s', 'v8/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1',
+                '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1',
               ],
   },
   {
@@ -342,25 +483,26 @@
     'name': 'win_toolchain',
     'pattern': '.',
     'condition': 'checkout_win',
-    'action': ['python', 'v8/build/vs_toolchain.py', 'update'],
+    'action': ['python', 'build/vs_toolchain.py', 'update'],
   },
   {
     # Update the Mac toolchain if necessary.
     'name': 'mac_toolchain',
     'pattern': '.',
     'condition': 'checkout_mac',
-    'action': ['python', 'v8/build/mac_toolchain.py'],
+    'action': ['python', 'build/mac_toolchain.py',
+               '--xcode-version', Var('mac_xcode_version')],
   },
   # Pull binutils for linux, enabled debug fission for faster linking /
   # debugging when used with clang on Ubuntu Precise.
   # https://code.google.com/p/chromium/issues/detail?id=352046
   {
     'name': 'binutils',
-    'pattern': 'v8/third_party/binutils',
+    'pattern': 'third_party/binutils',
     'condition': 'host_os == "linux"',
     'action': [
         'python',
-        'v8/third_party/binutils/download.py',
+        'third_party/binutils/download.py',
     ],
   },
   {
@@ -369,44 +511,67 @@
     'pattern': '.',
     # clang not supported on aix
     'condition': 'host_os != "aix"',
-    'action': ['python', 'v8/tools/clang/scripts/update.py'],
+    'action': ['python', 'tools/clang/scripts/update.py'],
+  },
+  {
+    'name': 'clang_tidy',
+    'pattern': '.',
+    'condition': 'checkout_clang_tidy',
+    'action': ['python', 'tools/clang/scripts/update.py',
+               '--package=clang-tidy'],
   },
   {
     # Update LASTCHANGE.
     'name': 'lastchange',
     'pattern': '.',
-    'action': ['python', 'v8/build/util/lastchange.py',
-               '-o', 'v8/build/util/LASTCHANGE'],
+    'action': ['python', 'build/util/lastchange.py',
+               '-o', 'build/util/LASTCHANGE'],
   },
   {
-    'name': 'fuchsia_sdk',
+    'name': 'Download Fuchsia SDK',
     'pattern': '.',
     'condition': 'checkout_fuchsia',
     'action': [
       'python',
-      'v8/build/fuchsia/update_sdk.py',
+      'build/fuchsia/update_sdk.py',
     ],
   },
   {
-    'name': 'mips_toolchain',
+    'name': 'Download Fuchsia system images',
     'pattern': '.',
-    'condition': 'download_mips_toolchain',
-    'action': [ 'download_from_google_storage',
-                '--no_resume',
-                '--platform=linux',
-                '--no_auth',
-                '-u',
-                '--bucket', 'chromium-v8',
-                '-s', 'v8/tools/mips_toolchain.tar.gz.sha1',
+    'condition': 'checkout_fuchsia',
+    'action': [
+      'python',
+      'build/fuchsia/update_images.py',
+      '--boot-images={checkout_fuchsia_boot_images}',
     ],
   },
+  {
+    # Mac doesn't use lld so it's not included in the default clang bundle
+    # there. However, lld is need in Fuchsia cross builds, so
+    # download it there.
+    # Should run after the clang hook.
+    'name': 'lld/mac',
+    'pattern': '.',
+    'condition': 'host_os == "mac" and checkout_fuchsia',
+    'action': ['python', 'tools/clang/scripts/update.py',
+               '--package=lld_mac'],
+  },
+  {
+      # Mac does not have llvm-objdump, download it for cross builds in Fuchsia.
+    'name': 'llvm-objdump',
+    'pattern': '.',
+    'condition': 'host_os == "mac" and checkout_fuchsia',
+    'action': ['python', 'tools/clang/scripts/update.py',
+               '--package=objdump'],
+  },
   # Download and initialize "vpython" VirtualEnv environment packages.
   {
     'name': 'vpython_common',
     'pattern': '.',
     'condition': 'checkout_android',
     'action': [ 'vpython',
-                '-vpython-spec', 'v8/.vpython',
+                '-vpython-spec', '.vpython',
                 '-vpython-tool', 'install',
     ],
   },
@@ -416,7 +581,7 @@
     'condition': 'check_v8_header_includes',
     'action': [
       'python',
-      'v8/tools/generate-header-include-checks.py',
+      'tools/generate-header-include-checks.py',
     ],
   },
 ]
diff --git a/DIR_METADATA b/DIR_METADATA
new file mode 100644
index 0000000..72c04a4
--- /dev/null
+++ b/DIR_METADATA
@@ -0,0 +1,12 @@
+# Metadata information for this directory.
+#
+# For more information on DIR_METADATA files, see:
+#   https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/README.md
+#
+# For the schema of this file, see Metadata message:
+#   https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/proto/dir_metadata.proto
+
+monorail {
+  component: "Blink>JavaScript"
+}
+team_email: "v8-dev@googlegroups.com"
\ No newline at end of file
diff --git a/ENG_REVIEW_OWNERS b/ENG_REVIEW_OWNERS
new file mode 100644
index 0000000..6b18930
--- /dev/null
+++ b/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/INFRA_OWNERS b/INFRA_OWNERS
new file mode 100644
index 0000000..b5b36aa
--- /dev/null
+++ b/INFRA_OWNERS
@@ -0,0 +1,4 @@
+machenbach@chromium.org
+tmrts@chromium.org
+almuthanna@chromium.org
+liviurau@chromium.org
diff --git a/INTL_OWNERS b/INTL_OWNERS
new file mode 100644
index 0000000..6e9f2ce
--- /dev/null
+++ b/INTL_OWNERS
@@ -0,0 +1,4 @@
+cira@chromium.org
+mnita@google.com
+jshin@chromium.org
+ftang@chromium.org
diff --git a/LICENSE b/LICENSE
index a1e403f..53d9c47 100644
--- a/LICENSE
+++ b/LICENSE
@@ -20,11 +20,13 @@
     This code is copyrighted by Sun Microsystems Inc. and released
     under a 3-clause BSD license.
 
-  - Valgrind client API header, located at third_party/valgrind/valgrind.h
-    This is release under the BSD license.
+  - Valgrind client API header, located at src/third_party/valgrind/valgrind.h
+    This is released under the BSD license.
 
-  - antlr4 parser generator Cpp library located in third_party/antlr4
-    This is release under the BSD license.
+  - The Wasm C/C++ API headers, located at third_party/wasm-api/wasm.{h,hh}
+    This is released under the Apache license. The API's upstream prototype
+    implementation also formed the basis of V8's implementation in
+    src/wasm/c-api.cc.
 
 These libraries have their own licenses; we recommend you read them,
 as their terms may differ from the terms below.
diff --git a/MIPS_OWNERS b/MIPS_OWNERS
new file mode 100644
index 0000000..cab3679
--- /dev/null
+++ b/MIPS_OWNERS
@@ -0,0 +1 @@
+xwafish@gmail.com
diff --git a/OWNERS b/OWNERS
index d32f721..3698d14 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,44 +1,29 @@
-adamk@chromium.org
-ahaas@chromium.org
-aseemgarg@chromium.org
-bbudge@chromium.org
-binji@chromium.org
-bmeurer@chromium.org
-bradnelson@chromium.org
-cbruni@chromium.org
-clemensh@chromium.org
-danno@chromium.org
-delphick@chromium.org
-eholk@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
-kschimpf@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
-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
 
-# TEAM: v8-dev@googlegroups.com
-# COMPONENT: Blink>JavaScript
+per-file .clang-format=file:INFRA_OWNERS
+per-file .clang-tidy=file:INFRA_OWNERS
+per-file .editorconfig=file:INFRA_OWNERS
+per-file .flake8=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:COMMON_OWNERS
+per-file DEPS=file:INFRA_OWNERS
+# For Test262 rolls.
+per-file DEPS=mathias@chromium.org
+per-file DEPS=syg@chromium.org
+per-file PRESUBMIT.py=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
diff --git a/PPC_OWNERS b/PPC_OWNERS
new file mode 100644
index 0000000..02c2cd7
--- /dev/null
+++ b/PPC_OWNERS
@@ -0,0 +1,5 @@
+junyan@redhat.com
+joransiu@ca.ibm.com
+midawson@redhat.com
+mfarazma@redhat.com
+vasili.skurydzin@ibm.com
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index ce456dd..113ed2f 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -32,6 +32,7 @@
 """
 
 import json
+import os
 import re
 import sys
 
@@ -43,6 +44,9 @@
     r"^tools[\\\/].*",
 )
 
+_LICENSE_FILE = (
+    r"LICENSE"
+)
 
 # Regular expression that matches code which should not be run through cpplint.
 _NO_LINT_PATHS = (
@@ -58,6 +62,8 @@
     r'src[\\\/]compiler[\\\/]ast-graph-builder\.cc',
     # Test extension.
     r'src[\\\/]extensions[\\\/]gc-extension\.cc',
+    # Runtime functions used for testing.
+    r'src[\\\/]runtime[\\\/]runtime-test\.cc',
 )
 
 
@@ -74,19 +80,39 @@
   sys.path.append(input_api.os_path.join(
         input_api.PresubmitLocalPath(), 'tools'))
   from v8_presubmit import CppLintProcessor
+  from v8_presubmit import JSLintProcessor
+  from v8_presubmit import TorqueLintProcessor
   from v8_presubmit import SourceProcessor
   from v8_presubmit import StatusFilesProcessor
 
   def FilterFile(affected_file):
     return input_api.FilterSourceFile(
       affected_file,
-      white_list=None,
-      black_list=_NO_LINT_PATHS)
+      files_to_check=None,
+      files_to_skip=_NO_LINT_PATHS)
+
+  def FilterTorqueFile(affected_file):
+    return input_api.FilterSourceFile(
+      affected_file,
+      files_to_check=(r'.+\.tq'))
+
+  def FilterJSFile(affected_file):
+    return input_api.FilterSourceFile(
+      affected_file,
+      files_to_check=(r'.+\.m?js'))
 
   results = []
   if not CppLintProcessor().RunOnFiles(
       input_api.AffectedFiles(file_filter=FilterFile, include_deletes=False)):
     results.append(output_api.PresubmitError("C++ lint check failed"))
+  if not TorqueLintProcessor().RunOnFiles(
+      input_api.AffectedFiles(file_filter=FilterTorqueFile,
+                              include_deletes=False)):
+    results.append(output_api.PresubmitError("Torque format check failed"))
+  if not JSLintProcessor().RunOnFiles(
+      input_api.AffectedFiles(file_filter=FilterJSFile,
+                              include_deletes=False)):
+    results.append(output_api.PresubmitError("JS format check failed"))
   if not SourceProcessor().RunOnFiles(
       input_api.AffectedFiles(include_deletes=False)):
     results.append(output_api.PresubmitError(
@@ -96,7 +122,7 @@
       input_api.AffectedFiles(include_deletes=True)):
     results.append(output_api.PresubmitError("Status file check failed"))
   results.extend(input_api.canned_checks.CheckAuthorizedAuthor(
-      input_api, output_api, bot_whitelist=[
+      input_api, output_api, bot_allowlist=[
         'v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com'
       ]))
   return results
@@ -121,8 +147,68 @@
     # Restore sys.path to what it was before.
     sys.path = original_sys_path
 
+  def _FilesImpactedByDepsChange(files):
+    all_files = [f.AbsoluteLocalPath() for f in files]
+    deps_files = [p for p in all_files if IsDepsFile(p)]
+    impacted_files = union([_CollectImpactedFiles(path) for path in deps_files])
+    impacted_file_objs = [ImpactedFile(path) for path in impacted_files]
+    return impacted_file_objs
+
+  def IsDepsFile(p):
+    return os.path.isfile(p) and os.path.basename(p) == 'DEPS'
+
+  def union(list_of_lists):
+    """Ensure no duplicates"""
+    return set(sum(list_of_lists, []))
+
+  def _CollectImpactedFiles(deps_file):
+    # TODO(liviurau): Do not walk paths twice. Then we have no duplicates.
+    # Higher level DEPS changes may dominate lower level DEPS changes.
+    # TODO(liviurau): Check if DEPS changed in the right way.
+    # 'include_rules' impact c++ files but 'vars' or 'deps' do not.
+    # Maybe we just eval both old and new DEPS content and check
+    # if the list are the same.
+    result = []
+    parent_dir = os.path.dirname(deps_file)
+    for relative_f in input_api.change.AllFiles(parent_dir):
+      abs_f = os.path.join(parent_dir, relative_f)
+      if CppChecker.IsCppFile(abs_f):
+        result.append(abs_f)
+    return result
+
+  class ImpactedFile(object):
+    """Duck type version of AffectedFile needed to check files under directories
+    where a DEPS file changed. Extend the interface along the line of
+    AffectedFile if you need it for other checks."""
+
+    def __init__(self, path):
+      self._path = path
+
+    def LocalPath(self):
+      path = self._path.replace(os.sep, '/')
+      return os.path.normpath(path)
+
+    def ChangedContents(self):
+      with open(self._path) as f:
+        # TODO(liviurau): read only '#include' lines
+        lines = f.readlines()
+      return enumerate(lines, start=1)
+
+  def _FilterDuplicates(impacted_files, affected_files):
+    """"We include all impacted files but exclude affected files that are also
+    impacted. Files impacted by DEPS changes take precedence before files
+    affected by direct changes."""
+    result = impacted_files[:]
+    only_paths = set([imf.LocalPath() for imf in impacted_files])
+    for af in affected_files:
+      if not af.LocalPath() in only_paths:
+        result.append(af)
+    return result
+
   added_includes = []
-  for f in input_api.AffectedFiles():
+  affected_files = input_api.AffectedFiles()
+  impacted_by_deps = _FilesImpactedByDepsChange(affected_files)
+  for f in _FilterDuplicates(impacted_by_deps, affected_files):
     if not CppChecker.IsCppFile(f.LocalPath()):
       continue
 
@@ -160,12 +246,11 @@
   file_inclusion_pattern = r'src/.+\.h'
 
   def FilterFile(affected_file):
-    black_list = (_EXCLUDED_PATHS +
-                  input_api.DEFAULT_BLACK_LIST)
+    files_to_skip = _EXCLUDED_PATHS + input_api.DEFAULT_FILES_TO_SKIP
     return input_api.FilterSourceFile(
       affected_file,
-      white_list=(file_inclusion_pattern, ),
-      black_list=black_list)
+      files_to_check=(file_inclusion_pattern, ),
+      files_to_skip=files_to_skip)
 
   leading_src_pattern = input_api.re.compile(r'^src/')
   dash_dot_slash_pattern = input_api.re.compile(r'[-./]')
@@ -211,8 +296,6 @@
     return []
 
 
-# TODO(mstarzinger): Similar checking should be made available as part of
-# tools/presubmit.py (note that tools/check-inline-includes.sh exists).
 def _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api):
   """Attempts to prevent inclusion of inline headers into normal header
   files. This tries to establish a layering where inline headers can be
@@ -224,12 +307,11 @@
     'header (e.g. bar.h) file.  This violates layering of dependencies.')
 
   def FilterFile(affected_file):
-    black_list = (_EXCLUDED_PATHS +
-                  input_api.DEFAULT_BLACK_LIST)
+    files_to_skip = _EXCLUDED_PATHS + input_api.DEFAULT_FILES_TO_SKIP
     return input_api.FilterSourceFile(
       affected_file,
-      white_list=(file_inclusion_pattern, ),
-      black_list=black_list)
+      files_to_check=(file_inclusion_pattern, ),
+      files_to_skip=files_to_skip)
 
   problems = []
   for f in input_api.AffectedSourceFiles(FilterFile):
@@ -264,13 +346,13 @@
       base_function_pattern, base_function_pattern))
 
   def FilterFile(affected_file):
-    black_list = (_EXCLUDED_PATHS +
-                  _TEST_CODE_EXCLUDED_PATHS +
-                  input_api.DEFAULT_BLACK_LIST)
+    files_to_skip = (_EXCLUDED_PATHS +
+                     _TEST_CODE_EXCLUDED_PATHS +
+                     input_api.DEFAULT_FILES_TO_SKIP)
     return input_api.FilterSourceFile(
       affected_file,
-      white_list=(file_inclusion_pattern, ),
-      black_list=black_list)
+      files_to_check=(file_inclusion_pattern, ),
+      files_to_skip=files_to_skip)
 
   problems = []
   for f in input_api.AffectedSourceFiles(FilterFile):
@@ -288,33 +370,42 @@
     return []
 
 
+def _CheckGenderNeutralInLicenses(input_api, output_api):
+  # License files are taken as is, even if they include gendered pronouns.
+  def LicenseFilter(path):
+    input_api.FilterSourceFile(path, files_to_skip=_LICENSE_FILE)
+
+  return input_api.canned_checks.CheckGenderNeutral(
+    input_api, output_api, source_file_filter=LicenseFilter)
+
+
+def _RunTestsWithVPythonSpec(input_api, output_api):
+  return input_api.RunTests(
+    input_api.canned_checks.CheckVPythonSpec(input_api, output_api))
+
+
 def _CommonChecks(input_api, output_api):
   """Checks common to both upload and commit."""
-  results = []
   # TODO(machenbach): Replace some of those checks, e.g. owners and copyright,
   # with the canned PanProjectChecks. Need to make sure that the checks all
   # pass on all existing files.
-  results.extend(input_api.canned_checks.CheckOwnersFormat(
-      input_api, output_api))
-  results.extend(input_api.canned_checks.CheckOwners(
-      input_api, output_api))
-  results.extend(_CheckCommitMessageBugEntry(input_api, output_api))
-  results.extend(input_api.canned_checks.CheckPatchFormatted(
-      input_api, output_api))
-  results.extend(input_api.canned_checks.CheckGenderNeutral(
-      input_api, output_api))
-  results.extend(_V8PresubmitChecks(input_api, output_api))
-  results.extend(_CheckUnwantedDependencies(input_api, output_api))
-  results.extend(
-      _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api))
-  results.extend(_CheckHeadersHaveIncludeGuards(input_api, output_api))
-  results.extend(
-      _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api))
-  results.extend(_CheckJSONFiles(input_api, output_api))
-  results.extend(_CheckMacroUndefs(input_api, output_api))
-  results.extend(input_api.RunTests(
-    input_api.canned_checks.CheckVPythonSpec(input_api, output_api)))
-  return results
+  checks = [
+    input_api.canned_checks.CheckOwnersFormat,
+    input_api.canned_checks.CheckOwners,
+    _CheckCommitMessageBugEntry,
+    input_api.canned_checks.CheckPatchFormatted,
+    _CheckGenderNeutralInLicenses,
+    _V8PresubmitChecks,
+    _CheckUnwantedDependencies,
+    _CheckNoProductionCodeUsingTestOnlyFunctions,
+    _CheckHeadersHaveIncludeGuards,
+    _CheckNoInlineHeaderIncludesInNormalHeaders,
+    _CheckJSONFiles,
+    _CheckNoexceptAnnotations,
+    _RunTestsWithVPythonSpec,
+  ]
+
+  return sum([check(input_api, output_api) for check in checks], [])
 
 
 def _SkipTreeCheck(input_api, output_api):
@@ -357,7 +448,7 @@
   def FilterFile(affected_file):
     return input_api.FilterSourceFile(
         affected_file,
-        white_list=(r'.+\.json',))
+        files_to_check=(r'.+\.json',))
 
   results = []
   for f in input_api.AffectedFiles(
@@ -372,62 +463,54 @@
   return [output_api.PresubmitError(r) for r in results]
 
 
-def _CheckMacroUndefs(input_api, output_api):
+def _CheckNoexceptAnnotations(input_api, output_api):
   """
-  Checks that each #define in a .cc file is eventually followed by an #undef.
+  Checks that all user-defined constructors and assignment operators are marked
+  V8_NOEXCEPT.
 
-  TODO(clemensh): This check should eventually be enabled for all cc files via
-  tools/presubmit.py (https://crbug.com/v8/6811).
+  This is required for standard containers to pick the right constructors. Our
+  macros (like MOVE_ONLY_WITH_DEFAULT_CONSTRUCTORS) add this automatically.
+  Omitting it at some places can result in weird compiler errors if this is
+  mixed with other classes that have the annotation.
+
+  TODO(clemensb): This check should eventually be enabled for all files via
+  tools/presubmit.py (https://crbug.com/v8/8616).
   """
+
   def FilterFile(affected_file):
-    # Skip header files, as they often define type lists which are used in
-    # other files.
-    white_list = (r'.+\.cc',r'.+\.cpp',r'.+\.c')
-    return input_api.FilterSourceFile(affected_file, white_list=white_list)
+    return input_api.FilterSourceFile(
+        affected_file,
+        files_to_check=(r'src/.*', r'test/.*'))
 
-  def TouchesMacros(f):
-    for line in f.GenerateScmDiff().splitlines():
-      if not line.startswith('+') and not line.startswith('-'):
-        continue
-      if define_pattern.match(line[1:]) or undef_pattern.match(line[1:]):
-        return True
-    return False
 
-  define_pattern = input_api.re.compile(r'#define (\w+)')
-  undef_pattern = input_api.re.compile(r'#undef (\w+)')
+  # matches any class name.
+  class_name = r'\b([A-Z][A-Za-z0-9_:]*)(?:::\1)?'
+  # initial class name is potentially followed by this to declare an assignment
+  # operator.
+  potential_assignment = r'(?:&\s+(?:\1::)?operator=)?\s*'
+  # matches an argument list that contains only a reference to a class named
+  # like the first capture group, potentially const.
+  single_class_ref_arg = r'\(\s*(?:const\s+)?\1(?:::\1)?&&?[^,;)]*\)'
+  # matches anything but a sequence of whitespaces followed by either
+  # V8_NOEXCEPT or "= delete".
+  not_followed_by_noexcept = r'(?!\s+(?:V8_NOEXCEPT|=\s+delete)\b)'
+  full_pattern = r'^.*?' + class_name + potential_assignment + \
+      single_class_ref_arg + not_followed_by_noexcept + '.*?$'
+  regexp = input_api.re.compile(full_pattern, re.MULTILINE)
+
   errors = []
-  for f in input_api.AffectedFiles(
-      file_filter=FilterFile, include_deletes=False):
-    if not TouchesMacros(f):
-      continue
-
-    defined_macros = dict()
+  for f in input_api.AffectedFiles(file_filter=FilterFile,
+                                   include_deletes=False):
     with open(f.LocalPath()) as fh:
-      line_nr = 0
-      for line in fh:
-        line_nr += 1
-
-        define_match = define_pattern.match(line)
-        if define_match:
-          name = define_match.group(1)
-          defined_macros[name] = line_nr
-
-        undef_match = undef_pattern.match(line)
-        if undef_match:
-          name = undef_match.group(1)
-          if not name in defined_macros:
-            errors.append('{}:{}: Macro named \'{}\' was not defined before.'
-                          .format(f.LocalPath(), line_nr, name))
-          else:
-            del defined_macros[name]
-    for name, line_nr in sorted(defined_macros.items(), key=lambda e: e[1]):
-      errors.append('{}:{}: Macro missing #undef: {}'
-                    .format(f.LocalPath(), line_nr, name))
+      for match in re.finditer(regexp, fh.read()):
+        errors.append('in {}: {}'.format(f.LocalPath(),
+                                         match.group().strip()))
 
   if errors:
     return [output_api.PresubmitPromptOrNotify(
-        'Detected mismatches in #define / #undef in the file(s) where you '
-        'modified preprocessor macros.',
+        'Copy constructors, move constructors, copy assignment operators and '
+        'move assignment operators should be marked V8_NOEXCEPT.\n'
+        'Please report false positives on https://crbug.com/v8/8616.',
         errors)]
   return []
 
@@ -448,19 +531,3 @@
         input_api, output_api,
         json_url='http://v8-status.appspot.com/current?format=json'))
   return results
-
-def PostUploadHook(cl, change, output_api):
-  """git cl upload will call this hook after the issue is created/modified.
-
-  This hook adds a noi18n bot if the patch affects Intl.
-  """
-  def affects_intl(f):
-    return 'intl' in f.LocalPath() or 'test262' in f.LocalPath()
-  if not change.AffectedFiles(file_filter=affects_intl):
-    return []
-  return output_api.EnsureCQIncludeTrybotsAreAdded(
-      cl,
-      [
-        'luci.v8.try:v8_linux_noi18n_rel_ng'
-      ],
-      'Automatically added noi18n trybots to run tests on CQ.')
diff --git a/README.md b/README.md
index 840c497..5c54854 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
 
 V8 can run standalone, or can be embedded into any C++ application.
 
-V8 Project page: https://github.com/v8/v8/wiki
+V8 Project page: https://v8.dev/docs
 
 
 Getting the Code
@@ -36,5 +36,5 @@
 Contributing
 =============
 
-Please follow the instructions mentioned on the
-[V8 wiki](https://github.com/v8/v8/wiki/Contributing).
+Please follow the instructions mentioned at
+[v8.dev/docs/contribute](https://v8.dev/docs/contribute).
diff --git a/S390_OWNERS b/S390_OWNERS
new file mode 100644
index 0000000..02c2cd7
--- /dev/null
+++ b/S390_OWNERS
@@ -0,0 +1,5 @@
+junyan@redhat.com
+joransiu@ca.ibm.com
+midawson@redhat.com
+mfarazma@redhat.com
+vasili.skurydzin@ibm.com
diff --git a/V8_MERGE_REVISION b/V8_MERGE_REVISION
index 3fc5773..483a9f4 100644
--- a/V8_MERGE_REVISION
+++ b/V8_MERGE_REVISION
@@ -1,2 +1,2 @@
-v8 7.0.276.40
-https://chromium.googlesource.com/v8/v8/+/7.0.276.40
\ No newline at end of file
+v8 8.8.278.14
+https://chromium.googlesource.com/v8/v8/+/8.8.278.14
\ No newline at end of file
diff --git a/WATCHLISTS b/WATCHLISTS
index bd07d31..54d6bbe 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -33,14 +33,17 @@
 
 {
   'WATCHLIST_DEFINITIONS': {
-    'public_api': {
-      'filepath': 'include/',
-    },
     'snapshot': {
       'filepath': 'src/snapshot/',
     },
-    'debugger': {
-      'filepath': 'src/debug/',
+    'devtools': {
+      'filepath': 'src/debug/' \
+                  '|src/inspector/' \
+                  '|src/profiler/' \
+                  '|src/libsampler/' \
+                  '|src/tracing/' \
+                  '|include/js_protocol.pdl' \
+                  '|include/v8-inspector*\.h',
     },
     'interpreter': {
       'filepath': 'src/interpreter/' \
@@ -49,7 +52,7 @@
                   '|test/unittests/interpreter/',
     },
     'feature_shipping_status': {
-      'filepath': 'src/flag-definitions.h',
+      'filepath': 'src/flags/flag-definitions.h',
     },
     'gc_changes': {
       'filepath': 'src/heap/',
@@ -57,45 +60,78 @@
     'arm': {
       'filepath': '/arm/',
     },
+    'csa': {
+      'filepath': 'src/codegen/code-stub-assembler\.(cc|h)$' \
+                  '|src/builtins/.*-gen.(cc|h)$',
+    },
     'ia32': {
       'filepath': '/ia32/',
     },
     'merges': {
       'filepath': '.',
-    }
+    },
+    'wasm': {
+      'filepath': 'src/wasm/' \
+                  '|src/compiler/wasm',
+    },
+    'value_serializer': {
+      'filepath': 'src/value-serializer',
+    },
+    'parser': {
+      'filepath': 'src/ast/' \
+                  '|src/parsing/',
+    },
+    'torque': {
+      'filepath': '.*\.tq$',
+    },
+    'tracing': {
+      'filepath': 'src/tracing/',
+    },
   },
 
   'WATCHLISTS': {
-    'public_api': [
-      'phajdan.jr@chromium.org',
+    'csa': [
+      'jgruber+watch@chromium.org',
+    ],
+    'torque': [
+      'jgruber+watch@chromium.org',
     ],
     'snapshot': [
-      'yangguo@chromium.org',
+      'jgruber+watch@chromium.org',
     ],
-    'debugger': [
-      'yangguo@chromium.org',
+    'devtools': [
+      'devtools-reviews+v8@chromium.org',
     ],
     'interpreter': [
       'rmcilroy@chromium.org',
-      'oth@chromium.org',
     ],
     'feature_shipping_status': [
       'hablich@chromium.org',
     ],
     'gc_changes': [
       'hpayer@chromium.org',
-      'ulan@chromium.org',
     ],
     'arm': [
       'v8-mips-ports@googlegroups.com',
       'v8-ppc-ports@googlegroups.com',
     ],
-    'ia32': [
-      'v8-x87-ports@googlegroups.com',
-    ],
     'merges': [
       # Only enabled on branches created with tools/release/create_release.py
       'v8-merges@googlegroups.com',
     ],
+    'wasm': [
+      'wasm-v8@google.com',
+    ],
+    'value_serializer': [
+      'jbroman+watch@chromium.org',
+    ],
+    'parser': [
+      'marja+watch@chromium.org',
+    ],
+    'tracing': [
+      'alph+watch@chromium.org',
+      'lpy+v8tracing@chromium.org',
+      'fmeawad@chromium.org',
+    ],
   },
 }
diff --git a/base/trace_event/common/trace_event_common.h b/base/trace_event/common/trace_event_common.h
index e2a5ca0..120481f 100644
--- a/base/trace_event/common/trace_event_common.h
+++ b/base/trace_event/common/trace_event_common.h
@@ -61,28 +61,30 @@
 // current process id, thread id, and a timestamp in microseconds.
 //
 // To trace an asynchronous procedure such as an IPC send/receive, use
-// ASYNC_BEGIN and ASYNC_END:
+// NESTABLE_ASYNC_BEGIN and NESTABLE_ASYNC_END:
 //   [single threaded sender code]
 //     static int send_count = 0;
 //     ++send_count;
-//     TRACE_EVENT_ASYNC_BEGIN0("ipc", "message", send_count);
+//     TRACE_EVENT_NESTABLE_ASYNC_BEGIN0(
+//         "ipc", "message", TRACE_ID_LOCAL(send_count));
 //     Send(new MyMessage(send_count));
 //   [receive code]
 //     void OnMyMessage(send_count) {
-//       TRACE_EVENT_ASYNC_END0("ipc", "message", send_count);
+//       TRACE_NESTABLE_EVENT_ASYNC_END0(
+//           "ipc", "message", TRACE_ID_LOCAL(send_count));
 //     }
-// The third parameter is a unique ID to match ASYNC_BEGIN/ASYNC_END pairs.
-// ASYNC_BEGIN and ASYNC_END can occur on any thread of any traced process.
-// Pointers can be used for the ID parameter, and they will be mangled
-// internally so that the same pointer on two different processes will not
-// match. For example:
+// The third parameter is a unique ID to match NESTABLE_ASYNC_BEGIN/ASYNC_END
+// pairs. NESTABLE_ASYNC_BEGIN and ASYNC_END can occur on any thread of any
+// traced process. // Pointers can be used for the ID parameter, and they will
+// be annotated internally so that the same pointer on two different processes
+// will not match. For example:
 //   class MyTracedClass {
 //    public:
 //     MyTracedClass() {
-//       TRACE_EVENT_ASYNC_BEGIN0("category", "MyTracedClass", this);
+//       TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("category", "MyTracedClass", this);
 //     }
 //     ~MyTracedClass() {
-//       TRACE_EVENT_ASYNC_END0("category", "MyTracedClass", this);
+//       TRACE_EVENT_NESTABLE_ASYNC_END0("category", "MyTracedClass", this);
 //     }
 //   }
 //
@@ -256,6 +258,13 @@
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, category_group, name,    \
                            TRACE_EVENT_FLAG_COPY | scope, arg1_name, arg1_val, \
                            arg2_name, arg2_val)
+#define TRACE_EVENT_INSTANT_WITH_FLAGS0(category_group, name, scope_and_flags) \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, category_group, name,    \
+                           scope_and_flags)
+#define TRACE_EVENT_INSTANT_WITH_FLAGS1(category_group, name, scope_and_flags, \
+                                        arg1_name, arg1_val)                   \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, category_group, name,    \
+                           scope_and_flags, arg1_name, arg1_val)
 
 #define TRACE_EVENT_INSTANT_WITH_TIMESTAMP0(category_group, name, scope, \
                                             timestamp)                   \
@@ -285,12 +294,12 @@
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, category_group, name, \
                            TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val,    \
                            arg2_name, arg2_val)
-#define TRACE_EVENT_COPY_BEGIN0(category_group, name)                     \
-  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, category_group, name, \
-                           TRACE_EVENT_FLAG_COPY)
-#define TRACE_EVENT_COPY_BEGIN1(category_group, name, arg1_name, arg1_val) \
-  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, category_group, name,  \
-                           TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val)
+#define TRACE_EVENT_BEGIN_WITH_FLAGS0(category_group, name, flags) \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, category_group, name, flags)
+#define TRACE_EVENT_BEGIN_WITH_FLAGS1(category_group, name, flags, arg1_name, \
+                                      arg1_val)                               \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, category_group, name,     \
+                           flags, arg1_name, arg1_val)
 #define TRACE_EVENT_COPY_BEGIN2(category_group, name, arg1_name, arg1_val, \
                                 arg2_name, arg2_val)                       \
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_BEGIN, category_group, name,  \
@@ -341,12 +350,12 @@
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, category_group, name,        \
                            TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val,         \
                            arg2_name, arg2_val)
-#define TRACE_EVENT_COPY_END0(category_group, name)                     \
-  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, category_group, name, \
-                           TRACE_EVENT_FLAG_COPY)
-#define TRACE_EVENT_COPY_END1(category_group, name, arg1_name, arg1_val) \
-  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, category_group, name,  \
-                           TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val)
+#define TRACE_EVENT_END_WITH_FLAGS0(category_group, name, flags) \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, category_group, name, flags)
+#define TRACE_EVENT_END_WITH_FLAGS1(category_group, name, flags, arg1_name,    \
+                                    arg1_val)                                  \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, category_group, name, flags, \
+                           arg1_name, arg1_val)
 #define TRACE_EVENT_COPY_END2(category_group, name, arg1_name, arg1_val, \
                               arg2_name, arg2_val)                       \
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, category_group, name,  \
@@ -374,6 +383,10 @@
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_MARK, category_group, name, \
                            TRACE_EVENT_FLAG_COPY)
 
+#define TRACE_EVENT_COPY_MARK1(category_group, name, arg1_name, arg1_val) \
+  INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_MARK, category_group, name,  \
+                           TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val)
+
 #define TRACE_EVENT_COPY_MARK_WITH_TIMESTAMP(category_group, name, timestamp) \
   INTERNAL_TRACE_EVENT_ADD_WITH_TIMESTAMP(                                    \
       TRACE_EVENT_PHASE_MARK, category_group, name, timestamp,                \
@@ -416,6 +429,9 @@
   INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, category_group, name, \
                            TRACE_EVENT_FLAG_NONE, "value",                  \
                            static_cast<int>(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<int>(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",                  \
@@ -492,36 +508,17 @@
                                    value1_name, static_cast<int>(value1_val), \
                                    value2_name, static_cast<int>(value2_val))
 
-// TRACE_EVENT_SAMPLE_* events are injected by the sampling profiler.
-#define TRACE_EVENT_SAMPLE_WITH_TID_AND_TIMESTAMP0(category_group, name,       \
-                                                   thread_id, timestamp)       \
-  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                          \
-      TRACE_EVENT_PHASE_SAMPLE, category_group, name, 0, thread_id, timestamp, \
-      TRACE_EVENT_FLAG_NONE)
-
-#define TRACE_EVENT_SAMPLE_WITH_TID_AND_TIMESTAMP1(                            \
-    category_group, name, thread_id, timestamp, arg1_name, arg1_val)           \
-  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                          \
-      TRACE_EVENT_PHASE_SAMPLE, category_group, name, 0, thread_id, timestamp, \
-      TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val)
-
-#define TRACE_EVENT_SAMPLE_WITH_TID_AND_TIMESTAMP2(category_group, name,       \
-                                                   thread_id, timestamp,       \
-                                                   arg1_name, arg1_val,        \
-                                                   arg2_name, arg2_val)        \
-  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                          \
-      TRACE_EVENT_PHASE_SAMPLE, category_group, name, 0, thread_id, timestamp, \
-      TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, arg2_name, arg2_val)
-
 #define TRACE_EVENT_SAMPLE_WITH_ID1(category_group, name, id, arg1_name,       \
                                     arg1_val)                                  \
   INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_SAMPLE, category_group,   \
                                    name, id, TRACE_EVENT_FLAG_NONE, arg1_name, \
                                    arg1_val)
 
-// ASYNC_STEP_* APIs should be only used by legacy code. New code should
-// consider using NESTABLE_ASYNC_* APIs to describe substeps within an async
-// event.
+// -- TRACE_EVENT_ASYNC is DEPRECATED! --
+//
+// TRACE_EVENT_ASYNC_* APIs should be only used by legacy code. New code should
+// use TRACE_EVENT_NESTABLE_ASYNC_* APIs instead.
+//
 // Records a single ASYNC_BEGIN event called "name" immediately, with 0, 1 or 2
 // associated arguments. If the category is not enabled, then this
 // does nothing.
@@ -733,6 +730,10 @@
   INTERNAL_TRACE_EVENT_ADD_WITH_ID(                                            \
       TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, category_group, name, id,        \
       TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, arg2_name, arg2_val)
+#define TRACE_EVENT_NESTABLE_ASYNC_BEGIN_WITH_FLAGS0(category_group, name, id, \
+                                                     flags)                    \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN,     \
+                                   category_group, name, id, flags)
 // Records a single NESTABLE_ASYNC_END event called "name" immediately, with 0
 // or 2 associated arguments. If the category is not enabled, then this does
 // nothing.
@@ -752,6 +753,10 @@
   INTERNAL_TRACE_EVENT_ADD_WITH_ID(                                          \
       TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, category_group, name, id,        \
       TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, arg2_name, arg2_val)
+#define TRACE_EVENT_NESTABLE_ASYNC_END_WITH_FLAGS0(category_group, name, id, \
+                                                   flags)                    \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END,     \
+                                   category_group, name, id, flags)
 
 // Records a single NESTABLE_ASYNC_INSTANT event called "name" immediately,
 // with none, one or two associated argument. If the category is not enabled,
@@ -793,6 +798,17 @@
   INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                          \
       TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, category_group, name, id,        \
       TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE)
+#define TRACE_EVENT_NESTABLE_ASYNC_BEGIN_WITH_TIMESTAMP1(                  \
+    category_group, name, id, timestamp, arg1_name, arg1_val)              \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                      \
+      TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, category_group, name, id,    \
+      TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \
+      arg1_name, arg1_val)
+#define TRACE_EVENT_NESTABLE_ASYNC_BEGIN_WITH_TIMESTAMP_AND_FLAGS0(     \
+    category_group, name, id, timestamp, flags)                         \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                   \
+      TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, category_group, name, id, \
+      TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, flags)
 #define TRACE_EVENT_NESTABLE_ASYNC_END_WITH_TIMESTAMP0(category_group, name, \
                                                        id, timestamp)        \
   INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                        \
@@ -804,11 +820,31 @@
       TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, category_group, name, id,      \
       TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \
       arg1_name, arg1_val)
+#define TRACE_EVENT_NESTABLE_ASYNC_END_WITH_TIMESTAMP2(                    \
+    category_group, name, id, timestamp, arg1_name, arg1_val, arg2_name,   \
+    arg2_val)                                                              \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                      \
+      TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, category_group, name, id,      \
+      TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \
+      arg1_name, arg1_val, arg2_name, arg2_val)
+#define TRACE_EVENT_NESTABLE_ASYNC_END_WITH_TIMESTAMP_AND_FLAGS0(     \
+    category_group, name, id, timestamp, flags)                       \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                 \
+      TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, category_group, name, id, \
+      TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, flags)
 #define TRACE_EVENT_NESTABLE_ASYNC_INSTANT_WITH_TIMESTAMP0(               \
     category_group, name, id, timestamp)                                  \
   INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                     \
       TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT, category_group, name, id, \
       TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE)
+#define TRACE_EVENT_COPY_NESTABLE_ASYNC_BEGIN0(category_group, name, id)   \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \
+                                   category_group, name, id,               \
+                                   TRACE_EVENT_FLAG_COPY)
+#define TRACE_EVENT_COPY_NESTABLE_ASYNC_END0(category_group, name, id)   \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
+                                   category_group, name, id,             \
+                                   TRACE_EVENT_FLAG_COPY)
 #define TRACE_EVENT_COPY_NESTABLE_ASYNC_BEGIN_WITH_TIMESTAMP0(          \
     category_group, name, id, timestamp)                                \
   INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                   \
@@ -819,6 +855,11 @@
   INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(                 \
       TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, category_group, name, id, \
       TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_COPY)
+#define TRACE_EVENT_COPY_NESTABLE_ASYNC_END1(category_group, name, id,   \
+                                             arg1_name, arg1_val)        \
+  INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
+                                   category_group, name, id,             \
+                                   TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val)
 
 // Records a single FLOW_BEGIN event called "name" immediately, with 0, 1 or 2
 // associated arguments. If the category is not enabled, then this
@@ -928,6 +969,10 @@
 #define TRACE_TASK_EXECUTION(run_function, task) \
   INTERNAL_TRACE_TASK_EXECUTION(run_function, task)
 
+// Special trace event macro to trace log messages.
+#define TRACE_LOG_MESSAGE(file, message, line) \
+  INTERNAL_TRACE_LOG_MESSAGE(file, message, line)
+
 // TRACE_EVENT_METADATA* events are information related to other
 // injected events, not events in their own right.
 #define TRACE_EVENT_METADATA1(category_group, name, arg1_name, arg1_val) \
@@ -980,19 +1025,6 @@
   INTERNAL_TRACE_EVENT_ADD_WITH_ID(                                   \
       TRACE_EVENT_PHASE_LEAVE_CONTEXT, category_group, name, context, \
       TRACE_EVENT_FLAG_NONE)
-#define TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context) \
-  INTERNAL_TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context)
-
-// Macro to specify that two trace IDs are identical. For example,
-// TRACE_LINK_IDS(
-//     "category", "name",
-//     TRACE_ID_WITH_SCOPE("net::URLRequest", 0x1000),
-//     TRACE_ID_WITH_SCOPE("blink::ResourceFetcher::FetchRequest", 0x2000))
-// tells the trace consumer that events with ID ("net::URLRequest", 0x1000) from
-// the current process have the same ID as events with ID
-// ("blink::ResourceFetcher::FetchRequest", 0x2000).
-#define TRACE_LINK_IDS(category_group, name, id, linked_id) \
-  INTERNAL_TRACE_EVENT_ADD_LINK_IDS(category_group, name, id, linked_id);
 
 // Macro to efficiently determine if a given category group is enabled.
 #define TRACE_EVENT_CATEGORY_GROUP_ENABLED(category_group, ret)             \
@@ -1005,14 +1037,6 @@
     }                                                                       \
   } while (0)
 
-// Macro to explicitly warm up a given category group. This could be useful in
-// cases where we want to initialize a category group before any trace events
-// for that category group is reported. For example, to have a category group
-// always show up in the "record categories" list for manually selecting
-// settings in about://tracing.
-#define TRACE_EVENT_WARMUP_CATEGORY(category_group) \
-  INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group)
-
 // Macro to efficiently determine, through polling, if a new trace has begun.
 #define TRACE_EVENT_IS_NEW_TRACE(ret)                                      \
   do {                                                                     \
@@ -1067,25 +1091,27 @@
 #define TRACE_EVENT_PHASE_CLOCK_SYNC ('c')
 #define TRACE_EVENT_PHASE_ENTER_CONTEXT ('(')
 #define TRACE_EVENT_PHASE_LEAVE_CONTEXT (')')
-#define TRACE_EVENT_PHASE_LINK_IDS ('=')
 
 // Flags for changing the behavior of TRACE_EVENT_API_ADD_TRACE_EVENT.
 #define TRACE_EVENT_FLAG_NONE (static_cast<unsigned int>(0))
 #define TRACE_EVENT_FLAG_COPY (static_cast<unsigned int>(1 << 0))
 #define TRACE_EVENT_FLAG_HAS_ID (static_cast<unsigned int>(1 << 1))
-// TODO(crbug.com/639003): Free this bit after ID mangling is deprecated.
-#define TRACE_EVENT_FLAG_MANGLE_ID (static_cast<unsigned int>(1 << 2))
-#define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast<unsigned int>(1 << 3))
-#define TRACE_EVENT_FLAG_SCOPE_EXTRA (static_cast<unsigned int>(1 << 4))
-#define TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP (static_cast<unsigned int>(1 << 5))
-#define TRACE_EVENT_FLAG_ASYNC_TTS (static_cast<unsigned int>(1 << 6))
-#define TRACE_EVENT_FLAG_BIND_TO_ENCLOSING (static_cast<unsigned int>(1 << 7))
-#define TRACE_EVENT_FLAG_FLOW_IN (static_cast<unsigned int>(1 << 8))
-#define TRACE_EVENT_FLAG_FLOW_OUT (static_cast<unsigned int>(1 << 9))
-#define TRACE_EVENT_FLAG_HAS_CONTEXT_ID (static_cast<unsigned int>(1 << 10))
-#define TRACE_EVENT_FLAG_HAS_PROCESS_ID (static_cast<unsigned int>(1 << 11))
-#define TRACE_EVENT_FLAG_HAS_LOCAL_ID (static_cast<unsigned int>(1 << 12))
-#define TRACE_EVENT_FLAG_HAS_GLOBAL_ID (static_cast<unsigned int>(1 << 13))
+#define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast<unsigned int>(1 << 2))
+#define TRACE_EVENT_FLAG_SCOPE_EXTRA (static_cast<unsigned int>(1 << 3))
+#define TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP (static_cast<unsigned int>(1 << 4))
+#define TRACE_EVENT_FLAG_ASYNC_TTS (static_cast<unsigned int>(1 << 5))
+#define TRACE_EVENT_FLAG_BIND_TO_ENCLOSING (static_cast<unsigned int>(1 << 6))
+#define TRACE_EVENT_FLAG_FLOW_IN (static_cast<unsigned int>(1 << 7))
+#define TRACE_EVENT_FLAG_FLOW_OUT (static_cast<unsigned int>(1 << 8))
+#define TRACE_EVENT_FLAG_HAS_CONTEXT_ID (static_cast<unsigned int>(1 << 9))
+#define TRACE_EVENT_FLAG_HAS_PROCESS_ID (static_cast<unsigned int>(1 << 10))
+#define TRACE_EVENT_FLAG_HAS_LOCAL_ID (static_cast<unsigned int>(1 << 11))
+#define TRACE_EVENT_FLAG_HAS_GLOBAL_ID (static_cast<unsigned int>(1 << 12))
+// 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<unsigned int>(1 << 15))
+#define TRACE_EVENT_FLAG_JAVA_STRING_LITERALS \
+  (static_cast<unsigned int>(1 << 16))
 
 #define TRACE_EVENT_FLAG_SCOPE_MASK                          \
   (static_cast<unsigned int>(TRACE_EVENT_FLAG_SCOPE_OFFSET | \
@@ -1103,9 +1129,9 @@
 
 // Enum reflecting the scope of an INSTANT event. Must fit within
 // TRACE_EVENT_FLAG_SCOPE_MASK.
-#define TRACE_EVENT_SCOPE_GLOBAL (static_cast<unsigned char>(0 << 3))
-#define TRACE_EVENT_SCOPE_PROCESS (static_cast<unsigned char>(1 << 3))
-#define TRACE_EVENT_SCOPE_THREAD (static_cast<unsigned char>(2 << 3))
+#define TRACE_EVENT_SCOPE_GLOBAL (static_cast<unsigned char>(0 << 2))
+#define TRACE_EVENT_SCOPE_PROCESS (static_cast<unsigned char>(1 << 2))
+#define TRACE_EVENT_SCOPE_THREAD (static_cast<unsigned char>(2 << 2))
 
 #define TRACE_EVENT_SCOPE_NAME_GLOBAL ('g')
 #define TRACE_EVENT_SCOPE_NAME_PROCESS ('p')
diff --git a/benchmarks/README.txt b/benchmarks/README.txt
deleted file mode 100644
index 59f76ff..0000000
--- a/benchmarks/README.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-V8 Benchmark Suite
-==================
-
-This is the V8 benchmark suite: A collection of pure JavaScript
-benchmarks that we have used to tune V8. The licenses for the
-individual benchmarks are included in the JavaScript files.
-
-In addition to the benchmarks, the suite consists of the benchmark
-framework (base.js), which must be loaded before any of the individual
-benchmark files, and two benchmark runners: An HTML version (run.html)
-and a standalone JavaScript version (run.js).
-
-
-Changes From Version 1 To Version 2
-===================================
-
-For version 2 the crypto benchmark was fixed.  Previously, the
-decryption stage was given plaintext as input, which resulted in an
-error.  Now, the decryption stage is given the output of the
-encryption stage as input.  The result is checked against the original
-plaintext.  For this to give the correct results the crypto objects
-are reset for each iteration of the benchmark.  In addition, the size
-of the plain text has been increased a little and the use of
-Math.random() and new Date() to build an RNG pool has been removed.
-
-Other benchmarks were fixed to do elementary verification of the
-results of their calculations.  This is to avoid accidentally
-obtaining scores that are the result of an incorrect JavaScript engine
-optimization.
-
-
-Changes From Version 2 To Version 3
-===================================
-
-Version 3 adds a new benchmark, RegExp.  The RegExp benchmark is
-generated by loading 50 of the most popular pages on the web and
-logging all regexp operations performed.  Each operation is given a
-weight that is calculated from an estimate of the popularity of the
-pages where it occurs and the number of times it is executed while
-loading each page.  Finally the literal letters in the data are
-encoded using ROT13 in a way that does not affect how the regexps
-match their input.
-
-
-Changes from Version 3 to Version 4
-===================================
-
-The Splay benchmark is a newcomer in version 4.  It manipulates a
-splay tree by adding and removing data nodes, thus exercising the
-memory management subsystem of the JavaScript engine.
-
-Furthermore, all the unused parts of the Prototype library were
-removed from the RayTrace benchmark. This does not affect the running
-of the benchmark.
-
-
-Changes from Version 4 to Version 5
-===================================
-
-Removed duplicate line in random seed code, and changed the name of
-the Object.prototype.inherits function in the DeltaBlue benchmark to
-inheritsFrom to avoid name clashes when running in Chromium with
-extensions enabled.
-
-
-Changes from Version 5 to Version 6
-===================================
-
-Removed dead code from the RayTrace benchmark and fixed a couple of
-typos in the DeltaBlue implementation. Changed the Splay benchmark to
-avoid converting the same numeric key to a string over and over again
-and to avoid inserting and removing the same element repeatedly thus
-increasing pressure on the memory subsystem. Changed the RegExp
-benchmark to exercise the regular expression engine on different
-input strings.
-
-Furthermore, the benchmark runner was changed to run the benchmarks
-for at least a few times to stabilize the reported numbers on slower
-machines.
-
-
-Changes from Version 6 to Version 7
-===================================
-
-Added the Navier-Stokes benchmark, a 2D differential equation solver
-that stresses arithmetic computations on double arrays.
diff --git a/benchmarks/base.js b/benchmarks/base.js
deleted file mode 100644
index 62c37e1..0000000
--- a/benchmarks/base.js
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-//       notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-//       copyright notice, this list of conditions and the following
-//       disclaimer in the documentation and/or other materials provided
-//       with the distribution.
-//     * Neither the name of Google Inc. nor the names of its
-//       contributors may be used to endorse or promote products derived
-//       from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Simple framework for running the benchmark suites and
-// computing a score based on the timing measurements.
-
-
-// A benchmark has a name (string) and a function that will be run to
-// do the performance measurement. The optional setup and tearDown
-// arguments are functions that will be invoked before and after
-// running the benchmark, but the running time of these functions will
-// not be accounted for in the benchmark score.
-function Benchmark(name, run, setup, tearDown) {
-  this.name = name;
-  this.run = run;
-  this.Setup = setup ? setup : function() { };
-  this.TearDown = tearDown ? tearDown : function() { };
-}
-
-
-// Benchmark results hold the benchmark and the measured time used to
-// run the benchmark. The benchmark score is computed later once a
-// full benchmark suite has run to completion.
-function BenchmarkResult(benchmark, time) {
-  this.benchmark = benchmark;
-  this.time = time;
-}
-
-
-// Automatically convert results to numbers. Used by the geometric
-// mean computation.
-BenchmarkResult.prototype.valueOf = function() {
-  return this.time;
-}
-
-
-// Suites of benchmarks consist of a name and the set of benchmarks in
-// addition to the reference timing that the final score will be based
-// on. This way, all scores are relative to a reference run and higher
-// scores implies better performance.
-function BenchmarkSuite(name, reference, benchmarks) {
-  this.name = name;
-  this.reference = reference;
-  this.benchmarks = benchmarks;
-  BenchmarkSuite.suites.push(this);
-}
-
-
-// Keep track of all declared benchmark suites.
-BenchmarkSuite.suites = [];
-
-
-// Scores are not comparable across versions. Bump the version if
-// you're making changes that will affect that scores, e.g. if you add
-// a new benchmark or change an existing one.
-BenchmarkSuite.version = '7';
-
-
-// To make the benchmark results predictable, we replace Math.random
-// with a 100% deterministic alternative.
-Math.random = (function() {
-  var seed = 49734321;
-  return function() {
-    // Robert Jenkins' 32 bit integer hash function.
-    seed = ((seed + 0x7ed55d16) + (seed << 12))  & 0xffffffff;
-    seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff;
-    seed = ((seed + 0x165667b1) + (seed << 5))   & 0xffffffff;
-    seed = ((seed + 0xd3a2646c) ^ (seed << 9))   & 0xffffffff;
-    seed = ((seed + 0xfd7046c5) + (seed << 3))   & 0xffffffff;
-    seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff;
-    return (seed & 0xfffffff) / 0x10000000;
-  };
-})();
-
-
-// Runs all registered benchmark suites and optionally yields between
-// each individual benchmark to avoid running for too long in the
-// context of browsers. Once done, the final score is reported to the
-// runner.
-BenchmarkSuite.RunSuites = function(runner) {
-  var continuation = null;
-  var suites = BenchmarkSuite.suites;
-  var length = suites.length;
-  BenchmarkSuite.scores = [];
-  var index = 0;
-  function RunStep() {
-    while (continuation || index < length) {
-      if (continuation) {
-        continuation = continuation();
-      } else {
-        var suite = suites[index++];
-        if (runner.NotifyStart) runner.NotifyStart(suite.name);
-        continuation = suite.RunStep(runner);
-      }
-      if (continuation && typeof window != 'undefined' && window.setTimeout) {
-        window.setTimeout(RunStep, 25);
-        return;
-      }
-    }
-    if (runner.NotifyScore) {
-      var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores);
-      var formatted = BenchmarkSuite.FormatScore(100 * score);
-      runner.NotifyScore(formatted);
-    }
-  }
-  RunStep();
-}
-
-
-// Counts the total number of registered benchmarks. Useful for
-// showing progress as a percentage.
-BenchmarkSuite.CountBenchmarks = function() {
-  var result = 0;
-  var suites = BenchmarkSuite.suites;
-  for (var i = 0; i < suites.length; i++) {
-    result += suites[i].benchmarks.length;
-  }
-  return result;
-}
-
-
-// Computes the geometric mean of a set of numbers.
-BenchmarkSuite.GeometricMean = function(numbers) {
-  var log = 0;
-  for (var i = 0; i < numbers.length; i++) {
-    log += Math.log(numbers[i]);
-  }
-  return Math.pow(Math.E, log / numbers.length);
-}
-
-
-// Converts a score value to a string with at least three significant
-// digits.
-BenchmarkSuite.FormatScore = function(value) {
-  if (value > 100) {
-    return value.toFixed(0);
-  } else {
-    return value.toPrecision(3);
-  }
-}
-
-// Notifies the runner that we're done running a single benchmark in
-// the benchmark suite. This can be useful to report progress.
-BenchmarkSuite.prototype.NotifyStep = function(result) {
-  this.results.push(result);
-  if (this.runner.NotifyStep) this.runner.NotifyStep(result.benchmark.name);
-}
-
-
-// Notifies the runner that we're done with running a suite and that
-// we have a result which can be reported to the user if needed.
-BenchmarkSuite.prototype.NotifyResult = function() {
-  var mean = BenchmarkSuite.GeometricMean(this.results);
-  var score = this.reference / mean;
-  BenchmarkSuite.scores.push(score);
-  if (this.runner.NotifyResult) {
-    var formatted = BenchmarkSuite.FormatScore(100 * score);
-    this.runner.NotifyResult(this.name, formatted);
-  }
-}
-
-
-// Notifies the runner that running a benchmark resulted in an error.
-BenchmarkSuite.prototype.NotifyError = function(error) {
-  if (this.runner.NotifyError) {
-    this.runner.NotifyError(this.name, error);
-  }
-  if (this.runner.NotifyStep) {
-    this.runner.NotifyStep(this.name);
-  }
-}
-
-
-// Runs a single benchmark for at least a second and computes the
-// average time it takes to run a single iteration.
-BenchmarkSuite.prototype.RunSingleBenchmark = function(benchmark, data) {
-  function Measure(data) {
-    var elapsed = 0;
-    var start = new Date();
-    for (var n = 0; elapsed < 1000; n++) {
-      benchmark.run();
-      elapsed = new Date() - start;
-    }
-    if (data != null) {
-      data.runs += n;
-      data.elapsed += elapsed;
-    }
-  }
-
-  if (data == null) {
-    // Measure the benchmark once for warm up and throw the result
-    // away. Return a fresh data object.
-    Measure(null);
-    return { runs: 0, elapsed: 0 };
-  } else {
-    Measure(data);
-    // If we've run too few iterations, we continue for another second.
-    if (data.runs < 32) return data;
-    var usec = (data.elapsed * 1000) / data.runs;
-    this.NotifyStep(new BenchmarkResult(benchmark, usec));
-    return null;
-  }
-}
-
-
-// This function starts running a suite, but stops between each
-// individual benchmark in the suite and returns a continuation
-// function which can be invoked to run the next benchmark. Once the
-// last benchmark has been executed, null is returned.
-BenchmarkSuite.prototype.RunStep = function(runner) {
-  this.results = [];
-  this.runner = runner;
-  var length = this.benchmarks.length;
-  var index = 0;
-  var suite = this;
-  var data;
-
-  // Run the setup, the actual benchmark, and the tear down in three
-  // separate steps to allow the framework to yield between any of the
-  // steps.
-
-  function RunNextSetup() {
-    if (index < length) {
-      try {
-        suite.benchmarks[index].Setup();
-      } catch (e) {
-        suite.NotifyError(e);
-        return null;
-      }
-      return RunNextBenchmark;
-    }
-    suite.NotifyResult();
-    return null;
-  }
-
-  function RunNextBenchmark() {
-    try {
-      data = suite.RunSingleBenchmark(suite.benchmarks[index], data);
-    } catch (e) {
-      suite.NotifyError(e);
-      return null;
-    }
-    // If data is null, we're done with this benchmark.
-    return (data == null) ? RunNextTearDown : RunNextBenchmark();
-  }
-
-  function RunNextTearDown() {
-    try {
-      suite.benchmarks[index++].TearDown();
-    } catch (e) {
-      suite.NotifyError(e);
-      return null;
-    }
-    return RunNextSetup;
-  }
-
-  // Start out running the setup.
-  return RunNextSetup();
-}
diff --git a/benchmarks/crypto.js b/benchmarks/crypto.js
deleted file mode 100644
index 531ad45..0000000
--- a/benchmarks/crypto.js
+++ /dev/null
@@ -1,1698 +0,0 @@
-/*
- * Copyright (c) 2003-2005  Tom Wu
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
- * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * In addition, the following condition applies:
- *
- * All redistributions must retain an intact copy of this copyright notice
- * and disclaimer.
- */
-
-
-// The code has been adapted for use as a benchmark by Google.
-var Crypto = new BenchmarkSuite('Crypto', 266181, [
-  new Benchmark("Encrypt", encrypt),
-  new Benchmark("Decrypt", decrypt)
-]);
-
-
-// Basic JavaScript BN library - subset useful for RSA encryption.
-
-// Bits per digit
-var dbits;
-var BI_DB;
-var BI_DM;
-var BI_DV;
-
-var BI_FP;
-var BI_FV;
-var BI_F1;
-var BI_F2;
-
-// JavaScript engine analysis
-var canary = 0xdeadbeefcafe;
-var j_lm = ((canary&0xffffff)==0xefcafe);
-
-// (public) Constructor
-function BigInteger(a,b,c) {
-  this.array = new Array();
-  if(a != null)
-    if("number" == typeof a) this.fromNumber(a,b,c);
-    else if(b == null && "string" != typeof a) this.fromString(a,256);
-    else this.fromString(a,b);
-}
-
-// return new, unset BigInteger
-function nbi() { return new BigInteger(null); }
-
-// am: Compute w_j += (x*this_i), propagate carries,
-// c is initial carry, returns final carry.
-// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
-// We need to select the fastest one that works in this environment.
-
-// am1: use a single mult and divide to get the high bits,
-// max digit bits should be 26 because
-// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
-function am1(i,x,w,j,c,n) {
-  var this_array = this.array;
-  var w_array    = w.array;
-  while(--n >= 0) {
-    var v = x*this_array[i++]+w_array[j]+c;
-    c = Math.floor(v/0x4000000);
-    w_array[j++] = v&0x3ffffff;
-  }
-  return c;
-}
-
-// am2 avoids a big mult-and-extract completely.
-// Max digit bits should be <= 30 because we do bitwise ops
-// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
-function am2(i,x,w,j,c,n) {
-  var this_array = this.array;
-  var w_array    = w.array;
-  var xl = x&0x7fff, xh = x>>15;
-  while(--n >= 0) {
-    var l = this_array[i]&0x7fff;
-    var h = this_array[i++]>>15;
-    var m = xh*l+h*xl;
-    l = xl*l+((m&0x7fff)<<15)+w_array[j]+(c&0x3fffffff);
-    c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
-    w_array[j++] = l&0x3fffffff;
-  }
-  return c;
-}
-
-// Alternately, set max digit bits to 28 since some
-// browsers slow down when dealing with 32-bit numbers.
-function am3(i,x,w,j,c,n) {
-  var this_array = this.array;
-  var w_array    = w.array;
-
-  var xl = x&0x3fff, xh = x>>14;
-  while(--n >= 0) {
-    var l = this_array[i]&0x3fff;
-    var h = this_array[i++]>>14;
-    var m = xh*l+h*xl;
-    l = xl*l+((m&0x3fff)<<14)+w_array[j]+c;
-    c = (l>>28)+(m>>14)+xh*h;
-    w_array[j++] = l&0xfffffff;
-  }
-  return c;
-}
-
-// This is tailored to VMs with 2-bit tagging. It makes sure
-// that all the computations stay within the 29 bits available.
-function am4(i,x,w,j,c,n) {
-  var this_array = this.array;
-  var w_array    = w.array;
-
-  var xl = x&0x1fff, xh = x>>13;
-  while(--n >= 0) {
-    var l = this_array[i]&0x1fff;
-    var h = this_array[i++]>>13;
-    var m = xh*l+h*xl;
-    l = xl*l+((m&0x1fff)<<13)+w_array[j]+c;
-    c = (l>>26)+(m>>13)+xh*h;
-    w_array[j++] = l&0x3ffffff;
-  }
-  return c;
-}
-
-// am3/28 is best for SM, Rhino, but am4/26 is best for v8.
-// Kestrel (Opera 9.5) gets its best result with am4/26.
-// IE7 does 9% better with am3/28 than with am4/26.
-// Firefox (SM) gets 10% faster with am3/28 than with am4/26.
-
-setupEngine = function(fn, bits) {
-  BigInteger.prototype.am = fn;
-  dbits = bits;
-
-  BI_DB = dbits;
-  BI_DM = ((1<<dbits)-1);
-  BI_DV = (1<<dbits);
-
-  BI_FP = 52;
-  BI_FV = Math.pow(2,BI_FP);
-  BI_F1 = BI_FP-dbits;
-  BI_F2 = 2*dbits-BI_FP;
-}
-
-
-// Digit conversions
-var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
-var BI_RC = new Array();
-var rr,vv;
-rr = "0".charCodeAt(0);
-for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
-rr = "a".charCodeAt(0);
-for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
-rr = "A".charCodeAt(0);
-for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
-
-function int2char(n) { return BI_RM.charAt(n); }
-function intAt(s,i) {
-  var c = BI_RC[s.charCodeAt(i)];
-  return (c==null)?-1:c;
-}
-
-// (protected) copy this to r
-function bnpCopyTo(r) {
-  var this_array = this.array;
-  var r_array    = r.array;
-
-  for(var i = this.t-1; i >= 0; --i) r_array[i] = this_array[i];
-  r.t = this.t;
-  r.s = this.s;
-}
-
-// (protected) set from integer value x, -DV <= x < DV
-function bnpFromInt(x) {
-  var this_array = this.array;
-  this.t = 1;
-  this.s = (x<0)?-1:0;
-  if(x > 0) this_array[0] = x;
-  else if(x < -1) this_array[0] = x+DV;
-  else this.t = 0;
-}
-
-// return bigint initialized to value
-function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
-
-// (protected) set from string and radix
-function bnpFromString(s,b) {
-  var this_array = this.array;
-  var k;
-  if(b == 16) k = 4;
-  else if(b == 8) k = 3;
-  else if(b == 256) k = 8; // byte array
-  else if(b == 2) k = 1;
-  else if(b == 32) k = 5;
-  else if(b == 4) k = 2;
-  else { this.fromRadix(s,b); return; }
-  this.t = 0;
-  this.s = 0;
-  var i = s.length, mi = false, sh = 0;
-  while(--i >= 0) {
-    var x = (k==8)?s[i]&0xff:intAt(s,i);
-    if(x < 0) {
-      if(s.charAt(i) == "-") mi = true;
-      continue;
-    }
-    mi = false;
-    if(sh == 0)
-      this_array[this.t++] = x;
-    else if(sh+k > BI_DB) {
-      this_array[this.t-1] |= (x&((1<<(BI_DB-sh))-1))<<sh;
-      this_array[this.t++] = (x>>(BI_DB-sh));
-    }
-    else
-      this_array[this.t-1] |= x<<sh;
-    sh += k;
-    if(sh >= BI_DB) sh -= BI_DB;
-  }
-  if(k == 8 && (s[0]&0x80) != 0) {
-    this.s = -1;
-    if(sh > 0) this_array[this.t-1] |= ((1<<(BI_DB-sh))-1)<<sh;
-  }
-  this.clamp();
-  if(mi) BigInteger.ZERO.subTo(this,this);
-}
-
-// (protected) clamp off excess high words
-function bnpClamp() {
-  var this_array = this.array;
-  var c = this.s&BI_DM;
-  while(this.t > 0 && this_array[this.t-1] == c) --this.t;
-}
-
-// (public) return string representation in given radix
-function bnToString(b) {
-  var this_array = this.array;
-  if(this.s < 0) return "-"+this.negate().toString(b);
-  var k;
-  if(b == 16) k = 4;
-  else if(b == 8) k = 3;
-  else if(b == 2) k = 1;
-  else if(b == 32) k = 5;
-  else if(b == 4) k = 2;
-  else return this.toRadix(b);
-  var km = (1<<k)-1, d, m = false, r = "", i = this.t;
-  var p = BI_DB-(i*BI_DB)%k;
-  if(i-- > 0) {
-    if(p < BI_DB && (d = this_array[i]>>p) > 0) { m = true; r = int2char(d); }
-    while(i >= 0) {
-      if(p < k) {
-        d = (this_array[i]&((1<<p)-1))<<(k-p);
-        d |= this_array[--i]>>(p+=BI_DB-k);
-      }
-      else {
-        d = (this_array[i]>>(p-=k))&km;
-        if(p <= 0) { p += BI_DB; --i; }
-      }
-      if(d > 0) m = true;
-      if(m) r += int2char(d);
-    }
-  }
-  return m?r:"0";
-}
-
-// (public) -this
-function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }
-
-// (public) |this|
-function bnAbs() { return (this.s<0)?this.negate():this; }
-
-// (public) return + if this > a, - if this < a, 0 if equal