Move remaining files in src/

TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org

Bug: v8:9247
Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61830}
diff --git a/BUILD.gn b/BUILD.gn
index 029a66a..e437992 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1698,7 +1698,7 @@
   configs = [ ":internal_config" ]
 
   sources = [
-    "src/globals.h",
+    "src/common/globals.h",
   ]
 
   deps = [
@@ -1922,6 +1922,8 @@
   "src/compiler/types.h",
   "src/compiler/value-numbering-reducer.cc",
   "src/compiler/value-numbering-reducer.h",
+  "src/compiler/vector-slot-pair.cc",
+  "src/compiler/vector-slot-pair.h",
   "src/compiler/verifier.cc",
   "src/compiler/verifier.h",
   "src/compiler/wasm-compiler.cc",
@@ -2003,8 +2005,6 @@
     "include/v8-wasm-trap-handler-posix.h",
     "include/v8.h",
     "include/v8config.h",
-    "src/allocation-site-scopes-inl.h",
-    "src/allocation-site-scopes.h",
     "src/api/api-arguments-inl.h",
     "src/api/api-arguments.cc",
     "src/api/api-arguments.h",
@@ -2021,8 +2021,6 @@
     "src/asmjs/asm-scanner.h",
     "src/asmjs/asm-types.cc",
     "src/asmjs/asm-types.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",
@@ -2082,9 +2080,6 @@
     "src/builtins/builtins.h",
     "src/builtins/constants-table-builder.cc",
     "src/builtins/constants-table-builder.h",
-    "src/cancelable-task.cc",
-    "src/cancelable-task.h",
-    "src/checks.h",
     "src/codegen/assembler-arch.h",
     "src/codegen/assembler-inl.h",
     "src/codegen/assembler.cc",
@@ -2108,6 +2103,10 @@
     "src/codegen/constant-pool.h",
     "src/codegen/constants-arch.h",
     "src/codegen/cpu-features.h",
+    "src/codegen/external-reference-table.cc",
+    "src/codegen/external-reference-table.h",
+    "src/codegen/external-reference.cc",
+    "src/codegen/external-reference.h",
     "src/codegen/flush-instruction-cache.cc",
     "src/codegen/flush-instruction-cache.h",
     "src/codegen/handler-table.cc",
@@ -2141,8 +2140,12 @@
     "src/codegen/turbo-assembler.h",
     "src/codegen/unoptimized-compilation-info.cc",
     "src/codegen/unoptimized-compilation-info.h",
-    "src/compilation-statistics.cc",
-    "src/compilation-statistics.h",
+    "src/common/assert-scope.cc",
+    "src/common/assert-scope.h",
+    "src/common/checks.h",
+    "src/common/ptr-compr-inl.h",
+    "src/common/ptr-compr.h",
+    "src/common/v8memory.h",
     "src/compiler-dispatcher/compiler-dispatcher.cc",
     "src/compiler-dispatcher/compiler-dispatcher.h",
     "src/compiler-dispatcher/optimizing-compile-dispatcher.cc",
@@ -2181,6 +2184,8 @@
     "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",
@@ -2222,6 +2227,8 @@
     "src/execution/thread-id.h",
     "src/execution/thread-local-top.cc",
     "src/execution/thread-local-top.h",
+    "src/execution/v8threads.cc",
+    "src/execution/v8threads.h",
     "src/execution/vm-state-inl.h",
     "src/execution/vm-state.h",
     "src/extensions/externalize-string-extension.cc",
@@ -2236,13 +2243,9 @@
     "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/flag-definitions.h",
-    "src/flags.cc",
-    "src/flags.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",
@@ -2250,8 +2253,6 @@
     "src/handles/handles.h",
     "src/handles/maybe-handles-inl.h",
     "src/handles/maybe-handles.h",
-    "src/hash-seed-inl.h",
-    "src/heap-symbols.h",
     "src/heap/array-buffer-collector.cc",
     "src/heap/array-buffer-collector.h",
     "src/heap/array-buffer-tracker-inl.h",
@@ -2341,6 +2342,7 @@
     "src/ic/stub-cache.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",
@@ -2348,6 +2350,8 @@
     "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",
@@ -2425,13 +2429,14 @@
     "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-body-descriptors-inl.h",
-    "src/objects-body-descriptors.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",
@@ -2579,6 +2584,8 @@
     "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",
@@ -2638,6 +2645,12 @@
     "src/objects/transitions-inl.h",
     "src/objects/transitions.cc",
     "src/objects/transitions.h",
+    "src/objects/type-hints.cc",
+    "src/objects/type-hints.h",
+    "src/objects/value-serializer.cc",
+    "src/objects/value-serializer.h",
+    "src/objects/visitors.cc",
+    "src/objects/visitors.h",
     "src/parsing/expression-scope-reparenter.cc",
     "src/parsing/expression-scope-reparenter.h",
     "src/parsing/expression-scope.h",
@@ -2652,6 +2665,8 @@
     "src/parsing/parser.h",
     "src/parsing/parsing.cc",
     "src/parsing/parsing.h",
+    "src/parsing/pending-compilation-error-handler.cc",
+    "src/parsing/pending-compilation-error-handler.h",
     "src/parsing/preparse-data-impl.h",
     "src/parsing/preparse-data.cc",
     "src/parsing/preparse-data.h",
@@ -2666,8 +2681,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/profiler/allocation-tracker.cc",
     "src/profiler/allocation-tracker.h",
     "src/profiler/circular-queue-inl.h",
@@ -2693,8 +2706,6 @@
     "src/profiler/tick-sample.h",
     "src/profiler/tracing-cpu-profiler.cc",
     "src/profiler/tracing-cpu-profiler.h",
-    "src/ptr-compr-inl.h",
-    "src/ptr-compr.h",
     "src/regexp/bytecodes-irregexp.h",
     "src/regexp/interpreter-irregexp.cc",
     "src/regexp/interpreter-irregexp.h",
@@ -2718,9 +2729,9 @@
     "src/regexp/regexp-stack.h",
     "src/regexp/regexp-utils.cc",
     "src/regexp/regexp-utils.h",
-    "src/roots-inl.h",
-    "src/roots.cc",
-    "src/roots.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",
@@ -2815,8 +2826,10 @@
     "src/strings/unicode.h",
     "src/strings/uri.cc",
     "src/strings/uri.h",
-    "src/task-utils.cc",
-    "src/task-utils.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",
@@ -2831,8 +2844,6 @@
     "src/trap-handler/handler-shared.cc",
     "src/trap-handler/trap-handler-internal.h",
     "src/trap-handler/trap-handler.h",
-    "src/type-hints.cc",
-    "src/type-hints.h",
     "src/utils/address-map.cc",
     "src/utils/address-map.h",
     "src/utils/allocation.cc",
@@ -2859,17 +2870,6 @@
     "src/utils/vector.h",
     "src/utils/version.cc",
     "src/utils/version.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/visitors.cc",
-    "src/visitors.h",
     "src/wasm/baseline/liftoff-assembler-defs.h",
     "src/wasm/baseline/liftoff-assembler.cc",
     "src/wasm/baseline/liftoff-assembler.h",
@@ -3986,7 +3986,7 @@
 if (is_component_build) {
   v8_component("v8") {
     sources = [
-      "src/v8dll-main.cc",
+      "src/utils/v8dll-main.cc",
     ]
 
     public_deps = [
@@ -4003,7 +4003,7 @@
     testonly = true
 
     sources = [
-      "src/v8dll-main.cc",
+      "src/utils/v8dll-main.cc",
     ]
 
     public_deps = [
diff --git a/WATCHLISTS b/WATCHLISTS
index 271e2c2..fc4810a 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -50,7 +50,7 @@
                   '|test/unittests/interpreter/',
     },
     'feature_shipping_status': {
-      'filepath': 'src/flag-definitions.h',
+      'filepath': 'src/flags/flag-definitions.h',
     },
     'gc_changes': {
       'filepath': 'src/heap/',
diff --git a/src/api/api-arguments.h b/src/api/api-arguments.h
index 5f1c17b..bc2a674 100644
--- a/src/api/api-arguments.h
+++ b/src/api/api-arguments.h
@@ -9,7 +9,7 @@
 #include "src/debug/debug.h"
 #include "src/execution/isolate.h"
 #include "src/objects/slots.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/api/api.cc b/src/api/api.cc
index e6d23c4..6f2a8cd 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -15,7 +15,6 @@
 #include "include/v8-testing.h"
 #include "include/v8-util.h"
 #include "src/api/api-natives.h"
-#include "src/assert-scope.h"
 #include "src/base/functional.h"
 #include "src/base/logging.h"
 #include "src/base/platform/platform.h"
@@ -26,6 +25,8 @@
 #include "src/builtins/builtins-utils.h"
 #include "src/codegen/compiler.h"
 #include "src/codegen/cpu-features.h"
+#include "src/common/assert-scope.h"
+#include "src/common/globals.h"
 #include "src/compiler-dispatcher/compiler-dispatcher.h"
 #include "src/date/date.h"
 #include "src/debug/debug-coverage.h"
@@ -42,14 +43,15 @@
 #include "src/execution/microtask-queue.h"
 #include "src/execution/runtime-profiler.h"
 #include "src/execution/simulator.h"
+#include "src/execution/v8threads.h"
 #include "src/execution/vm-state-inl.h"
-#include "src/globals.h"
 #include "src/handles/global-handles.h"
 #include "src/heap/embedder-tracing.h"
 #include "src/heap/heap-inl.h"
 #include "src/init/bootstrapper.h"
 #include "src/init/icu_util.h"
 #include "src/init/startup-data-util.h"
+#include "src/init/v8.h"
 #include "src/json/json-parser.h"
 #include "src/json/json-stringifier.h"
 #include "src/logging/counters.h"
@@ -78,10 +80,11 @@
 #include "src/objects/smi.h"
 #include "src/objects/stack-frame-info-inl.h"
 #include "src/objects/templates.h"
+#include "src/objects/value-serializer.h"
 #include "src/parsing/parse-info.h"
 #include "src/parsing/parser.h"
+#include "src/parsing/pending-compilation-error-handler.h"
 #include "src/parsing/scanner-character-streams.h"
-#include "src/pending-compilation-error-handler.h"
 #include "src/profiler/cpu-profiler.h"
 #include "src/profiler/heap-profiler.h"
 #include "src/profiler/heap-snapshot-generator-inl.h"
@@ -101,9 +104,6 @@
 #include "src/trap-handler/trap-handler.h"
 #include "src/utils/detachable-vector.h"
 #include "src/utils/version.h"
-#include "src/v8.h"
-#include "src/v8threads.h"
-#include "src/value-serializer.h"
 #include "src/wasm/streaming-decoder.h"
 #include "src/wasm/wasm-engine.h"
 #include "src/wasm/wasm-objects-inl.h"
diff --git a/src/arm/constants-arm.h b/src/arm/constants-arm.h
index 1b0bdad..7d38bf9 100644
--- a/src/arm/constants-arm.h
+++ b/src/arm/constants-arm.h
@@ -9,7 +9,7 @@
 
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/boxed-float.h"
 #include "src/utils/utils.h"
 
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
index a2e5af0..871309d 100644
--- a/src/arm/macro-assembler-arm.cc
+++ b/src/arm/macro-assembler-arm.cc
@@ -12,11 +12,11 @@
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h
index 43a2c82..ec49e76 100644
--- a/src/arm/macro-assembler-arm.h
+++ b/src/arm/macro-assembler-arm.h
@@ -11,7 +11,7 @@
 
 #include "src/arm/assembler-arm.h"
 #include "src/codegen/bailout-reason.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/contexts.h"
 
 namespace v8 {
diff --git a/src/arm/simulator-arm.h b/src/arm/simulator-arm.h
index 563c1d0..861ecb6 100644
--- a/src/arm/simulator-arm.h
+++ b/src/arm/simulator-arm.h
@@ -13,7 +13,7 @@
 #define V8_ARM_SIMULATOR_ARM_H_
 
 // globals.h defines USE_SIMULATOR.
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(USE_SIMULATOR)
 // Running with a simulator.
diff --git a/src/arm64/assembler-arm64.h b/src/arm64/assembler-arm64.h
index 019295a..e5f54d1 100644
--- a/src/arm64/assembler-arm64.h
+++ b/src/arm64/assembler-arm64.h
@@ -16,7 +16,7 @@
 #include "src/base/optional.h"
 #include "src/codegen/assembler.h"
 #include "src/codegen/constant-pool.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 // Windows arm64 SDK defines mvn to NEON intrinsic neon_not which will not
diff --git a/src/arm64/constants-arm64.h b/src/arm64/constants-arm64.h
index c93aad9..fcaf8b2 100644
--- a/src/arm64/constants-arm64.h
+++ b/src/arm64/constants-arm64.h
@@ -6,7 +6,7 @@
 #define V8_ARM64_CONSTANTS_ARM64_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 // Assert that this is an LP64 system, or LLP64 on Windows.
 STATIC_ASSERT(sizeof(int) == sizeof(int32_t));
diff --git a/src/arm64/decoder-arm64-inl.h b/src/arm64/decoder-arm64-inl.h
index f0c42a6..04a2b9e 100644
--- a/src/arm64/decoder-arm64-inl.h
+++ b/src/arm64/decoder-arm64-inl.h
@@ -6,7 +6,7 @@
 #define V8_ARM64_DECODER_ARM64_INL_H_
 
 #include "src/arm64/decoder-arm64.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/arm64/decoder-arm64.cc b/src/arm64/decoder-arm64.cc
index e116b32..f2a9c82 100644
--- a/src/arm64/decoder-arm64.cc
+++ b/src/arm64/decoder-arm64.cc
@@ -5,7 +5,7 @@
 #if V8_TARGET_ARCH_ARM64
 
 #include "src/arm64/decoder-arm64.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/arm64/decoder-arm64.h b/src/arm64/decoder-arm64.h
index 477a126..fd8be9e 100644
--- a/src/arm64/decoder-arm64.h
+++ b/src/arm64/decoder-arm64.h
@@ -8,7 +8,7 @@
 #include <list>
 
 #include "src/arm64/instructions-arm64.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/arm64/disasm-arm64.h b/src/arm64/disasm-arm64.h
index c51c8be..d2ecb20 100644
--- a/src/arm64/disasm-arm64.h
+++ b/src/arm64/disasm-arm64.h
@@ -8,7 +8,7 @@
 #include "src/arm64/assembler-arm64.h"
 #include "src/arm64/decoder-arm64.h"
 #include "src/arm64/instructions-arm64.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/arm64/frame-constants-arm64.h b/src/arm64/frame-constants-arm64.h
index f40c4c4..a6d0863 100644
--- a/src/arm64/frame-constants-arm64.h
+++ b/src/arm64/frame-constants-arm64.h
@@ -6,8 +6,8 @@
 #define V8_ARM64_FRAME_CONSTANTS_ARM64_H_
 
 #include "src/base/macros.h"
+#include "src/common/globals.h"
 #include "src/execution/frame-constants.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/arm64/instructions-arm64.h b/src/arm64/instructions-arm64.h
index 2f62fd1..8844a1b 100644
--- a/src/arm64/instructions-arm64.h
+++ b/src/arm64/instructions-arm64.h
@@ -8,7 +8,7 @@
 #include "src/arm64/constants-arm64.h"
 #include "src/arm64/register-arm64.h"
 #include "src/arm64/utils-arm64.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/arm64/instrument-arm64.h b/src/arm64/instrument-arm64.h
index da56a9b..37f7101 100644
--- a/src/arm64/instrument-arm64.h
+++ b/src/arm64/instrument-arm64.h
@@ -5,7 +5,7 @@
 #ifndef V8_ARM64_INSTRUMENT_ARM64_H_
 #define V8_ARM64_INSTRUMENT_ARM64_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 #include "src/arm64/constants-arm64.h"
diff --git a/src/arm64/macro-assembler-arm64-inl.h b/src/arm64/macro-assembler-arm64-inl.h
index bbf3234..f64a007 100644
--- a/src/arm64/macro-assembler-arm64-inl.h
+++ b/src/arm64/macro-assembler-arm64-inl.h
@@ -7,7 +7,7 @@
 
 #include <ctype.h>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #include "src/arm64/assembler-arm64-inl.h"
 #include "src/arm64/assembler-arm64.h"
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc
index c22a88d..620af12 100644
--- a/src/arm64/macro-assembler-arm64.cc
+++ b/src/arm64/macro-assembler-arm64.cc
@@ -9,12 +9,12 @@
 #include "src/codegen/assembler.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler-inl.h"
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug.h"
 #include "src/execution/frame-constants.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h
index d345475..6ea645a 100644
--- a/src/arm64/macro-assembler-arm64.h
+++ b/src/arm64/macro-assembler-arm64.h
@@ -14,7 +14,7 @@
 #include "src/arm64/assembler-arm64.h"
 #include "src/base/bits.h"
 #include "src/codegen/bailout-reason.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 // Simulator specific helpers.
 #if USE_SIMULATOR
diff --git a/src/arm64/register-arm64.h b/src/arm64/register-arm64.h
index 54b927c..96cd9db 100644
--- a/src/arm64/register-arm64.h
+++ b/src/arm64/register-arm64.h
@@ -8,7 +8,7 @@
 #include "src/arm64/utils-arm64.h"
 #include "src/codegen/register.h"
 #include "src/codegen/reglist.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/arm64/simulator-arm64.h b/src/arm64/simulator-arm64.h
index c89fd96..ca89640 100644
--- a/src/arm64/simulator-arm64.h
+++ b/src/arm64/simulator-arm64.h
@@ -6,7 +6,7 @@
 #define V8_ARM64_SIMULATOR_ARM64_H_
 
 // globals.h defines USE_SIMULATOR.
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(USE_SIMULATOR)
 
diff --git a/src/asmjs/asm-js.cc b/src/asmjs/asm-js.cc
index aabaca1..5a38eee 100644
--- a/src/asmjs/asm-js.cc
+++ b/src/asmjs/asm-js.cc
@@ -6,12 +6,12 @@
 
 #include "src/asmjs/asm-names.h"
 #include "src/asmjs/asm-parser.h"
-#include "src/assert-scope.h"
 #include "src/ast/ast.h"
 #include "src/base/optional.h"
 #include "src/base/platform/elapsed-timer.h"
 #include "src/codegen/compiler.h"
 #include "src/codegen/unoptimized-compilation-info.h"
+#include "src/common/assert-scope.h"
 #include "src/execution/execution.h"
 #include "src/execution/isolate.h"
 #include "src/execution/message-template.h"
diff --git a/src/asmjs/asm-js.h b/src/asmjs/asm-js.h
index 05707ca..46dd3f2 100644
--- a/src/asmjs/asm-js.h
+++ b/src/asmjs/asm-js.h
@@ -7,7 +7,7 @@
 
 // Clients of this interface shouldn't depend on lots of asmjs internals.
 // Do not include anything from src/asmjs here!
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/asmjs/asm-parser.cc b/src/asmjs/asm-parser.cc
index 5d6ace9..3d290a1 100644
--- a/src/asmjs/asm-parser.cc
+++ b/src/asmjs/asm-parser.cc
@@ -13,7 +13,7 @@
 #include "src/asmjs/asm-types.h"
 #include "src/base/optional.h"
 #include "src/base/overflowing-math.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/numbers/conversions-inl.h"
 #include "src/parsing/scanner.h"
 #include "src/wasm/wasm-limits.h"
diff --git a/src/asmjs/asm-scanner.cc b/src/asmjs/asm-scanner.cc
index 916d041..a9e9c2c 100644
--- a/src/asmjs/asm-scanner.cc
+++ b/src/asmjs/asm-scanner.cc
@@ -6,7 +6,7 @@
 
 #include <cinttypes>
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/numbers/conversions.h"
 #include "src/parsing/scanner.h"
 #include "src/strings/char-predicates-inl.h"
diff --git a/src/asmjs/asm-scanner.h b/src/asmjs/asm-scanner.h
index 1f38f0f..4fbb7e1 100644
--- a/src/asmjs/asm-scanner.h
+++ b/src/asmjs/asm-scanner.h
@@ -11,7 +11,7 @@
 
 #include "src/asmjs/asm-names.h"
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/asmjs/asm-types.cc b/src/asmjs/asm-types.cc
index 41e51bb..1fc12df 100644
--- a/src/asmjs/asm-types.cc
+++ b/src/asmjs/asm-types.cc
@@ -6,8 +6,8 @@
 
 #include <cinttypes>
 
+#include "src/init/v8.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/asmjs/asm-types.h b/src/asmjs/asm-types.h
index fb044a9..90ddede 100644
--- a/src/asmjs/asm-types.h
+++ b/src/asmjs/asm-types.h
@@ -9,7 +9,7 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone-containers.h"
 #include "src/zone/zone.h"
 
diff --git a/src/ast/ast-value-factory.h b/src/ast/ast-value-factory.h
index 70a4b59..bc732ce 100644
--- a/src/ast/ast-value-factory.h
+++ b/src/ast/ast-value-factory.h
@@ -31,8 +31,8 @@
 #include <forward_list>
 
 #include "src/base/hashmap.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/heap/factory.h"
 #include "src/numbers/conversions.h"
 
diff --git a/src/ast/ast.h b/src/ast/ast.h
index f081686..36dc3d6 100644
--- a/src/ast/ast.h
+++ b/src/ast/ast.h
@@ -13,8 +13,8 @@
 #include "src/base/threaded-list.h"
 #include "src/codegen/bailout-reason.h"
 #include "src/codegen/label.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/heap/factory.h"
 #include "src/objects/literal-objects.h"
 #include "src/objects/smi.h"
diff --git a/src/ast/modules.cc b/src/ast/modules.cc
index edad659..5e9bbc6 100644
--- a/src/ast/modules.cc
+++ b/src/ast/modules.cc
@@ -7,7 +7,7 @@
 #include "src/ast/scopes.h"
 #include "src/objects/module-inl.h"
 #include "src/objects/objects-inl.h"
-#include "src/pending-compilation-error-handler.h"
+#include "src/parsing/pending-compilation-error-handler.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/ast/prettyprinter.cc b/src/ast/prettyprinter.cc
index 5755c0c..eca091d 100644
--- a/src/ast/prettyprinter.cc
+++ b/src/ast/prettyprinter.cc
@@ -9,7 +9,7 @@
 #include "src/ast/ast-value-factory.h"
 #include "src/ast/scopes.h"
 #include "src/base/platform/platform.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/objects-inl.h"
 #include "src/strings/string-builder-inl.h"
 #include "src/utils/vector.h"
diff --git a/src/ast/scopes.h b/src/ast/scopes.h
index aa5a51f..295d241 100644
--- a/src/ast/scopes.h
+++ b/src/ast/scopes.h
@@ -9,10 +9,10 @@
 #include "src/base/compiler-specific.h"
 #include "src/base/hashmap.h"
 #include "src/base/threaded-list.h"
-#include "src/globals.h"
-#include "src/utils/pointer-with-payload.h"
+#include "src/common/globals.h"
 #include "src/objects/function-kind.h"
 #include "src/objects/objects.h"
+#include "src/utils/pointer-with-payload.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
diff --git a/src/ast/variables.cc b/src/ast/variables.cc
index 14796b1..26f037e 100644
--- a/src/ast/variables.cc
+++ b/src/ast/variables.cc
@@ -5,7 +5,7 @@
 #include "src/ast/variables.h"
 
 #include "src/ast/scopes.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/objects-inl.h"
 
 namespace v8 {
diff --git a/src/ast/variables.h b/src/ast/variables.h
index 6dbb9db..9b8b7ec 100644
--- a/src/ast/variables.h
+++ b/src/ast/variables.h
@@ -7,7 +7,7 @@
 
 #include "src/ast/ast-value-factory.h"
 #include "src/base/threaded-list.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
diff --git a/src/builtins/accessors.h b/src/builtins/accessors.h
index 9ad1fb5..953e136 100644
--- a/src/builtins/accessors.h
+++ b/src/builtins/accessors.h
@@ -6,7 +6,7 @@
 #define V8_BUILTINS_ACCESSORS_H_
 
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/property-details.h"
 #include "src/utils/allocation.h"
 
diff --git a/src/builtins/builtins-api.cc b/src/builtins/builtins-api.cc
index ce0a5f4..7ee879a 100644
--- a/src/builtins/builtins-api.cc
+++ b/src/builtins/builtins-api.cc
@@ -11,7 +11,7 @@
 #include "src/objects/objects-inl.h"
 #include "src/objects/prototype.h"
 #include "src/objects/templates.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/builtins/builtins-call-gen.cc b/src/builtins/builtins-call-gen.cc
index 37a6368..05142a8 100644
--- a/src/builtins/builtins-call-gen.cc
+++ b/src/builtins/builtins-call-gen.cc
@@ -7,8 +7,8 @@
 #include "src/builtins/builtins-utils-gen.h"
 #include "src/builtins/builtins.h"
 #include "src/codegen/macro-assembler.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/objects/api-callbacks.h"
 #include "src/objects/arguments.h"
 #include "src/objects/property-cell.h"
diff --git a/src/builtins/builtins-interpreter-gen.cc b/src/builtins/builtins-interpreter-gen.cc
index 7a3e90f..d01fbe9 100644
--- a/src/builtins/builtins-interpreter-gen.cc
+++ b/src/builtins/builtins-interpreter-gen.cc
@@ -4,7 +4,7 @@
 
 #include "src/builtins/builtins.h"
 #include "src/codegen/macro-assembler.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/builtins/builtins-lazy-gen.cc b/src/builtins/builtins-lazy-gen.cc
index 2aa3a9b..c73cbee 100644
--- a/src/builtins/builtins-lazy-gen.cc
+++ b/src/builtins/builtins-lazy-gen.cc
@@ -6,7 +6,7 @@
 
 #include "src/builtins/builtins-utils-gen.h"
 #include "src/builtins/builtins.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/feedback-vector.h"
 #include "src/objects/shared-function-info.h"
 
diff --git a/src/builtins/builtins-sharedarraybuffer.cc b/src/builtins/builtins-sharedarraybuffer.cc
index 26a6526..fa6534d 100644
--- a/src/builtins/builtins-sharedarraybuffer.cc
+++ b/src/builtins/builtins-sharedarraybuffer.cc
@@ -8,8 +8,8 @@
 #include "src/builtins/builtins-utils-inl.h"
 #include "src/builtins/builtins.h"
 #include "src/codegen/code-factory.h"
+#include "src/common/globals.h"
 #include "src/execution/futex-emulation.h"
-#include "src/globals.h"
 #include "src/heap/factory.h"
 #include "src/logging/counters.h"
 #include "src/numbers/conversions-inl.h"
diff --git a/src/builtins/builtins.cc b/src/builtins/builtins.cc
index 8acd3ce..5e55eb5 100644
--- a/src/builtins/builtins.cc
+++ b/src/builtins/builtins.cc
@@ -16,9 +16,9 @@
 #include "src/logging/log.h"          // For Logger.
 #include "src/objects/fixed-array.h"
 #include "src/objects/objects-inl.h"
+#include "src/objects/visitors.h"
 #include "src/snapshot/embedded-data.h"
 #include "src/utils/ostreams.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/builtins/builtins.h b/src/builtins/builtins.h
index 15edb4a..f885c6f 100644
--- a/src/builtins/builtins.h
+++ b/src/builtins/builtins.h
@@ -7,7 +7,7 @@
 
 #include "src/base/flags.h"
 #include "src/builtins/builtins-definitions.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/builtins/constants-table-builder.cc b/src/builtins/constants-table-builder.cc
index f512650..94e8dc0 100644
--- a/src/builtins/constants-table-builder.cc
+++ b/src/builtins/constants-table-builder.cc
@@ -7,7 +7,7 @@
 #include "src/execution/isolate.h"
 #include "src/heap/heap-inl.h"
 #include "src/objects/oddball-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/assembler.h b/src/codegen/assembler.h
index 4dd4513..85e4dc3 100644
--- a/src/codegen/assembler.h
+++ b/src/codegen/assembler.h
@@ -39,12 +39,12 @@
 
 #include "src/codegen/code-comments.h"
 #include "src/codegen/cpu-features.h"
+#include "src/codegen/external-reference.h"
 #include "src/codegen/reglist.h"
 #include "src/codegen/reloc-info.h"
+#include "src/common/globals.h"
 #include "src/deoptimizer/deoptimize-reason.h"
-#include "src/external-reference.h"
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles.h"
 #include "src/objects/objects.h"
 
diff --git a/src/codegen/code-desc.h b/src/codegen/code-desc.h
index 8687d2a..9a2ee2d 100644
--- a/src/codegen/code-desc.h
+++ b/src/codegen/code-desc.h
@@ -5,7 +5,7 @@
 #ifndef V8_CODEGEN_CODE_DESC_H_
 #define V8_CODEGEN_CODE_DESC_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/code-factory.h b/src/codegen/code-factory.h
index 96ce91e..57484e8 100644
--- a/src/codegen/code-factory.h
+++ b/src/codegen/code-factory.h
@@ -7,8 +7,8 @@
 
 #include "src/codegen/callable.h"
 #include "src/codegen/interface-descriptors.h"
-#include "src/globals.h"
-#include "src/type-hints.h"
+#include "src/common/globals.h"
+#include "src/objects/type-hints.h"
 #include "src/utils/allocation.h"
 
 namespace v8 {
diff --git a/src/codegen/code-reference.cc b/src/codegen/code-reference.cc
index ac53e65..63c8d37 100644
--- a/src/codegen/code-reference.cc
+++ b/src/codegen/code-reference.cc
@@ -5,7 +5,7 @@
 #include "src/codegen/code-reference.h"
 
 #include "src/codegen/code-desc.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/wasm/wasm-code-manager.h"
diff --git a/src/codegen/code-stub-assembler.h b/src/codegen/code-stub-assembler.h
index 733b823..5f6c55f 100644
--- a/src/codegen/code-stub-assembler.h
+++ b/src/codegen/code-stub-assembler.h
@@ -9,16 +9,16 @@
 
 #include "src/base/macros.h"
 #include "src/codegen/bailout-reason.h"
+#include "src/common/globals.h"
 #include "src/compiler/code-assembler.h"
 #include "src/execution/frames.h"
 #include "src/execution/message-template.h"
-#include "src/globals.h"
 #include "src/objects/arguments.h"
 #include "src/objects/bigint.h"
 #include "src/objects/objects.h"
 #include "src/objects/shared-function-info.h"
 #include "src/objects/smi.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 #include "torque-generated/builtins-base-gen-tq.h"
 
diff --git a/src/codegen/compilation-cache.cc b/src/codegen/compilation-cache.cc
index 6a7ee29..6e96130 100644
--- a/src/codegen/compilation-cache.cc
+++ b/src/codegen/compilation-cache.cc
@@ -4,14 +4,14 @@
 
 #include "src/codegen/compilation-cache.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/factory.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
 #include "src/objects/compilation-cache-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/slots.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/compiler.cc b/src/codegen/compiler.cc
index f8ca666..5197dd3 100644
--- a/src/codegen/compiler.cc
+++ b/src/codegen/compiler.cc
@@ -16,6 +16,7 @@
 #include "src/codegen/compilation-cache.h"
 #include "src/codegen/optimized-compilation-info.h"
 #include "src/codegen/unoptimized-compilation-info.h"
+#include "src/common/globals.h"
 #include "src/compiler-dispatcher/compiler-dispatcher.h"
 #include "src/compiler-dispatcher/optimizing-compile-dispatcher.h"
 #include "src/compiler/pipeline.h"
@@ -26,7 +27,6 @@
 #include "src/execution/message-template.h"
 #include "src/execution/runtime-profiler.h"
 #include "src/execution/vm-state-inl.h"
-#include "src/globals.h"
 #include "src/heap/heap-inl.h"
 #include "src/init/bootstrapper.h"
 #include "src/interpreter/interpreter.h"
diff --git a/src/codegen/constant-pool.h b/src/codegen/constant-pool.h
index bf5e80c..4399f6f 100644
--- a/src/codegen/constant-pool.h
+++ b/src/codegen/constant-pool.h
@@ -9,7 +9,7 @@
 
 #include "src/codegen/label.h"
 #include "src/codegen/reloc-info.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/numbers/double.h"
 
 namespace v8 {
diff --git a/src/codegen/cpu-features.h b/src/codegen/cpu-features.h
index a1cab7c..b2f792e 100644
--- a/src/codegen/cpu-features.h
+++ b/src/codegen/cpu-features.h
@@ -5,7 +5,7 @@
 #ifndef V8_CODEGEN_CPU_FEATURES_H_
 #define V8_CODEGEN_CPU_FEATURES_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 
diff --git a/src/external-reference-table.cc b/src/codegen/external-reference-table.cc
similarity index 98%
rename from src/external-reference-table.cc
rename to src/codegen/external-reference-table.cc
index 8202c8d..b43f1a2 100644
--- a/src/external-reference-table.cc
+++ b/src/codegen/external-reference-table.cc
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/external-reference-table.h"
+#include "src/codegen/external-reference-table.h"
 
 #include "src/builtins/accessors.h"
-#include "src/external-reference.h"
+#include "src/codegen/external-reference.h"
 #include "src/ic/stub-cache.h"
 #include "src/logging/counters.h"
 
diff --git a/src/external-reference-table.h b/src/codegen/external-reference-table.h
similarity index 94%
rename from src/external-reference-table.h
rename to src/codegen/external-reference-table.h
index 5db9b0f..798859b 100644
--- a/src/external-reference-table.h
+++ b/src/codegen/external-reference-table.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_EXTERNAL_REFERENCE_TABLE_H_
-#define V8_EXTERNAL_REFERENCE_TABLE_H_
+#ifndef V8_CODEGEN_EXTERNAL_REFERENCE_TABLE_H_
+#define V8_CODEGEN_EXTERNAL_REFERENCE_TABLE_H_
 
 #include <vector>
 
 #include "src/builtins/accessors.h"
 #include "src/builtins/builtins.h"
-#include "src/external-reference.h"
+#include "src/codegen/external-reference.h"
 #include "src/logging/counters-definitions.h"
 
 namespace v8 {
@@ -108,4 +108,4 @@
 
 }  // namespace internal
 }  // namespace v8
-#endif  // V8_EXTERNAL_REFERENCE_TABLE_H_
+#endif  // V8_CODEGEN_EXTERNAL_REFERENCE_TABLE_H_
diff --git a/src/external-reference.cc b/src/codegen/external-reference.cc
similarity index 99%
rename from src/external-reference.cc
rename to src/codegen/external-reference.cc
index 331c8b3..d0c894d 100644
--- a/src/external-reference.cc
+++ b/src/codegen/external-reference.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/external-reference.h"
+#include "src/codegen/external-reference.h"
 
 #include "src/api/api.h"
 #include "src/base/ieee754.h"
@@ -11,9 +11,9 @@
 #include "src/date/date.h"
 #include "src/debug/debug.h"
 #include "src/deoptimizer/deoptimizer.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap.h"
 #include "src/logging/counters.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/elements.h"
 #include "src/objects/ordered-hash-table.h"
 // For IncrementalMarking::RecordWriteFromCode. TODO(jkummerow): Drop.
@@ -497,7 +497,7 @@
 #elif V8_TARGET_ARCH_S390
 #define re_stack_check_func RegExpMacroAssemblerS390::CheckStackGuardState
 #else
-  UNREACHABLE();
+UNREACHABLE();
 #endif
 
 FUNCTION_REFERENCE_WITH_ISOLATE(re_check_stack_guard_state, re_stack_check_func)
diff --git a/src/external-reference.h b/src/codegen/external-reference.h
similarity index 98%
rename from src/external-reference.h
rename to src/codegen/external-reference.h
index 4a783d5..0eecfb1 100644
--- a/src/external-reference.h
+++ b/src/codegen/external-reference.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_EXTERNAL_REFERENCE_H_
-#define V8_EXTERNAL_REFERENCE_H_
+#ifndef V8_CODEGEN_EXTERNAL_REFERENCE_H_
+#define V8_CODEGEN_EXTERNAL_REFERENCE_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/runtime/runtime.h"
 
 namespace v8 {
@@ -328,4 +328,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_EXTERNAL_REFERENCE_H_
+#endif  // V8_CODEGEN_EXTERNAL_REFERENCE_H_
diff --git a/src/codegen/handler-table.h b/src/codegen/handler-table.h
index 7385734..eaa0628 100644
--- a/src/codegen/handler-table.h
+++ b/src/codegen/handler-table.h
@@ -5,8 +5,8 @@
 #ifndef V8_CODEGEN_HANDLER_TABLE_H_
 #define V8_CODEGEN_HANDLER_TABLE_H_
 
-#include "src/assert-scope.h"
-#include "src/globals.h"
+#include "src/common/assert-scope.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/codegen/interface-descriptors.h b/src/codegen/interface-descriptors.h
index 882a485..801a098 100644
--- a/src/codegen/interface-descriptors.h
+++ b/src/codegen/interface-descriptors.h
@@ -9,8 +9,8 @@
 
 #include "src/codegen/machine-type.h"
 #include "src/codegen/register-arch.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/machine-type.h b/src/codegen/machine-type.h
index 98fb744..15e3df6 100644
--- a/src/codegen/machine-type.h
+++ b/src/codegen/machine-type.h
@@ -8,7 +8,7 @@
 #include <iosfwd>
 
 #include "src/base/bits.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/optimized-compilation-info.h b/src/codegen/optimized-compilation-info.h
index bdf71f2..34f2bde 100644
--- a/src/codegen/optimized-compilation-info.h
+++ b/src/codegen/optimized-compilation-info.h
@@ -9,12 +9,12 @@
 
 #include "src/codegen/bailout-reason.h"
 #include "src/codegen/source-position-table.h"
+#include "src/common/globals.h"
 #include "src/execution/frames.h"
-#include "src/globals.h"
-#include "src/utils/utils.h"
-#include "src/utils/vector.h"
 #include "src/handles/handles.h"
 #include "src/objects/objects.h"
+#include "src/utils/utils.h"
+#include "src/utils/vector.h"
 
 namespace v8 {
 
diff --git a/src/codegen/register-configuration.cc b/src/codegen/register-configuration.cc
index 04f9d0d..c8f768e 100644
--- a/src/codegen/register-configuration.cc
+++ b/src/codegen/register-configuration.cc
@@ -6,7 +6,7 @@
 #include "src/base/lazy-instance.h"
 #include "src/codegen/cpu-features.h"
 #include "src/codegen/register-arch.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/register-configuration.h b/src/codegen/register-configuration.h
index a5ad4c9..0521599 100644
--- a/src/codegen/register-configuration.h
+++ b/src/codegen/register-configuration.h
@@ -8,7 +8,7 @@
 #include "src/base/macros.h"
 #include "src/codegen/machine-type.h"
 #include "src/codegen/reglist.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/codegen/reloc-info.h b/src/codegen/reloc-info.h
index eb6c391..6e72e84 100644
--- a/src/codegen/reloc-info.h
+++ b/src/codegen/reloc-info.h
@@ -6,7 +6,7 @@
 #define V8_CODEGEN_RELOC_INFO_H_
 
 #include "src/codegen/flush-instruction-cache.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/code.h"
 
 namespace v8 {
diff --git a/src/codegen/safepoint-table.h b/src/codegen/safepoint-table.h
index d960332..066f012 100644
--- a/src/codegen/safepoint-table.h
+++ b/src/codegen/safepoint-table.h
@@ -5,10 +5,10 @@
 #ifndef V8_CODEGEN_SAFEPOINT_TABLE_H_
 #define V8_CODEGEN_SAFEPOINT_TABLE_H_
 
-#include "src/assert-scope.h"
+#include "src/common/assert-scope.h"
+#include "src/common/v8memory.h"
 #include "src/utils/allocation.h"
 #include "src/utils/utils.h"
-#include "src/v8memory.h"
 #include "src/zone/zone-chunk-list.h"
 #include "src/zone/zone.h"
 
diff --git a/src/codegen/source-position-table.h b/src/codegen/source-position-table.h
index 17019d2..e4e506a 100644
--- a/src/codegen/source-position-table.h
+++ b/src/codegen/source-position-table.h
@@ -5,10 +5,10 @@
 #ifndef V8_CODEGEN_SOURCE_POSITION_TABLE_H_
 #define V8_CODEGEN_SOURCE_POSITION_TABLE_H_
 
-#include "src/assert-scope.h"
-#include "src/checks.h"
 #include "src/codegen/source-position.h"
-#include "src/globals.h"
+#include "src/common/assert-scope.h"
+#include "src/common/checks.h"
+#include "src/common/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/codegen/source-position.h b/src/codegen/source-position.h
index e44f796..072eb92 100644
--- a/src/codegen/source-position.h
+++ b/src/codegen/source-position.h
@@ -7,10 +7,10 @@
 
 #include <ostream>
 
-#include "src/flags.h"
-#include "src/globals.h"
-#include "src/utils/utils.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles.h"
+#include "src/utils/utils.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/turbo-assembler.h b/src/codegen/turbo-assembler.h
index 99bff7f..cbfd7f2 100644
--- a/src/codegen/turbo-assembler.h
+++ b/src/codegen/turbo-assembler.h
@@ -8,7 +8,7 @@
 #include "src/base/template-utils.h"
 #include "src/builtins/builtins.h"
 #include "src/codegen/assembler-arch.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/codegen/unoptimized-compilation-info.h b/src/codegen/unoptimized-compilation-info.h
index fab6896..fe8dbe6 100644
--- a/src/codegen/unoptimized-compilation-info.h
+++ b/src/codegen/unoptimized-compilation-info.h
@@ -8,11 +8,11 @@
 #include <memory>
 
 #include "src/codegen/source-position-table.h"
-#include "src/globals.h"
-#include "src/utils/utils.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/objects/feedback-vector.h"
 #include "src/objects/objects.h"
+#include "src/utils/utils.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/assert-scope.cc b/src/common/assert-scope.cc
similarity index 98%
rename from src/assert-scope.cc
rename to src/common/assert-scope.cc
index f28a452..5a299fa 100644
--- a/src/assert-scope.cc
+++ b/src/common/assert-scope.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/assert-scope.h"
+#include "src/common/assert-scope.h"
 
 #include "src/base/lazy-instance.h"
 #include "src/base/platform/platform.h"
@@ -20,7 +20,6 @@
 
 }  // namespace
 
-
 class PerThreadAssertData final {
  public:
   PerThreadAssertData() : nesting_level_(0) {
@@ -97,7 +96,6 @@
 class PerIsolateAssertScope<kType, kAllow>::DataBit
     : public BitField<bool, kType, 1> {};
 
-
 template <PerIsolateAssertType kType, bool kAllow>
 PerIsolateAssertScope<kType, kAllow>::PerIsolateAssertScope(Isolate* isolate)
     : isolate_(isolate), old_data_(isolate->per_isolate_assert_data()) {
@@ -106,20 +104,17 @@
   isolate_->set_per_isolate_assert_data(DataBit::update(old_data_, kAllow));
 }
 
-
 template <PerIsolateAssertType kType, bool kAllow>
 PerIsolateAssertScope<kType, kAllow>::~PerIsolateAssertScope() {
   isolate_->set_per_isolate_assert_data(old_data_);
 }
 
-
 // static
 template <PerIsolateAssertType kType, bool kAllow>
 bool PerIsolateAssertScope<kType, kAllow>::IsAllowed(Isolate* isolate) {
   return DataBit::decode(isolate->per_isolate_assert_data());
 }
 
-
 // -----------------------------------------------------------------------------
 // Instantiations.
 
diff --git a/src/assert-scope.h b/src/common/assert-scope.h
similarity index 95%
rename from src/assert-scope.h
rename to src/common/assert-scope.h
index c4c6158..ac2f2c8 100644
--- a/src/assert-scope.h
+++ b/src/common/assert-scope.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_ASSERT_SCOPE_H_
-#define V8_ASSERT_SCOPE_H_
+#ifndef V8_COMMON_ASSERT_SCOPE_H_
+#define V8_COMMON_ASSERT_SCOPE_H_
 
 #include <stdint.h>
 
 #include "src/base/macros.h"
 #include "src/base/optional.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/pointer-with-payload.h"
 
 namespace v8 {
@@ -72,7 +72,6 @@
   DISALLOW_COPY_AND_ASSIGN(PerThreadAssertScope);
 };
 
-
 template <PerIsolateAssertType type, bool allow>
 class PerIsolateAssertScope {
  public:
@@ -90,11 +89,9 @@
   DISALLOW_COPY_AND_ASSIGN(PerIsolateAssertScope);
 };
 
-
 template <PerThreadAssertType type, bool allow>
 #ifdef DEBUG
-class PerThreadAssertScopeDebugOnly : public
-    PerThreadAssertScope<type, allow> {
+class PerThreadAssertScopeDebugOnly : public PerThreadAssertScope<type, allow> {
 #else
 class PerThreadAssertScopeDebugOnly {
  public:
@@ -105,18 +102,17 @@
 #endif
 };
 
-
 template <PerIsolateAssertType type, bool allow>
 #ifdef DEBUG
-class PerIsolateAssertScopeDebugOnly : public
-    PerIsolateAssertScope<type, allow> {
+class PerIsolateAssertScopeDebugOnly
+    : public PerIsolateAssertScope<type, allow> {
  public:
   explicit PerIsolateAssertScopeDebugOnly(Isolate* isolate)
-      : PerIsolateAssertScope<type, allow>(isolate) { }
+      : PerIsolateAssertScope<type, allow>(isolate) {}
 #else
 class PerIsolateAssertScopeDebugOnly {
  public:
-  explicit PerIsolateAssertScopeDebugOnly(Isolate* isolate) { }
+  explicit PerIsolateAssertScopeDebugOnly(Isolate* isolate) {}
 #endif
 };
 
@@ -273,4 +269,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_ASSERT_SCOPE_H_
+#endif  // V8_COMMON_ASSERT_SCOPE_H_
diff --git a/src/checks.h b/src/common/checks.h
similarity index 82%
rename from src/checks.h
rename to src/common/checks.h
index 4a0afa4..ef9eb27 100644
--- a/src/checks.h
+++ b/src/common/checks.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_CHECKS_H_
-#define V8_CHECKS_H_
+#ifndef V8_COMMON_CHECKS_H_
+#define V8_COMMON_CHECKS_H_
 
 #include "include/v8-internal.h"
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 
@@ -20,7 +20,7 @@
   CHECK(!v8::internal::FLAG_enable_slow_asserts || (condition))
 V8_EXPORT_PRIVATE extern bool FLAG_enable_slow_asserts;
 #else
-#define SLOW_DCHECK(condition) ((void) 0)
+#define SLOW_DCHECK(condition) ((void)0)
 static const bool FLAG_enable_slow_asserts = false;
 #endif
 
@@ -33,4 +33,4 @@
 #define DCHECK_SIZE_TAG_ALIGNED(size) \
   DCHECK((size & ::v8::internal::kHeapObjectTagMask) == 0)
 
-#endif  // V8_CHECKS_H_
+#endif  // V8_COMMON_CHECKS_H_
diff --git a/src/globals.h b/src/common/globals.h
similarity index 98%
rename from src/globals.h
rename to src/common/globals.h
index 229123a..eef0ff1 100644
--- a/src/globals.h
+++ b/src/common/globals.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_GLOBALS_H_
-#define V8_GLOBALS_H_
+#ifndef V8_COMMON_GLOBALS_H_
+#define V8_COMMON_GLOBALS_H_
 
 #include <stddef.h>
 #include <stdint.h>
@@ -25,7 +25,7 @@
 namespace base {
 class Mutex;
 class RecursiveMutex;
-}
+}  // namespace base
 
 namespace internal {
 
@@ -339,13 +339,12 @@
   return reinterpret_cast<F>(addr);
 }
 
-
 // Determine whether the architecture uses function descriptors
 // which provide a level of indirection between the function pointer
 // and the function entrypoint.
-#if V8_HOST_ARCH_PPC && \
+#if V8_HOST_ARCH_PPC &&                                            \
     (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN && \
-    (!defined(_CALL_ELF) || _CALL_ELF == 1)))
+                   (!defined(_CALL_ELF) || _CALL_ELF == 1)))
 #define USES_FUNCTION_DESCRIPTORS 1
 #define FUNCTION_ENTRYPOINT_ADDRESS(f)       \
   (reinterpret_cast<v8::internal::Address*>( \
@@ -354,7 +353,6 @@
 #define USES_FUNCTION_DESCRIPTORS 0
 #endif
 
-
 // -----------------------------------------------------------------------------
 // Declarations for use in both the preparser and the rest of V8.
 
@@ -602,7 +600,8 @@
 class FreeStoreAllocationPolicy;
 class FunctionTemplateInfo;
 class GlobalDictionary;
-template <typename T> class Handle;
+template <typename T>
+class Handle;
 class Heap;
 class HeapObject;
 class HeapObjectReference;
@@ -798,11 +797,7 @@
 };
 
 // Flag indicating whether code is built into the VM (one of the natives files).
-enum NativesFlag {
-  NOT_NATIVES_CODE,
-  EXTENSION_CODE,
-  INSPECTOR_CODE
-};
+enum NativesFlag { NOT_NATIVES_CODE, EXTENSION_CODE, INSPECTOR_CODE };
 
 // ParseRestriction is used to restrict the set of valid statements in a
 // unit of compilation.  Restriction violations cause a syntax error.
@@ -870,9 +865,7 @@
   kStoreBufferScanningPageEvent
 } StoreBufferEvent;
 
-
-typedef void (*StoreBufferCallback)(Heap* heap,
-                                    MemoryChunk* page,
+typedef void (*StoreBufferCallback)(Heap* heap, MemoryChunk* page,
                                     StoreBufferEvent event);
 
 // Union used for customized checking of the IEEE double types
@@ -881,21 +874,20 @@
 union IeeeDoubleLittleEndianArchType {
   double d;
   struct {
-    unsigned int man_low  :32;
-    unsigned int man_high :20;
-    unsigned int exp      :11;
-    unsigned int sign     :1;
+    unsigned int man_low : 32;
+    unsigned int man_high : 20;
+    unsigned int exp : 11;
+    unsigned int sign : 1;
   } bits;
 };
 
-
 union IeeeDoubleBigEndianArchType {
   double d;
   struct {
-    unsigned int sign     :1;
-    unsigned int exp      :11;
-    unsigned int man_high :20;
-    unsigned int man_low  :32;
+    unsigned int sign : 1;
+    unsigned int exp : 11;
+    unsigned int man_high : 20;
+    unsigned int man_low : 32;
   } bits;
 };
 
@@ -1203,7 +1195,6 @@
 
 enum ParseErrorType { kSyntaxError = 0, kReferenceError = 1 };
 
-
 enum class InterpreterPushArgsMode : unsigned {
   kArrayFunction,
   kWithFinalSpread,
@@ -1568,4 +1559,4 @@
 
 namespace i = v8::internal;
 
-#endif  // V8_GLOBALS_H_
+#endif  // V8_COMMON_GLOBALS_H_
diff --git a/src/ptr-compr-inl.h b/src/common/ptr-compr-inl.h
similarity index 96%
rename from src/ptr-compr-inl.h
rename to src/common/ptr-compr-inl.h
index d05650f..fd0f97e 100644
--- a/src/ptr-compr-inl.h
+++ b/src/common/ptr-compr-inl.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_PTR_COMPR_INL_H_
-#define V8_PTR_COMPR_INL_H_
+#ifndef V8_COMMON_PTR_COMPR_INL_H_
+#define V8_COMMON_PTR_COMPR_INL_H_
 
 #include "include/v8-internal.h"
+#include "src/common/ptr-compr.h"
 #include "src/execution/isolate.h"
-#include "src/ptr-compr.h"
 
 namespace v8 {
 namespace internal {
@@ -110,4 +110,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_PTR_COMPR_INL_H_
+#endif  // V8_COMMON_PTR_COMPR_INL_H_
diff --git a/src/ptr-compr.h b/src/common/ptr-compr.h
similarity index 81%
rename from src/ptr-compr.h
rename to src/common/ptr-compr.h
index a871e99..5b4a74e 100644
--- a/src/ptr-compr.h
+++ b/src/common/ptr-compr.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_PTR_COMPR_H_
-#define V8_PTR_COMPR_H_
+#ifndef V8_COMMON_PTR_COMPR_H_
+#define V8_COMMON_PTR_COMPR_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if V8_TARGET_ARCH_64_BIT
 
@@ -22,4 +22,4 @@
 
 #endif  // V8_TARGET_ARCH_64_BIT
 
-#endif  // V8_PTR_COMPR_H_
+#endif  // V8_COMMON_PTR_COMPR_H_
diff --git a/src/v8memory.h b/src/common/v8memory.h
similarity index 95%
rename from src/v8memory.h
rename to src/common/v8memory.h
index fbbe0d4..02ba2de 100644
--- a/src/v8memory.h
+++ b/src/common/v8memory.h
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_V8MEMORY_H_
-#define V8_V8MEMORY_H_
+#ifndef V8_COMMON_V8MEMORY_H_
+#define V8_COMMON_V8MEMORY_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
@@ -96,4 +96,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_V8MEMORY_H_
+#endif  // V8_COMMON_V8MEMORY_H_
diff --git a/src/compiler-dispatcher/compiler-dispatcher.cc b/src/compiler-dispatcher/compiler-dispatcher.cc
index 0e721db..e1d47d3 100644
--- a/src/compiler-dispatcher/compiler-dispatcher.cc
+++ b/src/compiler-dispatcher/compiler-dispatcher.cc
@@ -7,14 +7,14 @@
 #include "src/ast/ast.h"
 #include "src/base/platform/time.h"
 #include "src/base/template-utils.h"
-#include "src/cancelable-task.h"
 #include "src/codegen/compiler.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/handles/global-handles.h"
 #include "src/objects/objects-inl.h"
 #include "src/parsing/parse-info.h"
 #include "src/parsing/parser.h"
-#include "src/task-utils.h"
+#include "src/tasks/cancelable-task.h"
+#include "src/tasks/task-utils.h"
 #include "src/zone/zone-list-inl.h"  // crbug.com/v8/8816
 
 namespace v8 {
diff --git a/src/compiler-dispatcher/compiler-dispatcher.h b/src/compiler-dispatcher/compiler-dispatcher.h
index 21870bf..472b0b9 100644
--- a/src/compiler-dispatcher/compiler-dispatcher.h
+++ b/src/compiler-dispatcher/compiler-dispatcher.h
@@ -17,9 +17,9 @@
 #include "src/base/platform/condition-variable.h"
 #include "src/base/platform/mutex.h"
 #include "src/base/platform/semaphore.h"
-#include "src/globals.h"
-#include "src/utils/identity-map.h"
+#include "src/common/globals.h"
 #include "src/handles/maybe-handles.h"
+#include "src/utils/identity-map.h"
 #include "testing/gtest/include/gtest/gtest_prod.h"  // nogncheck
 
 namespace v8 {
diff --git a/src/compiler-dispatcher/optimizing-compile-dispatcher.cc b/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
index cebd2ec..fbaeaa7 100644
--- a/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
+++ b/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
@@ -6,15 +6,15 @@
 
 #include "src/base/atomicops.h"
 #include "src/base/template-utils.h"
-#include "src/cancelable-task.h"
 #include "src/codegen/compiler.h"
 #include "src/codegen/optimized-compilation-info.h"
 #include "src/execution/isolate.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
 #include "src/objects/objects-inl.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/tracing/trace-event.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler-dispatcher/optimizing-compile-dispatcher.h b/src/compiler-dispatcher/optimizing-compile-dispatcher.h
index a16db7e..c1b92ff 100644
--- a/src/compiler-dispatcher/optimizing-compile-dispatcher.h
+++ b/src/compiler-dispatcher/optimizing-compile-dispatcher.h
@@ -11,8 +11,8 @@
 #include "src/base/platform/condition-variable.h"
 #include "src/base/platform/mutex.h"
 #include "src/base/platform/platform.h"
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 #include "src/utils/allocation.h"
 
 namespace v8 {
diff --git a/src/compiler/backend/arm/unwinding-info-writer-arm.h b/src/compiler/backend/arm/unwinding-info-writer-arm.h
index 1b60e8a..6b9ade0 100644
--- a/src/compiler/backend/arm/unwinding-info-writer-arm.h
+++ b/src/compiler/backend/arm/unwinding-info-writer-arm.h
@@ -6,7 +6,7 @@
 #define V8_COMPILER_BACKEND_ARM_UNWINDING_INFO_WRITER_ARM_H_
 
 #include "src/diagnostics/eh-frame.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/backend/arm64/unwinding-info-writer-arm64.h b/src/compiler/backend/arm64/unwinding-info-writer-arm64.h
index 6674cbb..3678873 100644
--- a/src/compiler/backend/arm64/unwinding-info-writer-arm64.h
+++ b/src/compiler/backend/arm64/unwinding-info-writer-arm64.h
@@ -6,7 +6,7 @@
 #define V8_COMPILER_BACKEND_ARM64_UNWINDING_INFO_WRITER_ARM64_H_
 
 #include "src/diagnostics/eh-frame.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/backend/instruction-selector.h b/src/compiler/backend/instruction-selector.h
index 45302bb..4f6b1c5 100644
--- a/src/compiler/backend/instruction-selector.h
+++ b/src/compiler/backend/instruction-selector.h
@@ -8,13 +8,13 @@
 #include <map>
 
 #include "src/codegen/cpu-features.h"
+#include "src/common/globals.h"
 #include "src/compiler/backend/instruction-scheduler.h"
 #include "src/compiler/backend/instruction.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/linkage.h"
 #include "src/compiler/machine-operator.h"
 #include "src/compiler/node.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/backend/instruction.h b/src/compiler/backend/instruction.h
index 8467768..61875a1 100644
--- a/src/compiler/backend/instruction.h
+++ b/src/compiler/backend/instruction.h
@@ -11,14 +11,14 @@
 #include <set>
 
 #include "src/base/compiler-specific.h"
+#include "src/codegen/external-reference.h"
 #include "src/codegen/register-arch.h"
 #include "src/codegen/source-position.h"
+#include "src/common/globals.h"
 #include "src/compiler/backend/instruction-codes.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/frame.h"
 #include "src/compiler/opcodes.h"
-#include "src/external-reference.h"
-#include "src/globals.h"
 #include "src/numbers/double.h"
 #include "src/zone/zone-allocator.h"
 
diff --git a/src/compiler/backend/move-optimizer.h b/src/compiler/backend/move-optimizer.h
index ae99cb4..ac3c407 100644
--- a/src/compiler/backend/move-optimizer.h
+++ b/src/compiler/backend/move-optimizer.h
@@ -5,8 +5,8 @@
 #ifndef V8_COMPILER_BACKEND_MOVE_OPTIMIZER_H_
 #define V8_COMPILER_BACKEND_MOVE_OPTIMIZER_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/backend/instruction.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/backend/register-allocator.h b/src/compiler/backend/register-allocator.h
index fd551fb..8929fb2 100644
--- a/src/compiler/backend/register-allocator.h
+++ b/src/compiler/backend/register-allocator.h
@@ -8,9 +8,9 @@
 #include "src/base/bits.h"
 #include "src/base/compiler-specific.h"
 #include "src/codegen/register-configuration.h"
+#include "src/common/globals.h"
 #include "src/compiler/backend/instruction.h"
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/flags/flags.h"
 #include "src/utils/ostreams.h"
 #include "src/zone/zone-containers.h"
 
diff --git a/src/compiler/backend/unwinding-info-writer.h b/src/compiler/backend/unwinding-info-writer.h
index 3383da9..590a839 100644
--- a/src/compiler/backend/unwinding-info-writer.h
+++ b/src/compiler/backend/unwinding-info-writer.h
@@ -5,7 +5,7 @@
 #ifndef V8_COMPILER_BACKEND_UNWINDING_INFO_WRITER_H_
 #define V8_COMPILER_BACKEND_UNWINDING_INFO_WRITER_H_
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 #if V8_TARGET_ARCH_ARM
 #include "src/compiler/backend/arm/unwinding-info-writer-arm.h"
diff --git a/src/compiler/backend/x64/instruction-selector-x64.cc b/src/compiler/backend/x64/instruction-selector-x64.cc
index 4cd51cf..a20590b 100644
--- a/src/compiler/backend/x64/instruction-selector-x64.cc
+++ b/src/compiler/backend/x64/instruction-selector-x64.cc
@@ -9,7 +9,7 @@
 #include "src/compiler/backend/instruction-selector-impl.h"
 #include "src/compiler/node-matchers.h"
 #include "src/compiler/node-properties.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/backend/x64/unwinding-info-writer-x64.h b/src/compiler/backend/x64/unwinding-info-writer-x64.h
index 2d649d6..c85ad46 100644
--- a/src/compiler/backend/x64/unwinding-info-writer-x64.h
+++ b/src/compiler/backend/x64/unwinding-info-writer-x64.h
@@ -6,7 +6,7 @@
 #define V8_COMPILER_BACKEND_X64_UNWINDING_INFO_WRITER_X64_H_
 
 #include "src/diagnostics/eh-frame.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/branch-elimination.h b/src/compiler/branch-elimination.h
index 23881eb..2730da9 100644
--- a/src/compiler/branch-elimination.h
+++ b/src/compiler/branch-elimination.h
@@ -6,10 +6,10 @@
 #define V8_COMPILER_BRANCH_ELIMINATION_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/functional-list.h"
 #include "src/compiler/graph-reducer.h"
 #include "src/compiler/node-aux-data.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc
index cac6286..14165f2 100644
--- a/src/compiler/bytecode-graph-builder.cc
+++ b/src/compiler/bytecode-graph-builder.cc
@@ -14,6 +14,7 @@
 #include "src/compiler/operator-properties.h"
 #include "src/compiler/simplified-operator.h"
 #include "src/compiler/state-values-utils.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/interpreter/bytecode-flags.h"
 #include "src/interpreter/bytecodes.h"
@@ -23,7 +24,6 @@
 #include "src/objects/objects-inl.h"
 #include "src/objects/smi.h"
 #include "src/objects/template-objects-inl.h"
-#include "src/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/checkpoint-elimination.h b/src/compiler/checkpoint-elimination.h
index 97e05c1..a850dc8 100644
--- a/src/compiler/checkpoint-elimination.h
+++ b/src/compiler/checkpoint-elimination.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_CHECKPOINT_ELIMINATION_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/common-node-cache.cc b/src/compiler/common-node-cache.cc
index d9fd5ca..92c9c78 100644
--- a/src/compiler/common-node-cache.cc
+++ b/src/compiler/common-node-cache.cc
@@ -4,8 +4,8 @@
 
 #include "src/compiler/common-node-cache.h"
 
+#include "src/codegen/external-reference.h"
 #include "src/compiler/node.h"
-#include "src/external-reference.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/common-operator-reducer.h b/src/compiler/common-operator-reducer.h
index 0272cbd..4c7a06d 100644
--- a/src/compiler/common-operator-reducer.h
+++ b/src/compiler/common-operator-reducer.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_COMMON_OPERATOR_REDUCER_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/common-operator.h b/src/compiler/common-operator.h
index f7d2227..43a689b 100644
--- a/src/compiler/common-operator.h
+++ b/src/compiler/common-operator.h
@@ -9,10 +9,10 @@
 #include "src/codegen/machine-type.h"
 #include "src/codegen/reloc-info.h"
 #include "src/codegen/string-constants.h"
+#include "src/common/globals.h"
 #include "src/compiler/frame-states.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/deoptimizer/deoptimize-reason.h"
-#include "src/globals.h"
-#include "src/vector-slot-pair.h"
 #include "src/zone/zone-containers.h"
 #include "src/zone/zone-handle-set.h"
 
diff --git a/src/compiler/compiler-source-position-table.h b/src/compiler/compiler-source-position-table.h
index 12d1aba..c067c68 100644
--- a/src/compiler/compiler-source-position-table.h
+++ b/src/compiler/compiler-source-position-table.h
@@ -7,8 +7,8 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/source-position.h"
+#include "src/common/globals.h"
 #include "src/compiler/node-aux-data.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/control-equivalence.h b/src/compiler/control-equivalence.h
index d49454d..6ad7976 100644
--- a/src/compiler/control-equivalence.h
+++ b/src/compiler/control-equivalence.h
@@ -6,9 +6,9 @@
 #define V8_COMPILER_CONTROL_EQUIVALENCE_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/node.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/control-flow-optimizer.h b/src/compiler/control-flow-optimizer.h
index 577c40d..0a688a7 100644
--- a/src/compiler/control-flow-optimizer.h
+++ b/src/compiler/control-flow-optimizer.h
@@ -5,8 +5,8 @@
 #ifndef V8_COMPILER_CONTROL_FLOW_OPTIMIZER_H_
 #define V8_COMPILER_CONTROL_FLOW_OPTIMIZER_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/node-marker.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/dead-code-elimination.h b/src/compiler/dead-code-elimination.h
index 2226106..5f2ba32 100644
--- a/src/compiler/dead-code-elimination.h
+++ b/src/compiler/dead-code-elimination.h
@@ -7,8 +7,8 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/machine-type.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/effect-control-linearizer.cc b/src/compiler/effect-control-linearizer.cc
index 9015d1b..bfe459b 100644
--- a/src/compiler/effect-control-linearizer.cc
+++ b/src/compiler/effect-control-linearizer.cc
@@ -6,6 +6,7 @@
 
 #include "src/codegen/code-factory.h"
 #include "src/codegen/machine-type.h"
+#include "src/common/ptr-compr-inl.h"
 #include "src/compiler/access-builder.h"
 #include "src/compiler/compiler-source-position-table.h"
 #include "src/compiler/graph-assembler.h"
@@ -20,7 +21,6 @@
 #include "src/objects/heap-number.h"
 #include "src/objects/oddball.h"
 #include "src/objects/ordered-hash-table.h"
-#include "src/ptr-compr-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/escape-analysis-reducer.h b/src/compiler/escape-analysis-reducer.h
index 04efe96..1c1267b 100644
--- a/src/compiler/escape-analysis-reducer.h
+++ b/src/compiler/escape-analysis-reducer.h
@@ -6,10 +6,10 @@
 #define V8_COMPILER_ESCAPE_ANALYSIS_REDUCER_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/access-builder.h"
 #include "src/compiler/escape-analysis.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/escape-analysis.h b/src/compiler/escape-analysis.h
index 2475c34..c3dcd2f 100644
--- a/src/compiler/escape-analysis.h
+++ b/src/compiler/escape-analysis.h
@@ -6,10 +6,10 @@
 #define V8_COMPILER_ESCAPE_ANALYSIS_H_
 
 #include "src/base/functional.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
 #include "src/compiler/js-graph.h"
 #include "src/compiler/persistent-map.h"
-#include "src/globals.h"
 #include "src/objects/name.h"
 
 namespace v8 {
diff --git a/src/compiler/graph-assembler.h b/src/compiler/graph-assembler.h
index d5d11be..74b885b 100644
--- a/src/compiler/graph-assembler.h
+++ b/src/compiler/graph-assembler.h
@@ -8,7 +8,7 @@
 #include "src/compiler/js-graph.h"
 #include "src/compiler/node.h"
 #include "src/compiler/simplified-operator.h"
-#include "src/vector-slot-pair.h"
+#include "src/compiler/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/graph-reducer.h b/src/compiler/graph-reducer.h
index 36fee94..3bb20a4 100644
--- a/src/compiler/graph-reducer.h
+++ b/src/compiler/graph-reducer.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_GRAPH_REDUCER_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/node-marker.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/graph-trimmer.h b/src/compiler/graph-trimmer.h
index edabae0..5a5f525 100644
--- a/src/compiler/graph-trimmer.h
+++ b/src/compiler/graph-trimmer.h
@@ -5,8 +5,8 @@
 #ifndef V8_COMPILER_GRAPH_TRIMMER_H_
 #define V8_COMPILER_GRAPH_TRIMMER_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/node-marker.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/graph-visualizer.h b/src/compiler/graph-visualizer.h
index 089c9aa..05f522b 100644
--- a/src/compiler/graph-visualizer.h
+++ b/src/compiler/graph-visualizer.h
@@ -10,7 +10,7 @@
 #include <iosfwd>
 #include <memory>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 
 namespace v8 {
diff --git a/src/compiler/graph.h b/src/compiler/graph.h
index 16d41fa..038c9b4 100644
--- a/src/compiler/graph.h
+++ b/src/compiler/graph.h
@@ -8,7 +8,7 @@
 #include <array>
 
 #include "src/base/compiler-specific.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone-containers.h"
 #include "src/zone/zone.h"
 
diff --git a/src/compiler/int64-lowering.h b/src/compiler/int64-lowering.h
index f440858..b083805 100644
--- a/src/compiler/int64-lowering.h
+++ b/src/compiler/int64-lowering.h
@@ -5,11 +5,11 @@
 #ifndef V8_COMPILER_INT64_LOWERING_H_
 #define V8_COMPILER_INT64_LOWERING_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/machine-operator.h"
 #include "src/compiler/node-marker.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/js-call-reducer.cc b/src/compiler/js-call-reducer.cc
index ea2b3bf..e7acf49 100644
--- a/src/compiler/js-call-reducer.cc
+++ b/src/compiler/js-call-reducer.cc
@@ -21,6 +21,7 @@
 #include "src/compiler/property-access-builder.h"
 #include "src/compiler/simplified-operator.h"
 #include "src/compiler/type-cache.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/ic/call-optimization.h"
 #include "src/logging/counters.h"
 #include "src/objects/arguments-inl.h"
@@ -30,7 +31,6 @@
 #include "src/objects/js-objects.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/ordered-hash-table.h"
-#include "src/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-create-lowering.h b/src/compiler/js-create-lowering.h
index 021da52..44a3b21 100644
--- a/src/compiler/js-create-lowering.h
+++ b/src/compiler/js-create-lowering.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_JS_CREATE_LOWERING_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-graph.h b/src/compiler/js-graph.h
index be1047b..b5c8051 100644
--- a/src/compiler/js-graph.h
+++ b/src/compiler/js-graph.h
@@ -5,13 +5,13 @@
 #ifndef V8_COMPILER_JS_GRAPH_H_
 #define V8_COMPILER_JS_GRAPH_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/js-operator.h"
 #include "src/compiler/machine-graph.h"
 #include "src/compiler/node-properties.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-heap-broker.cc b/src/compiler/js-heap-broker.cc
index 5431ffd..daffb4d 100644
--- a/src/compiler/js-heap-broker.cc
+++ b/src/compiler/js-heap-broker.cc
@@ -14,6 +14,7 @@
 #include "src/compiler/access-info.h"
 #include "src/compiler/graph-reducer.h"
 #include "src/compiler/per-isolate-compiler-cache.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/init/bootstrapper.h"
 #include "src/objects/allocation-site-inl.h"
 #include "src/objects/api-callbacks.h"
@@ -28,7 +29,6 @@
 #include "src/objects/templates.h"
 #include "src/utils/boxed-float.h"
 #include "src/utils/utils.h"
-#include "src/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-heap-broker.h b/src/compiler/js-heap-broker.h
index a1f0e3e..ffa9225 100644
--- a/src/compiler/js-heap-broker.h
+++ b/src/compiler/js-heap-broker.h
@@ -7,14 +7,14 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/base/optional.h"
+#include "src/common/globals.h"
 #include "src/compiler/refs-map.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 #include "src/objects/feedback-vector.h"
 #include "src/objects/function-kind.h"
 #include "src/objects/instance-type.h"
-#include "src/utils/ostreams.h"
 #include "src/objects/objects.h"
+#include "src/utils/ostreams.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/js-intrinsic-lowering.h b/src/compiler/js-intrinsic-lowering.h
index 2162a09..844e051 100644
--- a/src/compiler/js-intrinsic-lowering.h
+++ b/src/compiler/js-intrinsic-lowering.h
@@ -6,9 +6,9 @@
 #define V8_COMPILER_JS_INTRINSIC_LOWERING_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-native-context-specialization.cc b/src/compiler/js-native-context-specialization.cc
index c8ad112..6bfff84 100644
--- a/src/compiler/js-native-context-specialization.cc
+++ b/src/compiler/js-native-context-specialization.cc
@@ -19,6 +19,7 @@
 #include "src/compiler/node-matchers.h"
 #include "src/compiler/property-access-builder.h"
 #include "src/compiler/type-cache.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/execution/isolate-inl.h"
 #include "src/numbers/dtoa.h"
 #include "src/objects/feedback-vector.h"
@@ -27,7 +28,6 @@
 #include "src/objects/js-array-buffer-inl.h"
 #include "src/objects/js-array-inl.h"
 #include "src/objects/templates.h"
-#include "src/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc
index 1d82404..a779790 100644
--- a/src/compiler/js-operator.cc
+++ b/src/compiler/js-operator.cc
@@ -9,9 +9,9 @@
 #include "src/base/lazy-instance.h"
 #include "src/compiler/opcodes.h"
 #include "src/compiler/operator.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/handles/handles-inl.h"
 #include "src/objects/objects-inl.h"
-#include "src/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-operator.h b/src/compiler/js-operator.h
index e4bbe48..0f315b1 100644
--- a/src/compiler/js-operator.h
+++ b/src/compiler/js-operator.h
@@ -6,11 +6,11 @@
 #define V8_COMPILER_JS_OPERATOR_H_
 
 #include "src/base/compiler-specific.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/handles/maybe-handles.h"
+#include "src/objects/type-hints.h"
 #include "src/runtime/runtime.h"
-#include "src/type-hints.h"
-#include "src/vector-slot-pair.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-type-hint-lowering.cc b/src/compiler/js-type-hint-lowering.cc
index 824a04e..9d882e8 100644
--- a/src/compiler/js-type-hint-lowering.cc
+++ b/src/compiler/js-type-hint-lowering.cc
@@ -9,7 +9,7 @@
 #include "src/compiler/operator-properties.h"
 #include "src/compiler/simplified-operator.h"
 #include "src/objects/feedback-vector.h"
-#include "src/type-hints.h"
+#include "src/objects/type-hints.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/js-typed-lowering.h b/src/compiler/js-typed-lowering.h
index d8164ac..bcbc3aa 100644
--- a/src/compiler/js-typed-lowering.h
+++ b/src/compiler/js-typed-lowering.h
@@ -6,9 +6,9 @@
 #define V8_COMPILER_JS_TYPED_LOWERING_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
 #include "src/compiler/opcodes.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/linkage.h b/src/compiler/linkage.h
index ca0f885..d6febdc 100644
--- a/src/compiler/linkage.h
+++ b/src/compiler/linkage.h
@@ -12,9 +12,9 @@
 #include "src/codegen/register-arch.h"
 #include "src/codegen/reglist.h"
 #include "src/codegen/signature.h"
+#include "src/common/globals.h"
 #include "src/compiler/frame.h"
 #include "src/compiler/operator.h"
-#include "src/globals.h"
 #include "src/runtime/runtime.h"
 #include "src/zone/zone.h"
 
diff --git a/src/compiler/load-elimination.h b/src/compiler/load-elimination.h
index 1a641dc..cb19ada 100644
--- a/src/compiler/load-elimination.h
+++ b/src/compiler/load-elimination.h
@@ -7,8 +7,8 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/machine-type.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 #include "src/handles/maybe-handles.h"
 #include "src/zone/zone-handle-set.h"
 
diff --git a/src/compiler/loop-analysis.h b/src/compiler/loop-analysis.h
index 05c3b57..620a955 100644
--- a/src/compiler/loop-analysis.h
+++ b/src/compiler/loop-analysis.h
@@ -6,9 +6,9 @@
 #define V8_COMPILER_LOOP_ANALYSIS_H_
 
 #include "src/base/iterator.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/node.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/loop-peeling.h b/src/compiler/loop-peeling.h
index a3408ec..730900a 100644
--- a/src/compiler/loop-peeling.h
+++ b/src/compiler/loop-peeling.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_LOOP_PEELING_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/loop-analysis.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/machine-graph.cc b/src/compiler/machine-graph.cc
index 92bf391..3f05d56 100644
--- a/src/compiler/machine-graph.cc
+++ b/src/compiler/machine-graph.cc
@@ -4,8 +4,8 @@
 
 #include "src/compiler/machine-graph.h"
 
+#include "src/codegen/external-reference.h"
 #include "src/compiler/node-properties.h"
-#include "src/external-reference.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/machine-graph.h b/src/compiler/machine-graph.h
index 83d27e0..86c3847 100644
--- a/src/compiler/machine-graph.h
+++ b/src/compiler/machine-graph.h
@@ -6,11 +6,11 @@
 #define V8_COMPILER_MACHINE_GRAPH_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/common-node-cache.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/machine-operator.h"
-#include "src/globals.h"
 #include "src/runtime/runtime.h"
 
 namespace v8 {
diff --git a/src/compiler/machine-operator-reducer.h b/src/compiler/machine-operator-reducer.h
index 8c0d4c8..a8e4cd5 100644
--- a/src/compiler/machine-operator-reducer.h
+++ b/src/compiler/machine-operator-reducer.h
@@ -6,9 +6,9 @@
 #define V8_COMPILER_MACHINE_OPERATOR_REDUCER_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
 #include "src/compiler/machine-operator.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/map-inference.cc b/src/compiler/map-inference.cc
index 6a4bcac..f43ba0d 100644
--- a/src/compiler/map-inference.cc
+++ b/src/compiler/map-inference.cc
@@ -7,8 +7,8 @@
 #include "src/compiler/compilation-dependencies.h"
 #include "src/compiler/js-graph.h"
 #include "src/compiler/simplified-operator.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/objects/map-inl.h"
-#include "src/vector-slot-pair.h"
 #include "src/zone/zone-handle-set.h"
 
 namespace v8 {
diff --git a/src/compiler/memory-optimizer.cc b/src/compiler/memory-optimizer.cc
index eb5d72a..9ac3f64 100644
--- a/src/compiler/memory-optimizer.cc
+++ b/src/compiler/memory-optimizer.cc
@@ -11,7 +11,7 @@
 #include "src/compiler/node-properties.h"
 #include "src/compiler/node.h"
 #include "src/compiler/simplified-operator.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/node-cache.cc b/src/compiler/node-cache.cc
index 78d7ecc..70e497a 100644
--- a/src/compiler/node-cache.cc
+++ b/src/compiler/node-cache.cc
@@ -6,7 +6,7 @@
 
 #include <cstring>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone-containers.h"
 #include "src/zone/zone.h"
 
diff --git a/src/compiler/node-matchers.h b/src/compiler/node-matchers.h
index 3924ec8..5453e08 100644
--- a/src/compiler/node-matchers.h
+++ b/src/compiler/node-matchers.h
@@ -8,10 +8,10 @@
 #include <cmath>
 
 #include "src/base/compiler-specific.h"
+#include "src/codegen/external-reference.h"
+#include "src/common/globals.h"
 #include "src/compiler/node.h"
 #include "src/compiler/operator.h"
-#include "src/external-reference.h"
-#include "src/globals.h"
 #include "src/numbers/double.h"
 #include "src/objects/heap-object.h"
 
diff --git a/src/compiler/node-origin-table.h b/src/compiler/node-origin-table.h
index b8a8782..4bb66a7 100644
--- a/src/compiler/node-origin-table.h
+++ b/src/compiler/node-origin-table.h
@@ -9,8 +9,8 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/source-position.h"
+#include "src/common/globals.h"
 #include "src/compiler/node-aux-data.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/node-properties.h b/src/compiler/node-properties.h
index 0d541a1..4a23b67 100644
--- a/src/compiler/node-properties.h
+++ b/src/compiler/node-properties.h
@@ -5,9 +5,9 @@
 #ifndef V8_COMPILER_NODE_PROPERTIES_H_
 #define V8_COMPILER_NODE_PROPERTIES_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/node.h"
 #include "src/compiler/types.h"
-#include "src/globals.h"
 #include "src/objects/map.h"
 #include "src/zone/zone-handle-set.h"
 
diff --git a/src/compiler/node.h b/src/compiler/node.h
index e89e8b2..d7daca3 100644
--- a/src/compiler/node.h
+++ b/src/compiler/node.h
@@ -5,10 +5,10 @@
 #ifndef V8_COMPILER_NODE_H_
 #define V8_COMPILER_NODE_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/opcodes.h"
 #include "src/compiler/operator.h"
 #include "src/compiler/types.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/opcodes.h b/src/compiler/opcodes.h
index 4040d9e..2d40cca 100644
--- a/src/compiler/opcodes.h
+++ b/src/compiler/opcodes.h
@@ -7,7 +7,7 @@
 
 #include <iosfwd>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 // Opcodes for control operators.
 #define CONTROL_OP_LIST(V) \
diff --git a/src/compiler/operator-properties.h b/src/compiler/operator-properties.h
index eb9e683..47db81d 100644
--- a/src/compiler/operator-properties.h
+++ b/src/compiler/operator-properties.h
@@ -6,7 +6,7 @@
 #define V8_COMPILER_OPERATOR_PROPERTIES_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/operator.h b/src/compiler/operator.h
index 23b8a95..c393aa2 100644
--- a/src/compiler/operator.h
+++ b/src/compiler/operator.h
@@ -10,7 +10,7 @@
 #include "src/base/compiler-specific.h"
 #include "src/base/flags.h"
 #include "src/base/functional.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/zone/zone.h"
 
diff --git a/src/compiler/pipeline-statistics.h b/src/compiler/pipeline-statistics.h
index 21ef2b0..5d874f0 100644
--- a/src/compiler/pipeline-statistics.h
+++ b/src/compiler/pipeline-statistics.h
@@ -9,8 +9,8 @@
 #include <string>
 
 #include "src/base/platform/elapsed-timer.h"
-#include "src/compilation-statistics.h"
 #include "src/compiler/zone-stats.h"
+#include "src/diagnostics/compilation-statistics.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/pipeline.h b/src/compiler/pipeline.h
index 70abd9f..7f9a242 100644
--- a/src/compiler/pipeline.h
+++ b/src/compiler/pipeline.h
@@ -7,7 +7,7 @@
 
 // Clients of this interface shouldn't depend on lots of compiler internals.
 // Do not include anything from src/compiler here!
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/code.h"
 #include "src/objects/objects.h"
 
diff --git a/src/compiler/raw-machine-assembler.h b/src/compiler/raw-machine-assembler.h
index dcf3486..00468c6 100644
--- a/src/compiler/raw-machine-assembler.h
+++ b/src/compiler/raw-machine-assembler.h
@@ -9,6 +9,7 @@
 
 #include "src/base/type-traits.h"
 #include "src/codegen/assembler.h"
+#include "src/common/globals.h"
 #include "src/compiler/access-builder.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/graph.h"
@@ -19,7 +20,6 @@
 #include "src/compiler/simplified-operator.h"
 #include "src/compiler/write-barrier-kind.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/heap/factory.h"
 
 namespace v8 {
diff --git a/src/compiler/refs-map.h b/src/compiler/refs-map.h
index daaf433..68beeb2 100644
--- a/src/compiler/refs-map.h
+++ b/src/compiler/refs-map.h
@@ -6,7 +6,7 @@
 #define V8_COMPILER_REFS_MAP_H_
 
 #include "src/base/hashmap.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
diff --git a/src/compiler/schedule.h b/src/compiler/schedule.h
index 6f64cae..aae2cd3 100644
--- a/src/compiler/schedule.h
+++ b/src/compiler/schedule.h
@@ -8,7 +8,7 @@
 #include <iosfwd>
 
 #include "src/base/compiler-specific.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/scheduler.h b/src/compiler/scheduler.h
index 7ec9872..bd2f278 100644
--- a/src/compiler/scheduler.h
+++ b/src/compiler/scheduler.h
@@ -6,11 +6,11 @@
 #define V8_COMPILER_SCHEDULER_H_
 
 #include "src/base/flags.h"
+#include "src/common/globals.h"
 #include "src/compiler/node.h"
 #include "src/compiler/opcodes.h"
 #include "src/compiler/schedule.h"
 #include "src/compiler/zone-stats.h"
-#include "src/globals.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/compiler/serializer-for-background-compilation.cc b/src/compiler/serializer-for-background-compilation.cc
index 2d1a66f..00a36ea 100644
--- a/src/compiler/serializer-for-background-compilation.cc
+++ b/src/compiler/serializer-for-background-compilation.cc
@@ -7,11 +7,11 @@
 #include <sstream>
 
 #include "src/compiler/js-heap-broker.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/handles/handles-inl.h"
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/objects/code.h"
 #include "src/objects/shared-function-info-inl.h"
-#include "src/vector-slot-pair.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
diff --git a/src/compiler/simplified-operator-reducer.h b/src/compiler/simplified-operator-reducer.h
index 4024a3e..4344f87 100644
--- a/src/compiler/simplified-operator-reducer.h
+++ b/src/compiler/simplified-operator-reducer.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_SIMPLIFIED_OPERATOR_REDUCER_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/simplified-operator.h b/src/compiler/simplified-operator.h
index ce71cb5..43270b4 100644
--- a/src/compiler/simplified-operator.h
+++ b/src/compiler/simplified-operator.h
@@ -9,16 +9,16 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/machine-type.h"
+#include "src/common/globals.h"
 #include "src/compiler/operator.h"
 #include "src/compiler/types.h"
+#include "src/compiler/vector-slot-pair.h"
 #include "src/compiler/write-barrier-kind.h"
 #include "src/deoptimizer/deoptimize-reason.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 #include "src/handles/maybe-handles.h"
 #include "src/objects/objects.h"
-#include "src/type-hints.h"
-#include "src/vector-slot-pair.h"
+#include "src/objects/type-hints.h"
 #include "src/zone/zone-handle-set.h"
 
 namespace v8 {
diff --git a/src/compiler/state-values-utils.h b/src/compiler/state-values-utils.h
index 49768a4..00ec3bb 100644
--- a/src/compiler/state-values-utils.h
+++ b/src/compiler/state-values-utils.h
@@ -6,9 +6,9 @@
 #define V8_COMPILER_STATE_VALUES_UTILS_H_
 
 #include <array>
+#include "src/common/globals.h"
 #include "src/compiler/common-operator.h"
 #include "src/compiler/js-graph.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/typed-optimization.h b/src/compiler/typed-optimization.h
index ed9c56e..58efff9 100644
--- a/src/compiler/typed-optimization.h
+++ b/src/compiler/typed-optimization.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_TYPED_OPTIMIZATION_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/typer.h b/src/compiler/typer.h
index 62cbd1d..fa87d81 100644
--- a/src/compiler/typer.h
+++ b/src/compiler/typer.h
@@ -5,9 +5,9 @@
 #ifndef V8_COMPILER_TYPER_H_
 #define V8_COMPILER_TYPER_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/operation-typer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/types.h b/src/compiler/types.h
index 65575bf..21aaab5 100644
--- a/src/compiler/types.h
+++ b/src/compiler/types.h
@@ -6,12 +6,12 @@
 #define V8_COMPILER_TYPES_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/js-heap-broker.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 #include "src/numbers/conversions.h"
-#include "src/utils/ostreams.h"
 #include "src/objects/objects.h"
+#include "src/utils/ostreams.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/value-numbering-reducer.h b/src/compiler/value-numbering-reducer.h
index 489ab71..41ff2ae 100644
--- a/src/compiler/value-numbering-reducer.h
+++ b/src/compiler/value-numbering-reducer.h
@@ -6,8 +6,8 @@
 #define V8_COMPILER_VALUE_NUMBERING_REDUCER_H_
 
 #include "src/base/compiler-specific.h"
+#include "src/common/globals.h"
 #include "src/compiler/graph-reducer.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/vector-slot-pair.cc b/src/compiler/vector-slot-pair.cc
similarity index 95%
rename from src/vector-slot-pair.cc
rename to src/compiler/vector-slot-pair.cc
index 61f9811..97f5364 100644
--- a/src/vector-slot-pair.cc
+++ b/src/compiler/vector-slot-pair.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/vector-slot-pair.h"
+#include "src/compiler/vector-slot-pair.h"
 
 #include "src/objects/feedback-vector.h"
 
diff --git a/src/vector-slot-pair.h b/src/compiler/vector-slot-pair.h
similarity index 89%
rename from src/vector-slot-pair.h
rename to src/compiler/vector-slot-pair.h
index 9b335d1..9944544 100644
--- a/src/vector-slot-pair.h
+++ b/src/compiler/vector-slot-pair.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_VECTOR_SLOT_PAIR_H_
-#define V8_VECTOR_SLOT_PAIR_H_
+#ifndef V8_COMPILER_VECTOR_SLOT_PAIR_H_
+#define V8_COMPILER_VECTOR_SLOT_PAIR_H_
 
-#include "src/globals.h"
-#include "src/utils/utils.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
+#include "src/utils/utils.h"
 
 namespace v8 {
 namespace internal {
@@ -48,4 +48,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_VECTOR_SLOT_PAIR_H_
+#endif  // V8_COMPILER_VECTOR_SLOT_PAIR_H_
diff --git a/src/compiler/verifier.h b/src/compiler/verifier.h
index 2cf851c..308b440 100644
--- a/src/compiler/verifier.h
+++ b/src/compiler/verifier.h
@@ -6,7 +6,7 @@
 #define V8_COMPILER_VERIFIER_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/compiler/zone-stats.h b/src/compiler/zone-stats.h
index 79adc05..63d58eb 100644
--- a/src/compiler/zone-stats.h
+++ b/src/compiler/zone-stats.h
@@ -9,7 +9,7 @@
 #include <set>
 #include <vector>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
diff --git a/src/d8/d8.cc b/src/d8/d8.cc
index 6c52bce..163a660 100644
--- a/src/d8/d8.cc
+++ b/src/d8/d8.cc
@@ -33,6 +33,7 @@
 #include "src/debug/debug-interface.h"
 #include "src/diagnostics/basic-block-profiler.h"
 #include "src/execution/vm-state-inl.h"
+#include "src/init/v8.h"
 #include "src/interpreter/interpreter.h"
 #include "src/logging/counters.h"
 #include "src/objects/objects-inl.h"
@@ -45,7 +46,6 @@
 #include "src/trap-handler/trap-handler.h"
 #include "src/utils/ostreams.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 #include "src/wasm/wasm-engine.h"
 
 #if !defined(_WIN32) && !defined(_WIN64)
diff --git a/src/date/date.h b/src/date/date.h
index 1b7a606..1f6c79c 100644
--- a/src/date/date.h
+++ b/src/date/date.h
@@ -6,7 +6,7 @@
 #define V8_DATE_DATE_H_
 
 #include "src/base/timezone-cache.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/smi.h"
 
 namespace v8 {
diff --git a/src/debug/debug-evaluate.cc b/src/debug/debug-evaluate.cc
index a4960cd..65e62f2 100644
--- a/src/debug/debug-evaluate.cc
+++ b/src/debug/debug-evaluate.cc
@@ -7,12 +7,12 @@
 #include "src/builtins/accessors.h"
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/compiler.h"
+#include "src/common/globals.h"
 #include "src/debug/debug-frames.h"
 #include "src/debug/debug-scopes.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
-#include "src/globals.h"
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/interpreter/bytecodes.h"
 #include "src/objects/contexts.h"
diff --git a/src/debug/debug-frames.h b/src/debug/debug-frames.h
index 87a4e9f..5ee4f8b 100644
--- a/src/debug/debug-frames.h
+++ b/src/debug/debug-frames.h
@@ -8,8 +8,8 @@
 #include "src/deoptimizer/deoptimizer.h"
 #include "src/execution/frames.h"
 #include "src/execution/isolate.h"
+#include "src/execution/v8threads.h"
 #include "src/objects/objects.h"
-#include "src/v8threads.h"
 #include "src/wasm/wasm-interpreter.h"
 
 namespace v8 {
diff --git a/src/debug/debug-interface.h b/src/debug/debug-interface.h
index 001b159..11b5f53 100644
--- a/src/debug/debug-interface.h
+++ b/src/debug/debug-interface.h
@@ -9,8 +9,8 @@
 #include "include/v8-util.h"
 #include "include/v8.h"
 
+#include "src/common/globals.h"
 #include "src/debug/interface-types.h"
-#include "src/globals.h"
 
 namespace v8 {
 
diff --git a/src/debug/debug-scopes.cc b/src/debug/debug-scopes.cc
index 9621fa7..3a58f0b 100644
--- a/src/debug/debug-scopes.cc
+++ b/src/debug/debug-scopes.cc
@@ -8,10 +8,10 @@
 
 #include "src/ast/ast.h"
 #include "src/ast/scopes.h"
+#include "src/common/globals.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
-#include "src/globals.h"
 #include "src/objects/js-generator-inl.h"
 #include "src/objects/module.h"
 #include "src/parsing/parse-info.h"
diff --git a/src/debug/debug.cc b/src/debug/debug.cc
index d784b10..5cc200d 100644
--- a/src/debug/debug.cc
+++ b/src/debug/debug.cc
@@ -14,6 +14,7 @@
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/compilation-cache.h"
 #include "src/codegen/compiler.h"
+#include "src/common/globals.h"
 #include "src/debug/debug-evaluate.h"
 #include "src/debug/liveedit.h"
 #include "src/deoptimizer/deoptimizer.h"
@@ -22,7 +23,7 @@
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
 #include "src/execution/message-template.h"
-#include "src/globals.h"
+#include "src/execution/v8threads.h"
 #include "src/handles/global-handles.h"
 #include "src/heap/heap-inl.h"  // For NextDebuggingId.
 #include "src/init/bootstrapper.h"
@@ -37,7 +38,6 @@
 #include "src/objects/slots.h"
 #include "src/snapshot/natives.h"
 #include "src/snapshot/snapshot.h"
-#include "src/v8threads.h"
 #include "src/wasm/wasm-objects-inl.h"
 
 namespace v8 {
diff --git a/src/debug/debug.h b/src/debug/debug.h
index 9b69b8e..8ac77e2 100644
--- a/src/debug/debug.h
+++ b/src/debug/debug.h
@@ -8,11 +8,11 @@
 #include <vector>
 
 #include "src/codegen/source-position-table.h"
+#include "src/common/globals.h"
 #include "src/debug/debug-interface.h"
 #include "src/debug/interface-types.h"
 #include "src/execution/frames.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 #include "src/objects/debug-objects.h"
 
diff --git a/src/debug/interface-types.h b/src/debug/interface-types.h
index 3a449dd..2375827 100644
--- a/src/debug/interface-types.h
+++ b/src/debug/interface-types.h
@@ -10,7 +10,7 @@
 #include <vector>
 
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 
diff --git a/src/debug/liveedit.cc b/src/debug/liveedit.cc
index a71f87e..9144e03 100644
--- a/src/debug/liveedit.cc
+++ b/src/debug/liveedit.cc
@@ -15,14 +15,14 @@
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
+#include "src/execution/v8threads.h"
+#include "src/init/v8.h"
 #include "src/logging/log.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/js-generator-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/parsing/parse-info.h"
 #include "src/parsing/parsing.h"
-#include "src/v8.h"
-#include "src/v8threads.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/debug/liveedit.h b/src/debug/liveedit.h
index 51cada9..578cf29 100644
--- a/src/debug/liveedit.h
+++ b/src/debug/liveedit.h
@@ -7,7 +7,7 @@
 
 #include <vector>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 
 namespace v8 {
diff --git a/src/debug/s390/debug-s390.cc b/src/debug/s390/debug-s390.cc
index 0788560..b85b2cc 100644
--- a/src/debug/s390/debug-s390.cc
+++ b/src/debug/s390/debug-s390.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #if V8_TARGET_ARCH_S390
 
diff --git a/src/deoptimizer/deoptimize-reason.h b/src/deoptimizer/deoptimize-reason.h
index 1c6bbfa..d556e89 100644
--- a/src/deoptimizer/deoptimize-reason.h
+++ b/src/deoptimizer/deoptimize-reason.h
@@ -5,7 +5,7 @@
 #ifndef V8_DEOPTIMIZER_DEOPTIMIZE_REASON_H_
 #define V8_DEOPTIMIZER_DEOPTIMIZE_REASON_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/deoptimizer/deoptimizer.cc b/src/deoptimizer/deoptimizer.cc
index 4c88dea..2d4a7d0 100644
--- a/src/deoptimizer/deoptimizer.cc
+++ b/src/deoptimizer/deoptimizer.cc
@@ -14,8 +14,10 @@
 #include "src/codegen/register-configuration.h"
 #include "src/diagnostics/disasm.h"
 #include "src/execution/frames-inl.h"
+#include "src/execution/v8threads.h"
 #include "src/handles/global-handles.h"
 #include "src/heap/heap-inl.h"
+#include "src/init/v8.h"
 #include "src/interpreter/interpreter.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
@@ -23,8 +25,6 @@
 #include "src/objects/heap-number-inl.h"
 #include "src/objects/smi.h"
 #include "src/tracing/trace-event.h"
-#include "src/v8.h"
-#include "src/v8threads.h"
 
 // Has to be the last include (doesn't have include guards)
 #include "src/objects/object-macros.h"
diff --git a/src/deoptimizer/deoptimizer.h b/src/deoptimizer/deoptimizer.h
index a31bcdc..1f026c4 100644
--- a/src/deoptimizer/deoptimizer.h
+++ b/src/deoptimizer/deoptimizer.h
@@ -12,12 +12,12 @@
 #include "src/codegen/label.h"
 #include "src/codegen/register-arch.h"
 #include "src/codegen/source-position.h"
+#include "src/common/globals.h"
 #include "src/deoptimizer/deoptimize-reason.h"
 #include "src/diagnostics/code-tracer.h"
 #include "src/execution/frame-constants.h"
 #include "src/execution/frames.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/objects/feedback-vector.h"
 #include "src/objects/shared-function-info.h"
 #include "src/utils/allocation.h"
diff --git a/src/diagnostics/basic-block-profiler.h b/src/diagnostics/basic-block-profiler.h
index 3c8ae89..07a1f78 100644
--- a/src/diagnostics/basic-block-profiler.h
+++ b/src/diagnostics/basic-block-profiler.h
@@ -12,7 +12,7 @@
 
 #include "src/base/macros.h"
 #include "src/base/platform/mutex.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/diagnostics/code-tracer.h b/src/diagnostics/code-tracer.h
index c2c4e35..6dd8d3e 100644
--- a/src/diagnostics/code-tracer.h
+++ b/src/diagnostics/code-tracer.h
@@ -5,8 +5,8 @@
 #ifndef V8_DIAGNOSTICS_CODE_TRACER_H_
 #define V8_DIAGNOSTICS_CODE_TRACER_H_
 
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 #include "src/utils/allocation.h"
 #include "src/utils/utils.h"
 #include "src/utils/vector.h"
diff --git a/src/compilation-statistics.cc b/src/diagnostics/compilation-statistics.cc
similarity index 96%
rename from src/compilation-statistics.cc
rename to src/diagnostics/compilation-statistics.cc
index 12e3187..0590a2b 100644
--- a/src/compilation-statistics.cc
+++ b/src/diagnostics/compilation-statistics.cc
@@ -6,7 +6,7 @@
 #include <vector>
 
 #include "src/base/platform/platform.h"
-#include "src/compilation-statistics.h"
+#include "src/diagnostics/compilation-statistics.h"
 
 namespace v8 {
 namespace internal {
@@ -25,7 +25,6 @@
   it->second.Accumulate(stats);
 }
 
-
 void CompilationStatistics::RecordPhaseKindStats(const char* phase_kind_name,
                                                  const BasicStats& stats) {
   base::MutexGuard guard(&record_mutex_);
@@ -34,13 +33,13 @@
   auto it = phase_kind_map_.find(phase_kind_name_str);
   if (it == phase_kind_map_.end()) {
     PhaseKindStats phase_kind_stats(phase_kind_map_.size());
-    it = phase_kind_map_.insert(std::make_pair(phase_kind_name_str,
-                                               phase_kind_stats)).first;
+    it = phase_kind_map_
+             .insert(std::make_pair(phase_kind_name_str, phase_kind_stats))
+             .first;
   }
   it->second.Accumulate(stats);
 }
 
-
 void CompilationStatistics::RecordTotalStats(size_t source_size,
                                              const BasicStats& stats) {
   base::MutexGuard guard(&record_mutex_);
@@ -49,7 +48,6 @@
   total_stats_.Accumulate(stats);
 }
 
-
 void CompilationStatistics::BasicStats::Accumulate(const BasicStats& stats) {
   delta_ += stats.delta_;
   total_allocated_bytes_ += stats.total_allocated_bytes_;
@@ -91,13 +89,11 @@
   }
 }
 
-
 static void WriteFullLine(std::ostream& os) {
   os << "-----------------------------------------------------------"
         "-----------------------------------------------------------\n";
 }
 
-
 static void WriteHeader(std::ostream& os) {
   WriteFullLine(os);
   os << "                Turbofan phase            Time (ms)    "
@@ -107,7 +103,6 @@
   WriteFullLine(os);
 }
 
-
 static void WritePhaseKindBreak(std::ostream& os) {
   os << "                                   ------------------------"
         "-----------------------------------------------------------\n";
diff --git a/src/compilation-statistics.h b/src/diagnostics/compilation-statistics.h
similarity index 93%
rename from src/compilation-statistics.h
rename to src/diagnostics/compilation-statistics.h
index 1b5fff8..7022e24 100644
--- a/src/compilation-statistics.h
+++ b/src/diagnostics/compilation-statistics.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_COMPILATION_STATISTICS_H_
-#define V8_COMPILATION_STATISTICS_H_
+#ifndef V8_DIAGNOSTICS_COMPILATION_STATISTICS_H_
+#define V8_DIAGNOSTICS_COMPILATION_STATISTICS_H_
 
 #include <map>
 #include <string>
@@ -90,4 +90,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_COMPILATION_STATISTICS_H_
+#endif  // V8_DIAGNOSTICS_COMPILATION_STATISTICS_H_
diff --git a/src/diagnostics/eh-frame.h b/src/diagnostics/eh-frame.h
index f12818e..8b78b04 100644
--- a/src/diagnostics/eh-frame.h
+++ b/src/diagnostics/eh-frame.h
@@ -7,8 +7,8 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/register-arch.h"
-#include "src/globals.h"
-#include "src/v8memory.h"
+#include "src/common/globals.h"
+#include "src/common/v8memory.h"
 #include "src/zone/zone-containers.h"
 
 namespace v8 {
diff --git a/src/diagnostics/unwinder.cc b/src/diagnostics/unwinder.cc
index 91f51b6..84097c2 100644
--- a/src/diagnostics/unwinder.cc
+++ b/src/diagnostics/unwinder.cc
@@ -3,8 +3,8 @@
 // found in the LICENSE file.
 
 #include "include/v8.h"
+#include "src/common/globals.h"
 #include "src/execution/frame-constants.h"
-#include "src/globals.h"
 
 namespace v8 {
 
diff --git a/src/diagnostics/unwinding-info-win64.h b/src/diagnostics/unwinding-info-win64.h
index e619c71..f6611e7 100644
--- a/src/diagnostics/unwinding-info-win64.h
+++ b/src/diagnostics/unwinding-info-win64.h
@@ -7,7 +7,7 @@
 
 #include "include/v8.h"
 #include "include/v8config.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(V8_OS_WIN_X64)
 #include "src/base/win32-headers.h"
diff --git a/src/execution/execution.h b/src/execution/execution.h
index 3ddaf17..8d7701c 100644
--- a/src/execution/execution.h
+++ b/src/execution/execution.h
@@ -6,7 +6,7 @@
 #define V8_EXECUTION_EXECUTION_H_
 
 #include "src/base/atomicops.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/execution/frame-constants.h b/src/execution/frame-constants.h
index ef62b73..bd353ad 100644
--- a/src/execution/frame-constants.h
+++ b/src/execution/frame-constants.h
@@ -5,8 +5,8 @@
 #ifndef V8_EXECUTION_FRAME_CONSTANTS_H_
 #define V8_EXECUTION_FRAME_CONSTANTS_H_
 
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/execution/frames-inl.h b/src/execution/frames-inl.h
index 22aafb5..1edfe9c 100644
--- a/src/execution/frames-inl.h
+++ b/src/execution/frames-inl.h
@@ -5,11 +5,11 @@
 #ifndef V8_EXECUTION_FRAMES_INL_H_
 #define V8_EXECUTION_FRAMES_INL_H_
 
+#include "src/common/v8memory.h"
 #include "src/execution/frame-constants.h"
 #include "src/execution/frames.h"
 #include "src/execution/isolate.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8memory.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/execution/frames.cc b/src/execution/frames.cc
index 9958e24..b93ae43 100644
--- a/src/execution/frames.cc
+++ b/src/execution/frames.cc
@@ -19,9 +19,9 @@
 #include "src/objects/code.h"
 #include "src/objects/slots.h"
 #include "src/objects/smi.h"
+#include "src/objects/visitors.h"
 #include "src/snapshot/snapshot.h"
 #include "src/strings/string-stream.h"
-#include "src/visitors.h"
 #include "src/wasm/wasm-code-manager.h"
 #include "src/wasm/wasm-engine.h"
 #include "src/wasm/wasm-objects-inl.h"
diff --git a/src/execution/isolate-data.h b/src/execution/isolate-data.h
index 7833687..d83ae70 100644
--- a/src/execution/isolate-data.h
+++ b/src/execution/isolate-data.h
@@ -7,9 +7,9 @@
 
 #include "src/builtins/builtins.h"
 #include "src/codegen/constants-arch.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/execution/thread-local-top.h"
-#include "src/external-reference-table.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 #include "src/utils/utils.h"
 #include "testing/gtest/include/gtest/gtest_prod.h"
 
diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc
index 11e0487..9dfe50f 100644
--- a/src/execution/isolate.cc
+++ b/src/execution/isolate.cc
@@ -22,33 +22,35 @@
 #include "src/base/utils/random-number-generator.h"
 #include "src/builtins/builtins-promise.h"
 #include "src/builtins/constants-table-builder.h"
-#include "src/cancelable-task.h"
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/compilation-cache.h"
-#include "src/compilation-statistics.h"
+#include "src/common/ptr-compr.h"
 #include "src/compiler-dispatcher/compiler-dispatcher.h"
 #include "src/compiler-dispatcher/optimizing-compile-dispatcher.h"
 #include "src/date/date.h"
 #include "src/debug/debug-frames.h"
 #include "src/debug/debug.h"
 #include "src/deoptimizer/deoptimizer.h"
+#include "src/diagnostics/compilation-statistics.h"
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
 #include "src/execution/messages.h"
 #include "src/execution/microtask-queue.h"
 #include "src/execution/runtime-profiler.h"
 #include "src/execution/simulator.h"
+#include "src/execution/v8threads.h"
 #include "src/execution/vm-state-inl.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/read-only-heap.h"
 #include "src/ic/stub-cache.h"
 #include "src/init/bootstrapper.h"
 #include "src/init/setup-isolate.h"
+#include "src/init/v8.h"
 #include "src/interpreter/interpreter.h"
 #include "src/libsampler/sampler.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/elements.h"
 #include "src/objects/frame-array-inl.h"
 #include "src/objects/hash-table-inl.h"
@@ -60,9 +62,9 @@
 #include "src/objects/slots.h"
 #include "src/objects/smi.h"
 #include "src/objects/stack-frame-info-inl.h"
+#include "src/objects/visitors.h"
 #include "src/profiler/heap-profiler.h"
 #include "src/profiler/tracing-cpu-profiler.h"
-#include "src/ptr-compr.h"
 #include "src/regexp/regexp-stack.h"
 #include "src/snapshot/embedded-data.h"
 #include "src/snapshot/embedded-file-writer.h"
@@ -70,13 +72,11 @@
 #include "src/snapshot/startup-deserializer.h"
 #include "src/strings/string-builder-inl.h"
 #include "src/strings/string-stream.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/tracing/tracing-category-observer.h"
 #include "src/trap-handler/trap-handler.h"
 #include "src/utils/ostreams.h"
 #include "src/utils/version.h"
-#include "src/v8.h"
-#include "src/v8threads.h"
-#include "src/visitors.h"
 #include "src/wasm/wasm-code-manager.h"
 #include "src/wasm/wasm-engine.h"
 #include "src/wasm/wasm-objects.h"
diff --git a/src/execution/isolate.h b/src/execution/isolate.h
index f0707f6..d34a591 100644
--- a/src/execution/isolate.h
+++ b/src/execution/isolate.h
@@ -17,12 +17,12 @@
 #include "include/v8.h"
 #include "src/base/macros.h"
 #include "src/builtins/builtins.h"
+#include "src/common/globals.h"
 #include "src/debug/interface-types.h"
 #include "src/execution/execution.h"
 #include "src/execution/futex-emulation.h"
 #include "src/execution/isolate-data.h"
 #include "src/execution/messages.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 #include "src/heap/factory.h"
 #include "src/heap/heap.h"
diff --git a/src/execution/microtask-queue.cc b/src/execution/microtask-queue.cc
index 75e1580..8088935 100644
--- a/src/execution/microtask-queue.cc
+++ b/src/execution/microtask-queue.cc
@@ -12,9 +12,9 @@
 #include "src/execution/isolate.h"
 #include "src/handles/handles-inl.h"
 #include "src/objects/microtask-inl.h"
-#include "src/roots-inl.h"
+#include "src/objects/visitors.h"
+#include "src/roots/roots-inl.h"
 #include "src/tracing/trace-event.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/execution/simulator-base.h b/src/execution/simulator-base.h
index 9b3a8f5..6eca3f2 100644
--- a/src/execution/simulator-base.h
+++ b/src/execution/simulator-base.h
@@ -7,8 +7,8 @@
 
 #include <type_traits>
 
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 
 #if defined(USE_SIMULATOR)
 
diff --git a/src/execution/simulator.h b/src/execution/simulator.h
index e8908d1..ce3cc21 100644
--- a/src/execution/simulator.h
+++ b/src/execution/simulator.h
@@ -5,7 +5,7 @@
 #ifndef V8_EXECUTION_SIMULATOR_H_
 #define V8_EXECUTION_SIMULATOR_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/code.h"
 
 #if !defined(USE_SIMULATOR)
diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h
index a9c1faf..625fcc4 100644
--- a/src/execution/thread-local-top.h
+++ b/src/execution/thread-local-top.h
@@ -5,8 +5,8 @@
 #ifndef V8_EXECUTION_THREAD_LOCAL_TOP_H_
 #define V8_EXECUTION_THREAD_LOCAL_TOP_H_
 
+#include "src/common/globals.h"
 #include "src/execution/thread-id.h"
-#include "src/globals.h"
 #include "src/objects/contexts.h"
 
 namespace v8 {
diff --git a/src/v8threads.cc b/src/execution/v8threads.cc
similarity index 93%
rename from src/v8threads.cc
rename to src/execution/v8threads.cc
index 5747205..6b99b81 100644
--- a/src/v8threads.cc
+++ b/src/execution/v8threads.cc
@@ -2,19 +2,18 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8threads.h"
+#include "src/execution/v8threads.h"
 
 #include "src/api/api.h"
 #include "src/debug/debug.h"
 #include "src/execution/execution.h"
 #include "src/execution/isolate-inl.h"
 #include "src/init/bootstrapper.h"
+#include "src/objects/visitors.h"
 #include "src/regexp/regexp-stack.h"
-#include "src/visitors.h"
 
 namespace v8 {
 
-
 namespace {
 
 // Track whether this V8 instance has ever called v8::Locker. This allows the
@@ -80,7 +79,6 @@
   isolate_->thread_manager()->Unlock();
 }
 
-
 Unlocker::~Unlocker() {
   DCHECK(!isolate_->thread_manager()->IsLockedByCurrentThread());
   isolate_->thread_manager()->Lock();
@@ -157,12 +155,11 @@
 
 static int ArchiveSpacePerThread() {
   return HandleScopeImplementer::ArchiveSpacePerThread() +
-                        Isolate::ArchiveSpacePerThread() +
-                          Debug::ArchiveSpacePerThread() +
-                     StackGuard::ArchiveSpacePerThread() +
-                    RegExpStack::ArchiveSpacePerThread() +
-                   Bootstrapper::ArchiveSpacePerThread() +
-                    Relocatable::ArchiveSpacePerThread();
+         Isolate::ArchiveSpacePerThread() + Debug::ArchiveSpacePerThread() +
+         StackGuard::ArchiveSpacePerThread() +
+         RegExpStack::ArchiveSpacePerThread() +
+         Bootstrapper::ArchiveSpacePerThread() +
+         Relocatable::ArchiveSpacePerThread();
 }
 
 ThreadState::ThreadState(ThreadManager* thread_manager)
@@ -172,9 +169,7 @@
       previous_(this),
       thread_manager_(thread_manager) {}
 
-ThreadState::~ThreadState() {
-  DeleteArray<char>(data_);
-}
+ThreadState::~ThreadState() { DeleteArray<char>(data_); }
 
 void ThreadState::AllocateSpace() {
   data_ = NewArray<char>(ArchiveSpacePerThread());
@@ -186,9 +181,9 @@
 }
 
 void ThreadState::LinkInto(List list) {
-  ThreadState* flying_anchor =
-      list == FREE_LIST ? thread_manager_->free_anchor_
-                        : thread_manager_->in_use_anchor_;
+  ThreadState* flying_anchor = list == FREE_LIST
+                                   ? thread_manager_->free_anchor_
+                                   : thread_manager_->in_use_anchor_;
   next_ = flying_anchor->next_;
   previous_ = flying_anchor;
   flying_anchor->next_ = this;
@@ -316,9 +311,7 @@
   }
 }
 
-ThreadId ThreadManager::CurrentId() {
-  return ThreadId::Current();
-}
+ThreadId ThreadManager::CurrentId() { return ThreadId::Current(); }
 
 }  // namespace internal
 }  // namespace v8
diff --git a/src/v8threads.h b/src/execution/v8threads.h
similarity index 94%
rename from src/v8threads.h
rename to src/execution/v8threads.h
index 8a85e60..c59b5cc 100644
--- a/src/v8threads.h
+++ b/src/execution/v8threads.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_V8THREADS_H_
-#define V8_V8THREADS_H_
+#ifndef V8_EXECUTION_V8THREADS_H_
+#define V8_EXECUTION_V8THREADS_H_
 
 #include <atomic>
 
@@ -20,7 +20,7 @@
   // Returns nullptr after the last one.
   ThreadState* Next();
 
-  enum List {FREE_LIST, IN_USE_LIST};
+  enum List { FREE_LIST, IN_USE_LIST };
 
   void LinkInto(List list);
   void Unlink();
@@ -109,8 +109,7 @@
   friend class ThreadState;
 };
 
-
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_V8THREADS_H_
+#endif  // V8_EXECUTION_V8THREADS_H_
diff --git a/src/execution/vm-state.h b/src/execution/vm-state.h
index 7277922..38b70f5 100644
--- a/src/execution/vm-state.h
+++ b/src/execution/vm-state.h
@@ -6,7 +6,7 @@
 #define V8_EXECUTION_VM_STATE_H_
 
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/extensions/trigger-failure-extension.cc b/src/extensions/trigger-failure-extension.cc
index 1f7f72e..44c07fb 100644
--- a/src/extensions/trigger-failure-extension.cc
+++ b/src/extensions/trigger-failure-extension.cc
@@ -5,7 +5,7 @@
 #include "src/extensions/trigger-failure-extension.h"
 
 #include "src/base/logging.h"
-#include "src/checks.h"
+#include "src/common/checks.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/flag-definitions.h b/src/flags/flag-definitions.h
similarity index 98%
rename from src/flag-definitions.h
rename to src/flags/flag-definitions.h
index 4e55fdb..ab0ac37 100644
--- a/src/flag-definitions.h
+++ b/src/flags/flag-definitions.h
@@ -12,10 +12,10 @@
 //
 // PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD
 
-#define DEFINE_IMPLICATION(whenflag, thenflag)              \
+#define DEFINE_IMPLICATION(whenflag, thenflag) \
   DEFINE_VALUE_IMPLICATION(whenflag, thenflag, true)
 
-#define DEFINE_NEG_IMPLICATION(whenflag, thenflag)          \
+#define DEFINE_NEG_IMPLICATION(whenflag, thenflag) \
   DEFINE_VALUE_IMPLICATION(whenflag, thenflag, false)
 
 #define DEFINE_NEG_NEG_IMPLICATION(whenflag, thenflag) \
@@ -51,15 +51,11 @@
 // We want to write entries into our meta data table, for internal parsing and
 // printing / etc in the flag parser code.  We only do this for writable flags.
 #elif defined(FLAG_MODE_META)
-#define FLAG_FULL(ftype, ctype, nam, def, cmt)                              \
-  { Flag::TYPE_##ftype, #nam, &FLAG_##nam, &FLAGDEFAULT_##nam, cmt, false } \
-  ,
+#define FLAG_FULL(ftype, ctype, nam, def, cmt) \
+  {Flag::TYPE_##ftype, #nam, &FLAG_##nam, &FLAGDEFAULT_##nam, cmt, false},
 #define FLAG_ALIAS(ftype, ctype, alias, nam)                     \
-  {                                                              \
-    Flag::TYPE_##ftype, #alias, &FLAG_##nam, &FLAGDEFAULT_##nam, \
-        "alias for --" #nam, false                               \
-  }                                                              \
-  ,
+  {Flag::TYPE_##ftype,  #alias, &FLAG_##nam, &FLAGDEFAULT_##nam, \
+    "alias for --" #nam, false},
 
 // We produce the code to set flags when it is implied by another flag.
 #elif defined(FLAG_MODE_DEFINE_IMPLICATIONS)
@@ -159,9 +155,9 @@
 #endif
 
 #ifdef V8_OS_WIN
-# define ENABLE_LOG_COLOUR false
+#define ENABLE_LOG_COLOUR false
 #else
-# define ENABLE_LOG_COLOUR true
+#define ENABLE_LOG_COLOUR true
 #endif
 
 #define DEFINE_BOOL(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt)
@@ -213,8 +209,8 @@
   V(harmony_weak_refs, "harmony weak references")
 
 #ifdef V8_INTL_SUPPORT
-#define HARMONY_INPROGRESS(V)                             \
-  HARMONY_INPROGRESS_BASE(V)                              \
+#define HARMONY_INPROGRESS(V) \
+  HARMONY_INPROGRESS_BASE(V)  \
   V(harmony_intl_numberformat_unified, "Unified Intl.NumberFormat Features")
 #else
 #define HARMONY_INPROGRESS(V) HARMONY_INPROGRESS_BASE(V)
@@ -234,17 +230,17 @@
 #endif
 
 // Features that are shipping (turned on by default, but internal flag remains).
-#define HARMONY_SHIPPING_BASE(V)                                               \
-  V(harmony_namespace_exports,                                                 \
-    "harmony namespace exports (export * as foo from 'bar')")                  \
-  V(harmony_sharedarraybuffer, "harmony sharedarraybuffer")                    \
-  V(harmony_import_meta, "harmony import.meta property")                       \
-  V(harmony_dynamic_import, "harmony dynamic import")                          \
-  V(harmony_global, "harmony global")                                          \
-  V(harmony_object_from_entries, "harmony Object.fromEntries()")               \
-  V(harmony_await_optimization, "harmony await taking 1 tick")                 \
-  V(harmony_hashbang, "harmony hashbang syntax")                               \
-  V(harmony_numeric_separator, "harmony numeric separator between digits")     \
+#define HARMONY_SHIPPING_BASE(V)                                           \
+  V(harmony_namespace_exports,                                             \
+    "harmony namespace exports (export * as foo from 'bar')")              \
+  V(harmony_sharedarraybuffer, "harmony sharedarraybuffer")                \
+  V(harmony_import_meta, "harmony import.meta property")                   \
+  V(harmony_dynamic_import, "harmony dynamic import")                      \
+  V(harmony_global, "harmony global")                                      \
+  V(harmony_object_from_entries, "harmony Object.fromEntries()")           \
+  V(harmony_await_optimization, "harmony await taking 1 tick")             \
+  V(harmony_hashbang, "harmony hashbang syntax")                           \
+  V(harmony_numeric_separator, "harmony numeric separator between digits") \
   V(harmony_promise_all_settled, "harmony Promise.allSettled")
 
 #ifdef V8_INTL_SUPPORT
@@ -262,13 +258,12 @@
 // and associated tests are moved from the harmony directory to the appropriate
 // esN directory.
 
-
 #define FLAG_INPROGRESS_FEATURES(id, description) \
   DEFINE_BOOL(id, false, "enable " #description " (in progress)")
 HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES)
 #undef FLAG_INPROGRESS_FEATURES
 
-#define FLAG_STAGED_FEATURES(id, description) \
+#define FLAG_STAGED_FEATURES(id, description)    \
   DEFINE_BOOL(id, false, "enable " #description) \
   DEFINE_IMPLICATION(harmony, id)
 HARMONY_STAGED(FLAG_STAGED_FEATURES)
@@ -1188,7 +1183,7 @@
 // Regexp
 DEFINE_BOOL(regexp_optimization, true, "generate optimized regexp code")
 DEFINE_BOOL(regexp_mode_modifiers, false, "enable inline flags in regexp.")
-DEFINE_BOOL(regexp_interpret_all, false,  "interpret all regexp code")
+DEFINE_BOOL(regexp_interpret_all, false, "interpret all regexp code")
 
 // Testing flags test/cctest/test-{flags,api,serialization}.cc
 DEFINE_BOOL(testing_bool_flag, true, "testing_bool_flag")
diff --git a/src/flags.cc b/src/flags/flags.cc
similarity index 91%
rename from src/flags.cc
rename to src/flags/flags.cc
index 7ff3a98..147e8b2 100644
--- a/src/flags.cc
+++ b/src/flags/flags.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 #include <cctype>
 #include <cerrno>
@@ -25,11 +25,11 @@
 
 // Define all of our flags.
 #define FLAG_MODE_DEFINE
-#include "src/flag-definitions.h"  // NOLINT(build/include)
+#include "src/flags/flag-definitions.h"  // NOLINT(build/include)
 
 // Define all of our flags default values.
 #define FLAG_MODE_DEFINE_DEFAULTS
-#include "src/flag-definitions.h"  // NOLINT(build/include)
+#include "src/flags/flag-definitions.h"  // NOLINT(build/include)
 
 namespace {
 
@@ -48,12 +48,12 @@
     TYPE_STRING,
   };
 
-  FlagType type_;           // What type of flag, bool, int, or string.
-  const char* name_;        // Name of the flag, ex "my_flag".
-  void* valptr_;            // Pointer to the global flag variable.
-  const void* defptr_;      // Pointer to the default value.
-  const char* cmt_;         // A comment about the flags purpose.
-  bool owns_ptr_;           // Does the flag own its string value?
+  FlagType type_;       // What type of flag, bool, int, or string.
+  const char* name_;    // Name of the flag, ex "my_flag".
+  void* valptr_;        // Pointer to the global flag variable.
+  const void* defptr_;  // Pointer to the default value.
+  const char* cmt_;     // A comment about the flags purpose.
+  bool owns_ptr_;       // Does the flag own its string value?
 
   FlagType type() const { return type_; }
 
@@ -141,7 +141,7 @@
 
   const char* string_default() const {
     DCHECK(type_ == TYPE_STRING);
-    return *reinterpret_cast<const char* const *>(defptr_);
+    return *reinterpret_cast<const char* const*>(defptr_);
   }
 
   // Compare this flag's current value against the default.
@@ -205,32 +205,35 @@
 
 Flag flags[] = {
 #define FLAG_MODE_META
-#include "src/flag-definitions.h"  // NOLINT(build/include)
+#include "src/flags/flag-definitions.h"  // NOLINT(build/include)
 };
 
 const size_t num_flags = sizeof(flags) / sizeof(*flags);
 
 }  // namespace
 
-
 static const char* Type2String(Flag::FlagType type) {
   switch (type) {
-    case Flag::TYPE_BOOL: return "bool";
-    case Flag::TYPE_MAYBE_BOOL: return "maybe_bool";
-    case Flag::TYPE_INT: return "int";
+    case Flag::TYPE_BOOL:
+      return "bool";
+    case Flag::TYPE_MAYBE_BOOL:
+      return "maybe_bool";
+    case Flag::TYPE_INT:
+      return "int";
     case Flag::TYPE_UINT:
       return "uint";
     case Flag::TYPE_UINT64:
       return "uint64";
-    case Flag::TYPE_FLOAT: return "float";
+    case Flag::TYPE_FLOAT:
+      return "float";
     case Flag::TYPE_SIZE_T:
       return "size_t";
-    case Flag::TYPE_STRING: return "string";
+    case Flag::TYPE_STRING:
+      return "string";
   }
   UNREACHABLE();
 }
 
-
 std::ostream& operator<<(std::ostream& os, const Flag& flag) {  // NOLINT
   switch (flag.type()) {
     case Flag::TYPE_BOOL:
@@ -265,7 +268,6 @@
   return os;
 }
 
-
 // static
 std::vector<const char*>* FlagList::argv() {
   std::vector<const char*>* args = new std::vector<const char*>(8);
@@ -288,10 +290,7 @@
   return args;
 }
 
-
-inline char NormalizeChar(char ch) {
-  return ch == '_' ? '-' : ch;
-}
+inline char NormalizeChar(char ch) { return ch == '_' ? '-' : ch; }
 
 // Helper function to parse flags: Takes an argument arg and splits it into
 // a flag name and flag value (or nullptr if they are missing). negated is set
@@ -308,19 +307,18 @@
     // find the begin of the flag name
     arg++;  // remove 1st '-'
     if (*arg == '-') {
-      arg++;  // remove 2nd '-'
+      arg++;                    // remove 2nd '-'
       DCHECK_NE('\0', arg[0]);  // '--' arguments are handled in the caller.
     }
     if (arg[0] == 'n' && arg[1] == 'o') {
-      arg += 2;  // remove "no"
+      arg += 2;                                 // remove "no"
       if (NormalizeChar(arg[0]) == '-') arg++;  // remove dash after "no".
       *negated = true;
     }
     *name = arg;
 
     // find the end of the flag name
-    while (*arg != '\0' && *arg != '=')
-      arg++;
+    while (*arg != '\0' && *arg != '=') arg++;
 
     // get the value if any
     if (*arg == '=') {
@@ -336,7 +334,6 @@
   }
 }
 
-
 static bool EqualNames(const char* a, const char* b) {
   for (int i = 0; NormalizeChar(a[i]) == NormalizeChar(b[i]); i++) {
     if (a[i] == '\0') {
@@ -346,11 +343,9 @@
   return false;
 }
 
-
 static Flag* FindFlag(const char* name) {
   for (size_t i = 0; i < num_flags; ++i) {
-    if (EqualNames(name, flags[i].name()))
-      return &flags[i];
+    if (EqualNames(name, flags[i].name())) return &flags[i];
   }
   return nullptr;
 }
@@ -376,8 +371,7 @@
 }
 
 // static
-int FlagList::SetFlagsFromCommandLine(int* argc,
-                                      char** argv,
+int FlagList::SetFlagsFromCommandLine(int* argc, char** argv,
                                       bool remove_flags) {
   int return_code = 0;
   // parse arguments
@@ -386,7 +380,7 @@
     const char* arg = argv[i++];
 
     // split arg into flag components
-    char buffer[1*KB];
+    char buffer[1 * KB];
     const char* name;
     const char* value;
     bool negated;
@@ -463,7 +457,7 @@
 
       // handle errors
       bool is_bool_type = flag->type() == Flag::TYPE_BOOL ||
-          flag->type() == Flag::TYPE_MAYBE_BOOL;
+                          flag->type() == Flag::TYPE_MAYBE_BOOL;
       if ((is_bool_type && value != nullptr) || (!is_bool_type && negated) ||
           *endp != '\0') {
         // TODO(neis): TryParseUnsigned may return with {*endp == '\0'} even in
@@ -513,19 +507,16 @@
   return return_code;
 }
 
-
 static char* SkipWhiteSpace(char* p) {
   while (*p != '\0' && isspace(*p) != 0) p++;
   return p;
 }
 
-
 static char* SkipBlackSpace(char* p) {
   while (*p != '\0' && isspace(*p) == 0) p++;
   return p;
 }
 
-
 // static
 int FlagList::SetFlagsFromString(const char* str, size_t len) {
   // make a 0-terminated copy of str
@@ -565,7 +556,6 @@
   }
 }
 
-
 // static
 void FlagList::PrintHelp() {
   CpuFeatures::Probe(false);
@@ -600,10 +590,8 @@
   }
 }
 
-
 static uint32_t flag_hash = 0;
 
-
 void ComputeFlagListHash() {
   std::ostringstream modified_args_as_string;
 #ifdef DEBUG
@@ -630,16 +618,19 @@
       base::hash_range(args.c_str(), args.c_str() + args.length()));
 }
 
-
 // static
 void FlagList::EnforceFlagImplications() {
 #define FLAG_MODE_DEFINE_IMPLICATIONS
-#include "src/flag-definitions.h"  // NOLINT(build/include)
+#include "src/flags/flag-definitions.h"  // NOLINT(build/include)
 #undef FLAG_MODE_DEFINE_IMPLICATIONS
   ComputeFlagListHash();
 }
 
-
 uint32_t FlagList::Hash() { return flag_hash; }
+
+#undef FLAG_MODE_DEFINE
+#undef FLAG_MODE_DEFINE_DEFAULTS
+#undef FLAG_MODE_META
+
 }  // namespace internal
 }  // namespace v8
diff --git a/src/flags.h b/src/flags/flags.h
similarity index 88%
rename from src/flags.h
rename to src/flags/flags.h
index 7e6e0cb..5f0a6d0 100644
--- a/src/flags.h
+++ b/src/flags/flags.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_FLAGS_H_
-#define V8_FLAGS_H_
+#ifndef V8_FLAGS_FLAGS_H_
+#define V8_FLAGS_FLAGS_H_
 
 #include <vector>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/wasm/wasm-limits.h"
 
 namespace v8 {
@@ -15,7 +15,7 @@
 
 // Declare all of our flags.
 #define FLAG_MODE_DECLARE
-#include "src/flag-definitions.h"  // NOLINT
+#include "src/flags/flag-definitions.h"  // NOLINT
 
 // The global list of all flags.
 class V8_EXPORT_PRIVATE FlagList {
@@ -44,9 +44,7 @@
   //   --flag=value  (non-bool flags only, no spaces around '=')
   //   --flag value  (non-bool flags only)
   //   --            (capture all remaining args in JavaScript)
-  static int SetFlagsFromCommandLine(int* argc,
-                                     char** argv,
-                                     bool remove_flags);
+  static int SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags);
 
   // Set the flag values by parsing the string str. Splits string into argc
   // substrings argv[], each of which consisting of non-white-space chars,
@@ -70,4 +68,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_FLAGS_H_
+#endif  // V8_FLAGS_FLAGS_H_
diff --git a/src/handles/global-handles.cc b/src/handles/global-handles.cc
index ef262df..f8dc7e7 100644
--- a/src/handles/global-handles.cc
+++ b/src/handles/global-handles.cc
@@ -6,16 +6,16 @@
 
 #include "src/api/api-inl.h"
 #include "src/base/compiler-specific.h"
-#include "src/cancelable-task.h"
 #include "src/execution/vm-state-inl.h"
 #include "src/heap/embedder-tracing.h"
 #include "src/heap/heap-write-barrier-inl.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/slots.h"
-#include "src/task-utils.h"
-#include "src/v8.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
+#include "src/tasks/cancelable-task.h"
+#include "src/tasks/task-utils.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/handles/handles.cc b/src/handles/handles.cc
index 872d0f6..e0a1f23 100644
--- a/src/handles/handles.cc
+++ b/src/handles/handles.cc
@@ -8,7 +8,7 @@
 #include "src/base/logging.h"
 #include "src/handles/maybe-handles.h"
 #include "src/objects/objects-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 #include "src/utils/address-map.h"
 #include "src/utils/identity-map.h"
 
diff --git a/src/handles/handles.h b/src/handles/handles.h
index a3e98f5..5f9b170 100644
--- a/src/handles/handles.h
+++ b/src/handles/handles.h
@@ -10,8 +10,8 @@
 #include "include/v8.h"
 #include "src/base/functional.h"
 #include "src/base/macros.h"
-#include "src/checks.h"
-#include "src/globals.h"
+#include "src/common/checks.h"
+#include "src/common/globals.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
diff --git a/src/heap/array-buffer-collector.cc b/src/heap/array-buffer-collector.cc
index 6d4e1bb..b6d7df8 100644
--- a/src/heap/array-buffer-collector.cc
+++ b/src/heap/array-buffer-collector.cc
@@ -5,11 +5,11 @@
 #include "src/heap/array-buffer-collector.h"
 
 #include "src/base/template-utils.h"
-#include "src/cancelable-task.h"
 #include "src/heap/array-buffer-tracker.h"
 #include "src/heap/gc-tracer.h"
 #include "src/heap/heap-inl.h"
-#include "src/task-utils.h"
+#include "src/tasks/cancelable-task.h"
+#include "src/tasks/task-utils.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/array-buffer-tracker.h b/src/heap/array-buffer-tracker.h
index 0555510..e8ca57b 100644
--- a/src/heap/array-buffer-tracker.h
+++ b/src/heap/array-buffer-tracker.h
@@ -8,7 +8,7 @@
 #include <unordered_map>
 
 #include "src/base/platform/mutex.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/js-array-buffer.h"
 #include "src/utils/allocation.h"
 
diff --git a/src/heap/concurrent-marking.cc b/src/heap/concurrent-marking.cc
index 7914890..8ce9642 100644
--- a/src/heap/concurrent-marking.cc
+++ b/src/heap/concurrent-marking.cc
@@ -19,6 +19,7 @@
 #include "src/heap/objects-visiting-inl.h"
 #include "src/heap/objects-visiting.h"
 #include "src/heap/worklist.h"
+#include "src/init/v8.h"
 #include "src/objects/data-handler-inl.h"
 #include "src/objects/embedder-data-array-inl.h"
 #include "src/objects/hash-table-inl.h"
@@ -26,7 +27,6 @@
 #include "src/objects/transitions-inl.h"
 #include "src/utils/utils-inl.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/concurrent-marking.h b/src/heap/concurrent-marking.h
index 85cf594..be2fc03 100644
--- a/src/heap/concurrent-marking.h
+++ b/src/heap/concurrent-marking.h
@@ -9,13 +9,13 @@
 #include "src/base/atomic-utils.h"
 #include "src/base/platform/condition-variable.h"
 #include "src/base/platform/mutex.h"
-#include "src/cancelable-task.h"
 #include "src/heap/slot-set.h"
 #include "src/heap/spaces.h"
 #include "src/heap/worklist.h"
+#include "src/init/v8.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/utils/allocation.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/embedder-tracing.h b/src/heap/embedder-tracing.h
index e4e4f52..4309fb7 100644
--- a/src/heap/embedder-tracing.h
+++ b/src/heap/embedder-tracing.h
@@ -6,8 +6,8 @@
 #define V8_HEAP_EMBEDDER_TRACING_H_
 
 #include "include/v8.h"
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/factory.cc b/src/heap/factory.cc
index dc927d5..c97cc8c 100644
--- a/src/heap/factory.cc
+++ b/src/heap/factory.cc
@@ -4,7 +4,6 @@
 
 #include "src/heap/factory.h"
 
-#include "src/allocation-site-scopes.h"
 #include "src/ast/ast-source-ranges.h"
 #include "src/ast/ast.h"
 #include "src/base/bits.h"
@@ -12,7 +11,6 @@
 #include "src/builtins/constants-table-builder.h"
 #include "src/codegen/compiler.h"
 #include "src/execution/isolate-inl.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/incremental-marking.h"
 #include "src/heap/mark-compact-inl.h"
@@ -23,7 +21,9 @@
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
 #include "src/numbers/conversions.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/allocation-site-inl.h"
+#include "src/objects/allocation-site-scopes.h"
 #include "src/objects/api-callbacks.h"
 #include "src/objects/arguments-inl.h"
 #include "src/objects/bigint.h"
diff --git a/src/heap/factory.h b/src/heap/factory.h
index 596fb9e..10de7f9 100644
--- a/src/heap/factory.h
+++ b/src/heap/factory.h
@@ -8,8 +8,8 @@
 // Clients of this interface shouldn't depend on lots of heap internals.
 // Do not include anything from src/heap here!
 #include "src/builtins/builtins.h"
+#include "src/common/globals.h"
 #include "src/execution/messages.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 #include "src/handles/maybe-handles.h"
 #include "src/heap/heap.h"
diff --git a/src/heap/gc-idle-time-handler.cc b/src/heap/gc-idle-time-handler.cc
index b8f61f9..7b1defb 100644
--- a/src/heap/gc-idle-time-handler.cc
+++ b/src/heap/gc-idle-time-handler.cc
@@ -4,7 +4,7 @@
 
 #include "src/heap/gc-idle-time-handler.h"
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/heap/gc-tracer.h"
 #include "src/utils/utils.h"
 
diff --git a/src/heap/gc-idle-time-handler.h b/src/heap/gc-idle-time-handler.h
index 5781f44..a7ce5da 100644
--- a/src/heap/gc-idle-time-handler.h
+++ b/src/heap/gc-idle-time-handler.h
@@ -5,7 +5,7 @@
 #ifndef V8_HEAP_GC_IDLE_TIME_HANDLER_H_
 #define V8_HEAP_GC_IDLE_TIME_HANDLER_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/gc-tracer.h b/src/heap/gc-tracer.h
index 2bbedf4..4ddd0ef 100644
--- a/src/heap/gc-tracer.h
+++ b/src/heap/gc-tracer.h
@@ -8,9 +8,9 @@
 #include "src/base/compiler-specific.h"
 #include "src/base/platform/platform.h"
 #include "src/base/ring-buffer.h"
-#include "src/globals.h"
-#include "src/heap-symbols.h"
+#include "src/common/globals.h"
 #include "src/heap/heap.h"
+#include "src/init/heap-symbols.h"
 #include "src/logging/counters.h"
 #include "testing/gtest/include/gtest/gtest_prod.h"  // nogncheck
 
diff --git a/src/heap/heap-write-barrier-inl.h b/src/heap/heap-write-barrier-inl.h
index 1468a28..6c5f20a 100644
--- a/src/heap/heap-write-barrier-inl.h
+++ b/src/heap/heap-write-barrier-inl.h
@@ -10,7 +10,7 @@
 
 #include "src/heap/heap-write-barrier.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 // TODO(jkummerow): Get rid of this by moving GetIsolateFromWritableObject
 // elsewhere.
 #include "src/execution/isolate.h"
diff --git a/src/heap/heap-write-barrier.h b/src/heap/heap-write-barrier.h
index 10a2964..ead17f9 100644
--- a/src/heap/heap-write-barrier.h
+++ b/src/heap/heap-write-barrier.h
@@ -6,7 +6,7 @@
 #define V8_HEAP_HEAP_WRITE_BARRIER_H_
 
 #include "include/v8-internal.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index c4c52ba..6e4c935 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
@@ -20,6 +20,7 @@
 #include "src/deoptimizer/deoptimizer.h"
 #include "src/execution/microtask-queue.h"
 #include "src/execution/runtime-profiler.h"
+#include "src/execution/v8threads.h"
 #include "src/execution/vm-state-inl.h"
 #include "src/handles/global-handles.h"
 #include "src/heap/array-buffer-collector.h"
@@ -50,6 +51,7 @@
 #include "src/heap/stress-scavenge-observer.h"
 #include "src/heap/sweeper.h"
 #include "src/init/bootstrapper.h"
+#include "src/init/v8.h"
 #include "src/interpreter/interpreter.h"
 #include "src/logging/log.h"
 #include "src/numbers/conversions.h"
@@ -72,8 +74,6 @@
 #include "src/tracing/trace-event.h"
 #include "src/utils/utils-inl.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
-#include "src/v8threads.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/heap/heap.h b/src/heap/heap.h
index 4182958..53bd065 100644
--- a/src/heap/heap.h
+++ b/src/heap/heap.h
@@ -15,20 +15,20 @@
 // Do not include anything from src/heap here!
 #include "include/v8-internal.h"
 #include "include/v8.h"
-#include "src/assert-scope.h"
 #include "src/base/atomic-utils.h"
 #include "src/builtins/accessors.h"
-#include "src/globals.h"
-#include "src/heap-symbols.h"
+#include "src/common/assert-scope.h"
+#include "src/common/globals.h"
+#include "src/init/heap-symbols.h"
 #include "src/objects/allocation-site.h"
 #include "src/objects/fixed-array.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/objects.h"
 #include "src/objects/smi.h"
 #include "src/objects/string-table.h"
-#include "src/roots.h"
+#include "src/objects/visitors.h"
+#include "src/roots/roots.h"
 #include "src/utils/allocation.h"
-#include "src/visitors.h"
 #include "testing/gtest/include/gtest/gtest_prod.h"
 
 namespace v8 {
diff --git a/src/heap/incremental-marking-job.cc b/src/heap/incremental-marking-job.cc
index c18894f..c6e607c 100644
--- a/src/heap/incremental-marking-job.cc
+++ b/src/heap/incremental-marking-job.cc
@@ -11,7 +11,7 @@
 #include "src/heap/heap-inl.h"
 #include "src/heap/heap.h"
 #include "src/heap/incremental-marking.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/incremental-marking-job.h b/src/heap/incremental-marking-job.h
index 277a395..145f1dc 100644
--- a/src/heap/incremental-marking-job.h
+++ b/src/heap/incremental-marking-job.h
@@ -5,7 +5,7 @@
 #ifndef V8_HEAP_INCREMENTAL_MARKING_JOB_H_
 #define V8_HEAP_INCREMENTAL_MARKING_JOB_H_
 
-#include "src/cancelable-task.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc
index 944bbc0..4a901dc 100644
--- a/src/heap/incremental-marking.cc
+++ b/src/heap/incremental-marking.cc
@@ -17,15 +17,15 @@
 #include "src/heap/objects-visiting-inl.h"
 #include "src/heap/objects-visiting.h"
 #include "src/heap/sweeper.h"
+#include "src/init/v8.h"
 #include "src/numbers/conversions.h"
 #include "src/objects/data-handler-inl.h"
 #include "src/objects/embedder-data-array-inl.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/slots-inl.h"
 #include "src/objects/transitions-inl.h"
+#include "src/objects/visitors.h"
 #include "src/tracing/trace-event.h"
-#include "src/v8.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/incremental-marking.h b/src/heap/incremental-marking.h
index 5e0d0c2..7284034 100644
--- a/src/heap/incremental-marking.h
+++ b/src/heap/incremental-marking.h
@@ -5,10 +5,10 @@
 #ifndef V8_HEAP_INCREMENTAL_MARKING_H_
 #define V8_HEAP_INCREMENTAL_MARKING_H_
 
-#include "src/cancelable-task.h"
 #include "src/heap/heap.h"
 #include "src/heap/incremental-marking-job.h"
 #include "src/heap/mark-compact.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/invalidated-slots-inl.h b/src/heap/invalidated-slots-inl.h
index bae6e91..58f6ac9 100644
--- a/src/heap/invalidated-slots-inl.h
+++ b/src/heap/invalidated-slots-inl.h
@@ -9,10 +9,10 @@
 
 #include "src/heap/invalidated-slots.h"
 #include "src/heap/spaces.h"
-#include "src/objects-body-descriptors-inl.h"
-#include "src/objects-body-descriptors.h"
-#include "src/utils/allocation.h"
+#include "src/objects/objects-body-descriptors-inl.h"
+#include "src/objects/objects-body-descriptors.h"
 #include "src/objects/objects.h"
+#include "src/utils/allocation.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/item-parallel-job.cc b/src/heap/item-parallel-job.cc
index 7eb026e..1945e32 100644
--- a/src/heap/item-parallel-job.cc
+++ b/src/heap/item-parallel-job.cc
@@ -5,8 +5,8 @@
 #include "src/heap/item-parallel-job.h"
 
 #include "src/base/platform/semaphore.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/item-parallel-job.h b/src/heap/item-parallel-job.h
index 6639ea1e..54f09b8 100644
--- a/src/heap/item-parallel-job.h
+++ b/src/heap/item-parallel-job.h
@@ -11,8 +11,8 @@
 #include "src/base/atomic-utils.h"
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/cancelable-task.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 
diff --git a/src/heap/local-allocator.h b/src/heap/local-allocator.h
index ad99f07..7019a79 100644
--- a/src/heap/local-allocator.h
+++ b/src/heap/local-allocator.h
@@ -5,7 +5,7 @@
 #ifndef V8_HEAP_LOCAL_ALLOCATOR_H_
 #define V8_HEAP_LOCAL_ALLOCATOR_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/heap.h"
 #include "src/heap/spaces.h"
 
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
index a6bd048..03be110 100644
--- a/src/heap/mark-compact.cc
+++ b/src/heap/mark-compact.cc
@@ -7,7 +7,6 @@
 #include <unordered_map>
 
 #include "src/base/utils/random-number-generator.h"
-#include "src/cancelable-task.h"
 #include "src/codegen/compilation-cache.h"
 #include "src/deoptimizer/deoptimizer.h"
 #include "src/execution/execution.h"
@@ -29,6 +28,7 @@
 #include "src/heap/sweeper.h"
 #include "src/heap/worklist.h"
 #include "src/ic/stub-cache.h"
+#include "src/init/v8.h"
 #include "src/objects/embedder-data-array-inl.h"
 #include "src/objects/foreign.h"
 #include "src/objects/hash-table-inl.h"
@@ -36,8 +36,8 @@
 #include "src/objects/maybe-object.h"
 #include "src/objects/slots-inl.h"
 #include "src/objects/transitions-inl.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/utils/utils-inl.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/memory-reducer.cc b/src/heap/memory-reducer.cc
index 525b573..704e656 100644
--- a/src/heap/memory-reducer.cc
+++ b/src/heap/memory-reducer.cc
@@ -4,12 +4,12 @@
 
 #include "src/heap/memory-reducer.h"
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/heap/gc-tracer.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/incremental-marking.h"
+#include "src/init/v8.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/memory-reducer.h b/src/heap/memory-reducer.h
index 2b0a8b8..ae5ff32 100644
--- a/src/heap/memory-reducer.h
+++ b/src/heap/memory-reducer.h
@@ -7,8 +7,8 @@
 
 #include "include/v8-platform.h"
 #include "src/base/macros.h"
-#include "src/cancelable-task.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/object-stats.cc b/src/heap/object-stats.cc
index f7ab7b2..033f4fc 100644
--- a/src/heap/object-stats.cc
+++ b/src/heap/object-stats.cc
@@ -10,8 +10,8 @@
 #include "src/base/bits.h"
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/compilation-cache.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/heap/combined-heap.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/mark-compact.h"
diff --git a/src/heap/objects-visiting-inl.h b/src/heap/objects-visiting-inl.h
index 5b2fd23..d96cded 100644
--- a/src/heap/objects-visiting-inl.h
+++ b/src/heap/objects-visiting-inl.h
@@ -10,9 +10,9 @@
 #include "src/heap/array-buffer-tracker.h"
 #include "src/heap/embedder-tracing.h"
 #include "src/heap/mark-compact.h"
-#include "src/objects-body-descriptors-inl.h"
 #include "src/objects/free-space-inl.h"
 #include "src/objects/js-weak-refs-inl.h"
+#include "src/objects/objects-body-descriptors-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/oddball.h"
 #include "src/objects/ordered-hash-table.h"
diff --git a/src/heap/objects-visiting.h b/src/heap/objects-visiting.h
index 28a546a..0ef3135 100644
--- a/src/heap/objects-visiting.h
+++ b/src/heap/objects-visiting.h
@@ -8,7 +8,7 @@
 #include "src/objects/fixed-array.h"
 #include "src/objects/map.h"
 #include "src/objects/objects.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/read-only-heap.h b/src/heap/read-only-heap.h
index 913e6af..697c9e2 100644
--- a/src/heap/read-only-heap.h
+++ b/src/heap/read-only-heap.h
@@ -8,7 +8,7 @@
 #include "src/base/macros.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/objects.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/remembered-set.h b/src/heap/remembered-set.h
index 8792762..cd2344b 100644
--- a/src/heap/remembered-set.h
+++ b/src/heap/remembered-set.h
@@ -6,10 +6,10 @@
 #define V8_HEAP_REMEMBERED_SET_H_
 
 #include "src/codegen/reloc-info.h"
+#include "src/common/v8memory.h"
 #include "src/heap/heap.h"
 #include "src/heap/slot-set.h"
 #include "src/heap/spaces.h"
-#include "src/v8memory.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/scavenge-job.cc b/src/heap/scavenge-job.cc
index 802cfae..273866d 100644
--- a/src/heap/scavenge-job.cc
+++ b/src/heap/scavenge-job.cc
@@ -11,7 +11,7 @@
 #include "src/heap/heap-inl.h"
 #include "src/heap/heap.h"
 #include "src/heap/spaces.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/scavenge-job.h b/src/heap/scavenge-job.h
index 34f7bfa..2b35ccb 100644
--- a/src/heap/scavenge-job.h
+++ b/src/heap/scavenge-job.h
@@ -5,8 +5,8 @@
 #ifndef V8_HEAP_SCAVENGE_JOB_H_
 #define V8_HEAP_SCAVENGE_JOB_H_
 
-#include "src/cancelable-task.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/scavenger.cc b/src/heap/scavenger.cc
index 3439ead..c7666b7 100644
--- a/src/heap/scavenger.cc
+++ b/src/heap/scavenger.cc
@@ -13,9 +13,9 @@
 #include "src/heap/objects-visiting-inl.h"
 #include "src/heap/scavenger-inl.h"
 #include "src/heap/sweeper.h"
-#include "src/objects-body-descriptors-inl.h"
 #include "src/objects/data-handler-inl.h"
 #include "src/objects/embedder-data-array-inl.h"
+#include "src/objects/objects-body-descriptors-inl.h"
 #include "src/objects/transitions-inl.h"
 #include "src/utils/utils-inl.h"
 
diff --git a/src/heap/setup-heap-internal.cc b/src/heap/setup-heap-internal.cc
index dffcb2d..c43abde 100644
--- a/src/heap/setup-heap-internal.cc
+++ b/src/heap/setup-heap-internal.cc
@@ -7,10 +7,10 @@
 #include "src/builtins/accessors.h"
 #include "src/codegen/compilation-cache.h"
 #include "src/execution/isolate.h"
-#include "src/heap-symbols.h"
 #include "src/heap/factory.h"
 #include "src/heap/heap-inl.h"
 #include "src/ic/handler-configuration.h"
+#include "src/init/heap-symbols.h"
 #include "src/interpreter/interpreter.h"
 #include "src/objects/arguments.h"
 #include "src/objects/cell-inl.h"
diff --git a/src/heap/spaces.cc b/src/heap/spaces.cc
index 061463a..2c8cbdf 100644
--- a/src/heap/spaces.cc
+++ b/src/heap/spaces.cc
@@ -23,6 +23,7 @@
 #include "src/heap/remembered-set.h"
 #include "src/heap/slot-set.h"
 #include "src/heap/sweeper.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/objects/free-space-inl.h"
 #include "src/objects/js-array-buffer-inl.h"
@@ -30,7 +31,6 @@
 #include "src/sanitizer/msan.h"
 #include "src/snapshot/snapshot.h"
 #include "src/utils/ostreams.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/spaces.h b/src/heap/spaces.h
index 3645f38..7522cac 100644
--- a/src/heap/spaces.h
+++ b/src/heap/spaces.h
@@ -18,18 +18,18 @@
 #include "src/base/iterator.h"
 #include "src/base/list.h"
 #include "src/base/platform/mutex.h"
-#include "src/cancelable-task.h"
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 #include "src/heap/heap.h"
 #include "src/heap/invalidated-slots.h"
 #include "src/heap/marking.h"
 #include "src/objects/free-space.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/map.h"
+#include "src/objects/objects.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/utils/allocation.h"
 #include "src/utils/utils.h"
-#include "src/objects/objects.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc
index f3e7a22..e59e72d 100644
--- a/src/heap/store-buffer.cc
+++ b/src/heap/store-buffer.cc
@@ -12,9 +12,9 @@
 #include "src/execution/isolate.h"
 #include "src/heap/incremental-marking.h"
 #include "src/heap/store-buffer-inl.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap/store-buffer.h b/src/heap/store-buffer.h
index 9c3aeca..62b10b9 100644
--- a/src/heap/store-buffer.h
+++ b/src/heap/store-buffer.h
@@ -7,11 +7,11 @@
 
 #include "src/base/logging.h"
 #include "src/base/platform/platform.h"
-#include "src/cancelable-task.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/gc-tracer.h"
 #include "src/heap/remembered-set.h"
 #include "src/heap/slot-set.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/utils/allocation.h"
 
 namespace v8 {
diff --git a/src/heap/sweeper.h b/src/heap/sweeper.h
index 8dc37b0..97de7a0 100644
--- a/src/heap/sweeper.h
+++ b/src/heap/sweeper.h
@@ -9,8 +9,8 @@
 #include <vector>
 
 #include "src/base/platform/semaphore.h"
-#include "src/cancelable-task.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
index 4472bcc..be975ca 100644
--- a/src/ia32/assembler-ia32.cc
+++ b/src/ia32/assembler-ia32.cc
@@ -54,8 +54,8 @@
 #include "src/codegen/string-constants.h"
 #include "src/deoptimizer/deoptimizer.h"
 #include "src/diagnostics/disassembler.h"
+#include "src/init/v8.h"
 #include "src/numbers/conversions-inl.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/ia32/constants-ia32.h b/src/ia32/constants-ia32.h
index 38ad128..189983e 100644
--- a/src/ia32/constants-ia32.h
+++ b/src/ia32/constants-ia32.h
@@ -5,7 +5,7 @@
 #ifndef V8_IA32_CONSTANTS_IA32_H_
 #define V8_IA32_CONSTANTS_IA32_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
index 5b9da2d..5478f98 100644
--- a/src/ia32/macro-assembler-ia32.cc
+++ b/src/ia32/macro-assembler-ia32.cc
@@ -9,11 +9,11 @@
 #include "src/base/utils/random-number-generator.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/debug/debug.h"
 #include "src/execution/frame-constants.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/ia32/assembler-ia32-inl.h"
 #include "src/init/bootstrapper.h"
diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
index 6128abd..3f8bf2d 100644
--- a/src/ia32/macro-assembler-ia32.h
+++ b/src/ia32/macro-assembler-ia32.h
@@ -11,7 +11,7 @@
 
 #include "src/codegen/assembler.h"
 #include "src/codegen/bailout-reason.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/ia32/assembler-ia32.h"
 
 namespace v8 {
diff --git a/src/ic/binary-op-assembler.cc b/src/ic/binary-op-assembler.cc
index ebe6443..a7a5b98 100644
--- a/src/ic/binary-op-assembler.cc
+++ b/src/ic/binary-op-assembler.cc
@@ -4,7 +4,7 @@
 
 #include "src/ic/binary-op-assembler.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/ic/handler-configuration.h b/src/ic/handler-configuration.h
index 3a1ce54..b888886 100644
--- a/src/ic/handler-configuration.h
+++ b/src/ic/handler-configuration.h
@@ -5,13 +5,13 @@
 #ifndef V8_IC_HANDLER_CONFIGURATION_H_
 #define V8_IC_HANDLER_CONFIGURATION_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/maybe-handles.h"
 #include "src/objects/data-handler.h"
 #include "src/objects/elements-kind.h"
 #include "src/objects/field-index.h"
-#include "src/utils/utils.h"
 #include "src/objects/objects.h"
+#include "src/utils/utils.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/ic/ic-stats.cc b/src/ic/ic-stats.cc
index adf01ec..f387239 100644
--- a/src/ic/ic-stats.cc
+++ b/src/ic/ic-stats.cc
@@ -4,11 +4,11 @@
 
 #include "src/ic/ic-stats.h"
 
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/objects/objects-inl.h"
 #include "src/tracing/trace-event.h"
 #include "src/tracing/traced-value.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/ic/keyed-store-generic.h b/src/ic/keyed-store-generic.h
index 9ab8db7..322bb63 100644
--- a/src/ic/keyed-store-generic.h
+++ b/src/ic/keyed-store-generic.h
@@ -5,8 +5,8 @@
 #ifndef V8_IC_KEYED_STORE_GENERIC_H_
 #define V8_IC_KEYED_STORE_GENERIC_H_
 
+#include "src/common/globals.h"
 #include "src/compiler/code-assembler.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/init/bootstrapper.h b/src/init/bootstrapper.h
index a6100e5..43dcd6a 100644
--- a/src/init/bootstrapper.h
+++ b/src/init/bootstrapper.h
@@ -8,8 +8,8 @@
 #include "src/heap/factory.h"
 #include "src/objects/fixed-array.h"
 #include "src/objects/shared-function-info.h"
+#include "src/objects/visitors.h"
 #include "src/snapshot/natives.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/heap-symbols.h b/src/init/heap-symbols.h
similarity index 94%
rename from src/heap-symbols.h
rename to src/init/heap-symbols.h
index 445079f..2293dc6 100644
--- a/src/heap-symbols.h
+++ b/src/init/heap-symbols.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_HEAP_SYMBOLS_H_
-#define V8_HEAP_SYMBOLS_H_
+#ifndef V8_INIT_HEAP_SYMBOLS_H_
+#define V8_INIT_HEAP_SYMBOLS_H_
 
 #ifdef V8_INTL_SUPPORT
 #define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)               \
@@ -110,210 +110,210 @@
 #define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)
 #endif  // V8_INTL_SUPPORT
 
-#define INTERNALIZED_STRING_LIST_GENERATOR(V, _)                      \
-  INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)                       \
-  V(_, add_string, "add")                                             \
-  V(_, always_string, "always")                                       \
-  V(_, anonymous_function_string, "(anonymous function)")             \
-  V(_, anonymous_string, "anonymous")                                 \
-  V(_, apply_string, "apply")                                         \
-  V(_, Arguments_string, "Arguments")                                 \
-  V(_, arguments_string, "arguments")                                 \
-  V(_, arguments_to_string, "[object Arguments]")                     \
-  V(_, Array_string, "Array")                                         \
-  V(_, array_to_string, "[object Array]")                             \
-  V(_, ArrayBuffer_string, "ArrayBuffer")                             \
-  V(_, ArrayIterator_string, "Array Iterator")                        \
-  V(_, as_string, "as")                                               \
-  V(_, async_string, "async")                                         \
-  V(_, auto_string, "auto")                                           \
-  V(_, await_string, "await")                                         \
-  V(_, BigInt_string, "BigInt")                                       \
-  V(_, bigint_string, "bigint")                                       \
-  V(_, BigInt64Array_string, "BigInt64Array")                         \
-  V(_, BigUint64Array_string, "BigUint64Array")                       \
-  V(_, bind_string, "bind")                                           \
-  V(_, Boolean_string, "Boolean")                                     \
-  V(_, boolean_string, "boolean")                                     \
-  V(_, boolean_to_string, "[object Boolean]")                         \
-  V(_, bound__string, "bound ")                                       \
-  V(_, buffer_string, "buffer")                                       \
-  V(_, byte_length_string, "byteLength")                              \
-  V(_, byte_offset_string, "byteOffset")                              \
-  V(_, CompileError_string, "CompileError")                           \
-  V(_, callee_string, "callee")                                       \
-  V(_, caller_string, "caller")                                       \
-  V(_, character_string, "character")                                 \
-  V(_, closure_string, "(closure)")                                   \
-  V(_, code_string, "code")                                           \
-  V(_, column_string, "column")                                       \
-  V(_, computed_string, "<computed>")                                 \
-  V(_, configurable_string, "configurable")                           \
-  V(_, conjunction_string, "conjunction")                             \
-  V(_, construct_string, "construct")                                 \
-  V(_, constructor_string, "constructor")                             \
-  V(_, Date_string, "Date")                                           \
-  V(_, date_to_string, "[object Date]")                               \
-  V(_, default_string, "default")                                     \
-  V(_, defineProperty_string, "defineProperty")                       \
-  V(_, deleteProperty_string, "deleteProperty")                       \
-  V(_, disjunction_string, "disjunction")                             \
-  V(_, display_name_string, "displayName")                            \
-  V(_, done_string, "done")                                           \
-  V(_, dot_brand_string, ".brand")                                    \
-  V(_, dot_catch_string, ".catch")                                    \
-  V(_, dot_default_string, ".default")                                \
-  V(_, dot_for_string, ".for")                                        \
-  V(_, dot_generator_object_string, ".generator_object")              \
-  V(_, dot_iterator_string, ".iterator")                              \
-  V(_, dot_promise_string, ".promise")                                \
-  V(_, dot_result_string, ".result")                                  \
-  V(_, dot_string, ".")                                               \
-  V(_, dot_switch_tag_string, ".switch_tag")                          \
-  V(_, dotAll_string, "dotAll")                                       \
-  V(_, enumerable_string, "enumerable")                               \
-  V(_, element_string, "element")                                     \
-  V(_, Error_string, "Error")                                         \
-  V(_, error_to_string, "[object Error]")                             \
-  V(_, eval_string, "eval")                                           \
-  V(_, EvalError_string, "EvalError")                                 \
-  V(_, exec_string, "exec")                                           \
-  V(_, false_string, "false")                                         \
-  V(_, flags_string, "flags")                                         \
-  V(_, Float32Array_string, "Float32Array")                           \
-  V(_, Float64Array_string, "Float64Array")                           \
-  V(_, from_string, "from")                                           \
-  V(_, Function_string, "Function")                                   \
-  V(_, function_native_code_string, "function () { [native code] }")  \
-  V(_, function_string, "function")                                   \
-  V(_, function_to_string, "[object Function]")                       \
-  V(_, Generator_string, "Generator")                                 \
-  V(_, get_space_string, "get ")                                      \
-  V(_, get_string, "get")                                             \
-  V(_, getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor")   \
-  V(_, getPrototypeOf_string, "getPrototypeOf")                       \
-  V(_, global_string, "global")                                       \
-  V(_, globalThis_string, "globalThis")                               \
-  V(_, groups_string, "groups")                                       \
-  V(_, has_string, "has")                                             \
-  V(_, ignoreCase_string, "ignoreCase")                               \
-  V(_, illegal_access_string, "illegal access")                       \
-  V(_, illegal_argument_string, "illegal argument")                   \
-  V(_, index_string, "index")                                         \
-  V(_, Infinity_string, "Infinity")                                   \
-  V(_, infinity_string, "infinity")                                   \
-  V(_, input_string, "input")                                         \
-  V(_, Int16Array_string, "Int16Array")                               \
-  V(_, Int32Array_string, "Int32Array")                               \
-  V(_, Int8Array_string, "Int8Array")                                 \
-  V(_, isExtensible_string, "isExtensible")                           \
-  V(_, keys_string, "keys")                                           \
-  V(_, lastIndex_string, "lastIndex")                                 \
-  V(_, length_string, "length")                                       \
-  V(_, let_string, "let")                                             \
-  V(_, line_string, "line")                                           \
-  V(_, LinkError_string, "LinkError")                                 \
-  V(_, long_string, "long")                                           \
-  V(_, Map_string, "Map")                                             \
-  V(_, MapIterator_string, "Map Iterator")                            \
-  V(_, medium_string, "medium")                                       \
-  V(_, message_string, "message")                                     \
-  V(_, meta_string, "meta")                                           \
-  V(_, minus_Infinity_string, "-Infinity")                            \
-  V(_, Module_string, "Module")                                       \
-  V(_, multiline_string, "multiline")                                 \
-  V(_, name_string, "name")                                           \
-  V(_, NaN_string, "NaN")                                             \
-  V(_, narrow_string, "narrow")                                       \
-  V(_, native_string, "native")                                       \
-  V(_, new_target_string, ".new.target")                              \
-  V(_, next_string, "next")                                           \
-  V(_, NFC_string, "NFC")                                             \
-  V(_, NFD_string, "NFD")                                             \
-  V(_, NFKC_string, "NFKC")                                           \
-  V(_, NFKD_string, "NFKD")                                           \
-  V(_, not_equal, "not-equal")                                        \
-  V(_, null_string, "null")                                           \
-  V(_, null_to_string, "[object Null]")                               \
-  V(_, Number_string, "Number")                                       \
-  V(_, number_string, "number")                                       \
-  V(_, number_to_string, "[object Number]")                           \
-  V(_, Object_string, "Object")                                       \
-  V(_, object_string, "object")                                       \
-  V(_, object_to_string, "[object Object]")                           \
-  V(_, of_string, "of")                                               \
-  V(_, ok, "ok")                                                      \
-  V(_, one_string, "1")                                               \
-  V(_, ownKeys_string, "ownKeys")                                     \
-  V(_, percent_string, "percent")                                     \
-  V(_, position_string, "position")                                   \
-  V(_, preventExtensions_string, "preventExtensions")                 \
-  V(_, private_constructor_string, "#constructor")                    \
-  V(_, Promise_string, "Promise")                                     \
-  V(_, proto_string, "__proto__")                                     \
-  V(_, prototype_string, "prototype")                                 \
-  V(_, proxy_string, "proxy")                                         \
-  V(_, Proxy_string, "Proxy")                                         \
-  V(_, query_colon_string, "(?:)")                                    \
-  V(_, RangeError_string, "RangeError")                               \
-  V(_, raw_string, "raw")                                             \
-  V(_, ReferenceError_string, "ReferenceError")                       \
-  V(_, ReflectGet_string, "Reflect.get")                              \
-  V(_, ReflectHas_string, "Reflect.has")                              \
-  V(_, RegExp_string, "RegExp")                                       \
-  V(_, regexp_to_string, "[object RegExp]")                           \
-  V(_, resolve_string, "resolve")                                     \
-  V(_, return_string, "return")                                       \
-  V(_, revoke_string, "revoke")                                       \
-  V(_, RuntimeError_string, "RuntimeError")                           \
-  V(_, Script_string, "Script")                                       \
-  V(_, script_string, "script")                                       \
-  V(_, short_string, "short")                                         \
-  V(_, Set_string, "Set")                                             \
-  V(_, sentence_string, "sentence")                                   \
-  V(_, set_space_string, "set ")                                      \
-  V(_, set_string, "set")                                             \
-  V(_, SetIterator_string, "Set Iterator")                            \
-  V(_, setPrototypeOf_string, "setPrototypeOf")                       \
-  V(_, SharedArrayBuffer_string, "SharedArrayBuffer")                 \
-  V(_, source_string, "source")                                       \
-  V(_, sourceText_string, "sourceText")                               \
-  V(_, stack_string, "stack")                                         \
-  V(_, stackTraceLimit_string, "stackTraceLimit")                     \
-  V(_, sticky_string, "sticky")                                       \
-  V(_, String_string, "String")                                       \
-  V(_, string_string, "string")                                       \
-  V(_, string_to_string, "[object String]")                           \
-  V(_, symbol_species_string, "[Symbol.species]")                     \
-  V(_, Symbol_string, "Symbol")                                       \
-  V(_, symbol_string, "symbol")                                       \
-  V(_, SyntaxError_string, "SyntaxError")                             \
-  V(_, target_string, "target")                                       \
-  V(_, then_string, "then")                                           \
-  V(_, this_function_string, ".this_function")                        \
-  V(_, this_string, "this")                                           \
-  V(_, throw_string, "throw")                                         \
-  V(_, timed_out, "timed-out")                                        \
-  V(_, toJSON_string, "toJSON")                                       \
-  V(_, toString_string, "toString")                                   \
-  V(_, true_string, "true")                                           \
-  V(_, TypeError_string, "TypeError")                                 \
-  V(_, Uint16Array_string, "Uint16Array")                             \
-  V(_, Uint32Array_string, "Uint32Array")                             \
-  V(_, Uint8Array_string, "Uint8Array")                               \
-  V(_, Uint8ClampedArray_string, "Uint8ClampedArray")                 \
-  V(_, undefined_string, "undefined")                                 \
-  V(_, undefined_to_string, "[object Undefined]")                     \
-  V(_, unicode_string, "unicode")                                     \
-  V(_, URIError_string, "URIError")                                   \
-  V(_, value_string, "value")                                         \
-  V(_, valueOf_string, "valueOf")                                     \
-  V(_, WeakMap_string, "WeakMap")                                     \
-  V(_, WeakRef_string, "WeakRef")                                     \
-  V(_, WeakSet_string, "WeakSet")                                     \
-  V(_, week_string, "week")                                           \
-  V(_, word_string, "word")                                           \
-  V(_, writable_string, "writable")                                   \
+#define INTERNALIZED_STRING_LIST_GENERATOR(V, _)                     \
+  INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)                      \
+  V(_, add_string, "add")                                            \
+  V(_, always_string, "always")                                      \
+  V(_, anonymous_function_string, "(anonymous function)")            \
+  V(_, anonymous_string, "anonymous")                                \
+  V(_, apply_string, "apply")                                        \
+  V(_, Arguments_string, "Arguments")                                \
+  V(_, arguments_string, "arguments")                                \
+  V(_, arguments_to_string, "[object Arguments]")                    \
+  V(_, Array_string, "Array")                                        \
+  V(_, array_to_string, "[object Array]")                            \
+  V(_, ArrayBuffer_string, "ArrayBuffer")                            \
+  V(_, ArrayIterator_string, "Array Iterator")                       \
+  V(_, as_string, "as")                                              \
+  V(_, async_string, "async")                                        \
+  V(_, auto_string, "auto")                                          \
+  V(_, await_string, "await")                                        \
+  V(_, BigInt_string, "BigInt")                                      \
+  V(_, bigint_string, "bigint")                                      \
+  V(_, BigInt64Array_string, "BigInt64Array")                        \
+  V(_, BigUint64Array_string, "BigUint64Array")                      \
+  V(_, bind_string, "bind")                                          \
+  V(_, Boolean_string, "Boolean")                                    \
+  V(_, boolean_string, "boolean")                                    \
+  V(_, boolean_to_string, "[object Boolean]")                        \
+  V(_, bound__string, "bound ")                                      \
+  V(_, buffer_string, "buffer")                                      \
+  V(_, byte_length_string, "byteLength")                             \
+  V(_, byte_offset_string, "byteOffset")                             \
+  V(_, CompileError_string, "CompileError")                          \
+  V(_, callee_string, "callee")                                      \
+  V(_, caller_string, "caller")                                      \
+  V(_, character_string, "character")                                \
+  V(_, closure_string, "(closure)")                                  \
+  V(_, code_string, "code")                                          \
+  V(_, column_string, "column")                                      \
+  V(_, computed_string, "<computed>")                                \
+  V(_, configurable_string, "configurable")                          \
+  V(_, conjunction_string, "conjunction")                            \
+  V(_, construct_string, "construct")                                \
+  V(_, constructor_string, "constructor")                            \
+  V(_, Date_string, "Date")                                          \
+  V(_, date_to_string, "[object Date]")                              \
+  V(_, default_string, "default")                                    \
+  V(_, defineProperty_string, "defineProperty")                      \
+  V(_, deleteProperty_string, "deleteProperty")                      \
+  V(_, disjunction_string, "disjunction")                            \
+  V(_, display_name_string, "displayName")                           \
+  V(_, done_string, "done")                                          \
+  V(_, dot_brand_string, ".brand")                                   \
+  V(_, dot_catch_string, ".catch")                                   \
+  V(_, dot_default_string, ".default")                               \
+  V(_, dot_for_string, ".for")                                       \
+  V(_, dot_generator_object_string, ".generator_object")             \
+  V(_, dot_iterator_string, ".iterator")                             \
+  V(_, dot_promise_string, ".promise")                               \
+  V(_, dot_result_string, ".result")                                 \
+  V(_, dot_string, ".")                                              \
+  V(_, dot_switch_tag_string, ".switch_tag")                         \
+  V(_, dotAll_string, "dotAll")                                      \
+  V(_, enumerable_string, "enumerable")                              \
+  V(_, element_string, "element")                                    \
+  V(_, Error_string, "Error")                                        \
+  V(_, error_to_string, "[object Error]")                            \
+  V(_, eval_string, "eval")                                          \
+  V(_, EvalError_string, "EvalError")                                \
+  V(_, exec_string, "exec")                                          \
+  V(_, false_string, "false")                                        \
+  V(_, flags_string, "flags")                                        \
+  V(_, Float32Array_string, "Float32Array")                          \
+  V(_, Float64Array_string, "Float64Array")                          \
+  V(_, from_string, "from")                                          \
+  V(_, Function_string, "Function")                                  \
+  V(_, function_native_code_string, "function () { [native code] }") \
+  V(_, function_string, "function")                                  \
+  V(_, function_to_string, "[object Function]")                      \
+  V(_, Generator_string, "Generator")                                \
+  V(_, get_space_string, "get ")                                     \
+  V(_, get_string, "get")                                            \
+  V(_, getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor")  \
+  V(_, getPrototypeOf_string, "getPrototypeOf")                      \
+  V(_, global_string, "global")                                      \
+  V(_, globalThis_string, "globalThis")                              \
+  V(_, groups_string, "groups")                                      \
+  V(_, has_string, "has")                                            \
+  V(_, ignoreCase_string, "ignoreCase")                              \
+  V(_, illegal_access_string, "illegal access")                      \
+  V(_, illegal_argument_string, "illegal argument")                  \
+  V(_, index_string, "index")                                        \
+  V(_, Infinity_string, "Infinity")                                  \
+  V(_, infinity_string, "infinity")                                  \
+  V(_, input_string, "input")                                        \
+  V(_, Int16Array_string, "Int16Array")                              \
+  V(_, Int32Array_string, "Int32Array")                              \
+  V(_, Int8Array_string, "Int8Array")                                \
+  V(_, isExtensible_string, "isExtensible")                          \
+  V(_, keys_string, "keys")                                          \
+  V(_, lastIndex_string, "lastIndex")                                \
+  V(_, length_string, "length")                                      \
+  V(_, let_string, "let")                                            \
+  V(_, line_string, "line")                                          \
+  V(_, LinkError_string, "LinkError")                                \
+  V(_, long_string, "long")                                          \
+  V(_, Map_string, "Map")                                            \
+  V(_, MapIterator_string, "Map Iterator")                           \
+  V(_, medium_string, "medium")                                      \
+  V(_, message_string, "message")                                    \
+  V(_, meta_string, "meta")                                          \
+  V(_, minus_Infinity_string, "-Infinity")                           \
+  V(_, Module_string, "Module")                                      \
+  V(_, multiline_string, "multiline")                                \
+  V(_, name_string, "name")                                          \
+  V(_, NaN_string, "NaN")                                            \
+  V(_, narrow_string, "narrow")                                      \
+  V(_, native_string, "native")                                      \
+  V(_, new_target_string, ".new.target")                             \
+  V(_, next_string, "next")                                          \
+  V(_, NFC_string, "NFC")                                            \
+  V(_, NFD_string, "NFD")                                            \
+  V(_, NFKC_string, "NFKC")                                          \
+  V(_, NFKD_string, "NFKD")                                          \
+  V(_, not_equal, "not-equal")                                       \
+  V(_, null_string, "null")                                          \
+  V(_, null_to_string, "[object Null]")                              \
+  V(_, Number_string, "Number")                                      \
+  V(_, number_string, "number")                                      \
+  V(_, number_to_string, "[object Number]")                          \
+  V(_, Object_string, "Object")                                      \
+  V(_, object_string, "object")                                      \
+  V(_, object_to_string, "[object Object]")                          \
+  V(_, of_string, "of")                                              \
+  V(_, ok, "ok")                                                     \
+  V(_, one_string, "1")                                              \
+  V(_, ownKeys_string, "ownKeys")                                    \
+  V(_, percent_string, "percent")                                    \
+  V(_, position_string, "position")                                  \
+  V(_, preventExtensions_string, "preventExtensions")                \
+  V(_, private_constructor_string, "#constructor")                   \
+  V(_, Promise_string, "Promise")                                    \
+  V(_, proto_string, "__proto__")                                    \
+  V(_, prototype_string, "prototype")                                \
+  V(_, proxy_string, "proxy")                                        \
+  V(_, Proxy_string, "Proxy")                                        \
+  V(_, query_colon_string, "(?:)")                                   \
+  V(_, RangeError_string, "RangeError")                              \
+  V(_, raw_string, "raw")                                            \
+  V(_, ReferenceError_string, "ReferenceError")                      \
+  V(_, ReflectGet_string, "Reflect.get")                             \
+  V(_, ReflectHas_string, "Reflect.has")                             \
+  V(_, RegExp_string, "RegExp")                                      \
+  V(_, regexp_to_string, "[object RegExp]")                          \
+  V(_, resolve_string, "resolve")                                    \
+  V(_, return_string, "return")                                      \
+  V(_, revoke_string, "revoke")                                      \
+  V(_, RuntimeError_string, "RuntimeError")                          \
+  V(_, Script_string, "Script")                                      \
+  V(_, script_string, "script")                                      \
+  V(_, short_string, "short")                                        \
+  V(_, Set_string, "Set")                                            \
+  V(_, sentence_string, "sentence")                                  \
+  V(_, set_space_string, "set ")                                     \
+  V(_, set_string, "set")                                            \
+  V(_, SetIterator_string, "Set Iterator")                           \
+  V(_, setPrototypeOf_string, "setPrototypeOf")                      \
+  V(_, SharedArrayBuffer_string, "SharedArrayBuffer")                \
+  V(_, source_string, "source")                                      \
+  V(_, sourceText_string, "sourceText")                              \
+  V(_, stack_string, "stack")                                        \
+  V(_, stackTraceLimit_string, "stackTraceLimit")                    \
+  V(_, sticky_string, "sticky")                                      \
+  V(_, String_string, "String")                                      \
+  V(_, string_string, "string")                                      \
+  V(_, string_to_string, "[object String]")                          \
+  V(_, symbol_species_string, "[Symbol.species]")                    \
+  V(_, Symbol_string, "Symbol")                                      \
+  V(_, symbol_string, "symbol")                                      \
+  V(_, SyntaxError_string, "SyntaxError")                            \
+  V(_, target_string, "target")                                      \
+  V(_, then_string, "then")                                          \
+  V(_, this_function_string, ".this_function")                       \
+  V(_, this_string, "this")                                          \
+  V(_, throw_string, "throw")                                        \
+  V(_, timed_out, "timed-out")                                       \
+  V(_, toJSON_string, "toJSON")                                      \
+  V(_, toString_string, "toString")                                  \
+  V(_, true_string, "true")                                          \
+  V(_, TypeError_string, "TypeError")                                \
+  V(_, Uint16Array_string, "Uint16Array")                            \
+  V(_, Uint32Array_string, "Uint32Array")                            \
+  V(_, Uint8Array_string, "Uint8Array")                              \
+  V(_, Uint8ClampedArray_string, "Uint8ClampedArray")                \
+  V(_, undefined_string, "undefined")                                \
+  V(_, undefined_to_string, "[object Undefined]")                    \
+  V(_, unicode_string, "unicode")                                    \
+  V(_, URIError_string, "URIError")                                  \
+  V(_, value_string, "value")                                        \
+  V(_, valueOf_string, "valueOf")                                    \
+  V(_, WeakMap_string, "WeakMap")                                    \
+  V(_, WeakRef_string, "WeakRef")                                    \
+  V(_, WeakSet_string, "WeakSet")                                    \
+  V(_, week_string, "week")                                          \
+  V(_, word_string, "word")                                          \
+  V(_, writable_string, "writable")                                  \
   V(_, zero_string, "0")
 
 #define PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
@@ -484,4 +484,4 @@
   F(MINOR_MC_BACKGROUND_MARKING)                  \
   F(SCAVENGER_BACKGROUND_SCAVENGE_PARALLEL)
 
-#endif  // V8_HEAP_SYMBOLS_H_
+#endif  // V8_INIT_HEAP_SYMBOLS_H_
diff --git a/src/init/isolate-allocator.cc b/src/init/isolate-allocator.cc
index 41a2ccd..98d5715 100644
--- a/src/init/isolate-allocator.cc
+++ b/src/init/isolate-allocator.cc
@@ -4,8 +4,8 @@
 
 #include "src/init/isolate-allocator.h"
 #include "src/base/bounded-page-allocator.h"
+#include "src/common/ptr-compr.h"
 #include "src/execution/isolate.h"
-#include "src/ptr-compr.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/init/isolate-allocator.h b/src/init/isolate-allocator.h
index 5551aca..cd0e102 100644
--- a/src/init/isolate-allocator.h
+++ b/src/init/isolate-allocator.h
@@ -7,7 +7,7 @@
 
 #include "src/base/bounded-page-allocator.h"
 #include "src/base/page-allocator.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/allocation.h"
 
 namespace v8 {
diff --git a/src/init/startup-data-util.cc b/src/init/startup-data-util.cc
index 8c9f258..54d697c 100644
--- a/src/init/startup-data-util.cc
+++ b/src/init/startup-data-util.cc
@@ -10,7 +10,7 @@
 #include "src/base/file-utils.h"
 #include "src/base/logging.h"
 #include "src/base/platform/platform.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/v8.cc b/src/init/v8.cc
similarity index 99%
rename from src/v8.cc
rename to src/init/v8.cc
index 60fbc99..19ad570 100644
--- a/src/v8.cc
+++ b/src/init/v8.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include <fstream>
 
@@ -45,7 +45,6 @@
   return true;
 }
 
-
 void V8::TearDown() {
   wasm::WasmEngine::GlobalTearDown();
 #if defined(USE_SIMULATOR)
@@ -57,7 +56,6 @@
   FlagList::ResetAllFlags();  // Frees memory held by string arguments.
 }
 
-
 void V8::InitializeOncePerProcessImpl() {
   FlagList::EnforceFlagImplications();
 
@@ -108,12 +106,10 @@
   wasm::WasmEngine::InitializeOncePerProcess();
 }
 
-
 void V8::InitializeOncePerProcess() {
   base::CallOnce(&init_once, &InitializeOncePerProcessImpl);
 }
 
-
 void V8::InitializePlatform(v8::Platform* platform) {
   CHECK(!platform_);
   CHECK(platform);
@@ -122,7 +118,6 @@
   v8::tracing::TracingCategoryObserver::SetUp();
 }
 
-
 void V8::ShutdownPlatform() {
   CHECK(platform_);
   v8::tracing::TracingCategoryObserver::TearDown();
@@ -130,7 +125,6 @@
   platform_ = nullptr;
 }
 
-
 v8::Platform* V8::GetCurrentPlatform() {
   v8::Platform* platform = reinterpret_cast<v8::Platform*>(
       base::Relaxed_Load(reinterpret_cast<base::AtomicWord*>(&platform_)));
@@ -151,7 +145,6 @@
 #endif
 }
 
-
 void V8::SetSnapshotBlob(StartupData* snapshot_blob) {
 #ifdef V8_USE_EXTERNAL_STARTUP_DATA
   base::CallOnce(&init_snapshot_once, &SetSnapshotFromFile, snapshot_blob);
diff --git a/src/v8.h b/src/init/v8.h
similarity index 92%
rename from src/v8.h
rename to src/init/v8.h
index 76d2fda..bd8331a 100644
--- a/src/v8.h
+++ b/src/init/v8.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_V8_H_
-#define V8_V8_H_
+#ifndef V8_INIT_V8_H_
+#define V8_INIT_V8_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 
@@ -50,4 +50,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_V8_H_
+#endif  // V8_INIT_V8_H_
diff --git a/src/inspector/DEPS b/src/inspector/DEPS
index c840fde..5122d5d 100644
--- a/src/inspector/DEPS
+++ b/src/inspector/DEPS
@@ -9,8 +9,8 @@
   "+src/base/platform/mutex.h",
   "+src/base/safe_conversions.h",
   "+src/base/v8-fallthrough.h",
+  "+src/common/v8memory.h",
   "+src/numbers/conversions.h",
-  "+src/v8memory.h",
   "+src/inspector",
   "+src/tracing",
   "+src/debug/debug-interface.h",
diff --git a/src/inspector/v8-debugger-script.cc b/src/inspector/v8-debugger-script.cc
index 0cc0164..fe7d570 100644
--- a/src/inspector/v8-debugger-script.cc
+++ b/src/inspector/v8-debugger-script.cc
@@ -4,12 +4,12 @@
 
 #include "src/inspector/v8-debugger-script.h"
 
+#include "src/common/v8memory.h"
 #include "src/inspector/inspected-context.h"
 #include "src/inspector/string-util.h"
 #include "src/inspector/v8-debugger-agent-impl.h"
 #include "src/inspector/v8-inspector-impl.h"
 #include "src/inspector/wasm-translation.h"
-#include "src/v8memory.h"
 
 namespace v8_inspector {
 
diff --git a/src/interpreter/bytecode-array-accessor.h b/src/interpreter/bytecode-array-accessor.h
index 20a3205..91b6886 100644
--- a/src/interpreter/bytecode-array-accessor.h
+++ b/src/interpreter/bytecode-array-accessor.h
@@ -5,7 +5,7 @@
 #ifndef V8_INTERPRETER_BYTECODE_ARRAY_ACCESSOR_H_
 #define V8_INTERPRETER_BYTECODE_ARRAY_ACCESSOR_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/interpreter/bytecode-register.h"
 #include "src/interpreter/bytecodes.h"
diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
index 7f4c124..b58fbd3 100644
--- a/src/interpreter/bytecode-array-builder.cc
+++ b/src/interpreter/bytecode-array-builder.cc
@@ -4,7 +4,7 @@
 
 #include "src/interpreter/bytecode-array-builder.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-array-writer.h"
 #include "src/interpreter/bytecode-jump-table.h"
 #include "src/interpreter/bytecode-label.h"
diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h
index 93d108f..c5fd311 100644
--- a/src/interpreter/bytecode-array-builder.h
+++ b/src/interpreter/bytecode-array-builder.h
@@ -7,7 +7,7 @@
 
 #include "src/ast/ast.h"
 #include "src/base/compiler-specific.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-array-writer.h"
 #include "src/interpreter/bytecode-flags.h"
 #include "src/interpreter/bytecode-register-allocator.h"
diff --git a/src/interpreter/bytecode-array-writer.h b/src/interpreter/bytecode-array-writer.h
index 03159fb..5dac1b4 100644
--- a/src/interpreter/bytecode-array-writer.h
+++ b/src/interpreter/bytecode-array-writer.h
@@ -7,7 +7,7 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/source-position-table.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecodes.h"
 
 namespace v8 {
diff --git a/src/interpreter/bytecode-decoder.h b/src/interpreter/bytecode-decoder.h
index 49ede54..5be682b 100644
--- a/src/interpreter/bytecode-decoder.h
+++ b/src/interpreter/bytecode-decoder.h
@@ -7,7 +7,7 @@
 
 #include <iosfwd>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-register.h"
 #include "src/interpreter/bytecodes.h"
 
diff --git a/src/interpreter/bytecode-node.h b/src/interpreter/bytecode-node.h
index 48d8961..ebf0e91 100644
--- a/src/interpreter/bytecode-node.h
+++ b/src/interpreter/bytecode-node.h
@@ -7,7 +7,7 @@
 
 #include <algorithm>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-source-info.h"
 #include "src/interpreter/bytecodes.h"
 
diff --git a/src/interpreter/bytecode-operands.h b/src/interpreter/bytecode-operands.h
index d3a1310..19acc4b 100644
--- a/src/interpreter/bytecode-operands.h
+++ b/src/interpreter/bytecode-operands.h
@@ -5,7 +5,7 @@
 #ifndef V8_INTERPRETER_BYTECODE_OPERANDS_H_
 #define V8_INTERPRETER_BYTECODE_OPERANDS_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/interpreter/bytecode-register-optimizer.h b/src/interpreter/bytecode-register-optimizer.h
index b120741..674a4e3 100644
--- a/src/interpreter/bytecode-register-optimizer.h
+++ b/src/interpreter/bytecode-register-optimizer.h
@@ -6,7 +6,7 @@
 #define V8_INTERPRETER_BYTECODE_REGISTER_OPTIMIZER_H_
 
 #include "src/base/compiler-specific.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-register-allocator.h"
 
 namespace v8 {
diff --git a/src/interpreter/bytecode-register.h b/src/interpreter/bytecode-register.h
index 84a8c2c..034ac0b 100644
--- a/src/interpreter/bytecode-register.h
+++ b/src/interpreter/bytecode-register.h
@@ -9,8 +9,8 @@
 
 #include "src/base/macros.h"
 #include "src/base/platform/platform.h"
+#include "src/common/globals.h"
 #include "src/execution/frame-constants.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/interpreter/bytecode-source-info.h b/src/interpreter/bytecode-source-info.h
index 790a6b2..40dd494 100644
--- a/src/interpreter/bytecode-source-info.h
+++ b/src/interpreter/bytecode-source-info.h
@@ -5,7 +5,7 @@
 #ifndef V8_INTERPRETER_BYTECODE_SOURCE_INFO_H_
 #define V8_INTERPRETER_BYTECODE_SOURCE_INFO_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/interpreter/bytecodes.h b/src/interpreter/bytecodes.h
index f9713ef..591dfbe 100644
--- a/src/interpreter/bytecodes.h
+++ b/src/interpreter/bytecodes.h
@@ -10,7 +10,7 @@
 #include <string>
 #include <vector>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-operands.h"
 
 // This interface and it's implementation are independent of the
diff --git a/src/interpreter/constant-array-builder.h b/src/interpreter/constant-array-builder.h
index 744697e..968a0ca 100644
--- a/src/interpreter/constant-array-builder.h
+++ b/src/interpreter/constant-array-builder.h
@@ -6,7 +6,7 @@
 #define V8_INTERPRETER_CONSTANT_ARRAY_BUILDER_H_
 
 #include "src/ast/ast-value-factory.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecodes.h"
 #include "src/objects/smi.h"
 #include "src/utils/identity-map.h"
diff --git a/src/interpreter/interpreter-assembler.h b/src/interpreter/interpreter-assembler.h
index 717f269..db4523b 100644
--- a/src/interpreter/interpreter-assembler.h
+++ b/src/interpreter/interpreter-assembler.h
@@ -7,7 +7,7 @@
 
 #include "src/builtins/builtins.h"
 #include "src/codegen/code-stub-assembler.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/interpreter/bytecode-register.h"
 #include "src/interpreter/bytecodes.h"
 #include "src/runtime/runtime.h"
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc
index d1219c4..9e06d95 100644
--- a/src/interpreter/interpreter.cc
+++ b/src/interpreter/interpreter.cc
@@ -19,10 +19,10 @@
 #include "src/objects/objects-inl.h"
 #include "src/objects/shared-function-info.h"
 #include "src/objects/slots.h"
+#include "src/objects/visitors.h"
 #include "src/parsing/parse-info.h"
 #include "src/snapshot/snapshot.h"
 #include "src/utils/ostreams.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/json/json-parser.cc b/src/json/json-parser.cc
index eee0d5b..83bacc8 100644
--- a/src/json/json-parser.cc
+++ b/src/json/json-parser.cc
@@ -6,8 +6,8 @@
 
 #include "src/debug/debug.h"
 #include "src/execution/message-template.h"
-#include "src/hash-seed-inl.h"
 #include "src/numbers/conversions.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/field-type.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/objects-inl.h"
diff --git a/src/logging/code-events.h b/src/logging/code-events.h
index fb3676f..262ddf7 100644
--- a/src/logging/code-events.h
+++ b/src/logging/code-events.h
@@ -8,7 +8,7 @@
 #include <unordered_set>
 
 #include "src/base/platform/mutex.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/code.h"
 #include "src/objects/name.h"
 #include "src/objects/shared-function-info.h"
diff --git a/src/logging/counters.h b/src/logging/counters.h
index cefc90a..bfe52f4 100644
--- a/src/logging/counters.h
+++ b/src/logging/counters.h
@@ -10,9 +10,9 @@
 #include "src/base/optional.h"
 #include "src/base/platform/elapsed-timer.h"
 #include "src/base/platform/time.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
-#include "src/heap-symbols.h"
+#include "src/init/heap-symbols.h"
 #include "src/logging/counters-definitions.h"
 #include "src/objects/objects.h"
 #include "src/runtime/runtime.h"
diff --git a/src/logging/log-utils.cc b/src/logging/log-utils.cc
index acbb4e5..3980882 100644
--- a/src/logging/log-utils.cc
+++ b/src/logging/log-utils.cc
@@ -4,8 +4,8 @@
 
 #include "src/logging/log-utils.h"
 
-#include "src/assert-scope.h"
 #include "src/base/platform/platform.h"
+#include "src/common/assert-scope.h"
 #include "src/objects/objects-inl.h"
 #include "src/strings/string-stream.h"
 #include "src/utils/utils.h"
diff --git a/src/logging/log-utils.h b/src/logging/log-utils.h
index fcd9f36..bc5b09d 100644
--- a/src/logging/log-utils.h
+++ b/src/logging/log-utils.h
@@ -12,7 +12,7 @@
 #include "src/base/compiler-specific.h"
 #include "src/base/optional.h"
 #include "src/base/platform/mutex.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/utils/allocation.h"
 #include "src/utils/ostreams.h"
 
diff --git a/src/mips/assembler-mips.h b/src/mips/assembler-mips.h
index 8b81e1e..bb6250e 100644
--- a/src/mips/assembler-mips.h
+++ b/src/mips/assembler-mips.h
@@ -41,8 +41,8 @@
 #include <set>
 
 #include "src/codegen/assembler.h"
+#include "src/codegen/external-reference.h"
 #include "src/codegen/label.h"
-#include "src/external-reference.h"
 #include "src/mips/constants-mips.h"
 #include "src/mips/register-mips.h"
 #include "src/objects/smi.h"
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
index 6701794..31b8059 100644
--- a/src/mips/macro-assembler-mips.cc
+++ b/src/mips/macro-assembler-mips.cc
@@ -11,11 +11,11 @@
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h
index 8659373..0f2d0c5 100644
--- a/src/mips/macro-assembler-mips.h
+++ b/src/mips/macro-assembler-mips.h
@@ -10,7 +10,7 @@
 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
 
 #include "src/codegen/assembler.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/mips/assembler-mips.h"
 #include "src/objects/contexts.h"
 
diff --git a/src/mips/simulator-mips.h b/src/mips/simulator-mips.h
index 1a805e0..4911501 100644
--- a/src/mips/simulator-mips.h
+++ b/src/mips/simulator-mips.h
@@ -13,7 +13,7 @@
 #define V8_MIPS_SIMULATOR_MIPS_H_
 
 // globals.h defines USE_SIMULATOR.
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(USE_SIMULATOR)
 // Running with a simulator.
diff --git a/src/mips64/assembler-mips64.h b/src/mips64/assembler-mips64.h
index 3def8e5..d9c1dea 100644
--- a/src/mips64/assembler-mips64.h
+++ b/src/mips64/assembler-mips64.h
@@ -40,8 +40,8 @@
 #include <set>
 
 #include "src/codegen/assembler.h"
+#include "src/codegen/external-reference.h"
 #include "src/codegen/label.h"
-#include "src/external-reference.h"
 #include "src/mips64/constants-mips64.h"
 #include "src/mips64/register-mips64.h"
 #include "src/objects/contexts.h"
diff --git a/src/mips64/constants-mips64.h b/src/mips64/constants-mips64.h
index 66e0c84..3254dde 100644
--- a/src/mips64/constants-mips64.h
+++ b/src/mips64/constants-mips64.h
@@ -7,7 +7,7 @@
 
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 // UNIMPLEMENTED_ macro for MIPS.
 #ifdef DEBUG
diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc
index 8ff89e6..35a36b3 100644
--- a/src/mips64/macro-assembler-mips64.cc
+++ b/src/mips64/macro-assembler-mips64.cc
@@ -11,11 +11,11 @@
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/mips64/macro-assembler-mips64.h b/src/mips64/macro-assembler-mips64.h
index 01a817f..43bab41 100644
--- a/src/mips64/macro-assembler-mips64.h
+++ b/src/mips64/macro-assembler-mips64.h
@@ -10,7 +10,7 @@
 #define V8_MIPS64_MACRO_ASSEMBLER_MIPS64_H_
 
 #include "src/codegen/assembler.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/mips64/assembler-mips64.h"
 
 namespace v8 {
diff --git a/src/mips64/simulator-mips64.h b/src/mips64/simulator-mips64.h
index a245b30..5ff3a57 100644
--- a/src/mips64/simulator-mips64.h
+++ b/src/mips64/simulator-mips64.h
@@ -13,7 +13,7 @@
 #define V8_MIPS64_SIMULATOR_MIPS64_H_
 
 // globals.h defines USE_SIMULATOR.
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(USE_SIMULATOR)
 // Running with a simulator.
diff --git a/src/numbers/cached-powers.cc b/src/numbers/cached-powers.cc
index c19ea07..205151d 100644
--- a/src/numbers/cached-powers.cc
+++ b/src/numbers/cached-powers.cc
@@ -10,7 +10,7 @@
 #include <cmath>
 
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/numbers/conversions-inl.h b/src/numbers/conversions-inl.h
index 1fc63e1..f9d5346 100644
--- a/src/numbers/conversions-inl.h
+++ b/src/numbers/conversions-inl.h
@@ -9,7 +9,7 @@
 #include <limits.h>  // Required for INT_MAX etc.
 #include <stdarg.h>
 #include <cmath>
-#include "src/globals.h"  // Required for V8_INFINITY
+#include "src/common/globals.h"  // Required for V8_INFINITY
 
 // ----------------------------------------------------------------------------
 // Extra POSIX/ANSI functions for Win32/MSVC.
diff --git a/src/numbers/conversions.cc b/src/numbers/conversions.cc
index 2e9120a..cb424a1 100644
--- a/src/numbers/conversions.cc
+++ b/src/numbers/conversions.cc
@@ -8,7 +8,7 @@
 #include <stdarg.h>
 #include <cmath>
 
-#include "src/assert-scope.h"
+#include "src/common/assert-scope.h"
 #include "src/handles/handles.h"
 #include "src/heap/factory.h"
 #include "src/numbers/dtoa.h"
diff --git a/src/numbers/conversions.h b/src/numbers/conversions.h
index 00b30c3..e71f7ce 100644
--- a/src/numbers/conversions.h
+++ b/src/numbers/conversions.h
@@ -6,7 +6,7 @@
 #define V8_NUMBERS_CONVERSIONS_H_
 
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/vector.h"
 
 namespace v8 {
diff --git a/src/hash-seed-inl.h b/src/numbers/hash-seed-inl.h
similarity index 89%
rename from src/hash-seed-inl.h
rename to src/numbers/hash-seed-inl.h
index 62f8946..dad8db0 100644
--- a/src/hash-seed-inl.h
+++ b/src/numbers/hash-seed-inl.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_HASH_SEED_INL_H_
-#define V8_HASH_SEED_INL_H_
+#ifndef V8_NUMBERS_HASH_SEED_INL_H_
+#define V8_NUMBERS_HASH_SEED_INL_H_
 
 #include <stdint.h>
 
@@ -28,7 +28,7 @@
 
 // See comment above for why this isn't at the top of the file.
 #include "src/objects/fixed-array-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
@@ -47,4 +47,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_HASH_SEED_INL_H_
+#endif  // V8_NUMBERS_HASH_SEED_INL_H_
diff --git a/src/numbers/math-random.cc b/src/numbers/math-random.cc
index 1b5e1c4..dee1878 100644
--- a/src/numbers/math-random.cc
+++ b/src/numbers/math-random.cc
@@ -4,8 +4,8 @@
 
 #include "src/numbers/math-random.h"
 
-#include "src/assert-scope.h"
 #include "src/base/utils/random-number-generator.h"
+#include "src/common/assert-scope.h"
 #include "src/execution/isolate.h"
 #include "src/objects/contexts-inl.h"
 #include "src/objects/fixed-array.h"
diff --git a/src/numbers/math-random.h b/src/numbers/math-random.h
index a8c26e0..c321b82 100644
--- a/src/numbers/math-random.h
+++ b/src/numbers/math-random.h
@@ -5,7 +5,7 @@
 #ifndef V8_NUMBERS_MATH_RANDOM_H_
 #define V8_NUMBERS_MATH_RANDOM_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/contexts.h"
 
 namespace v8 {
diff --git a/src/numbers/strtod.cc b/src/numbers/strtod.cc
index f07fd0a..dfc518c 100644
--- a/src/numbers/strtod.cc
+++ b/src/numbers/strtod.cc
@@ -7,7 +7,7 @@
 #include <stdarg.h>
 #include <cmath>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/numbers/bignum.h"
 #include "src/numbers/cached-powers.h"
 #include "src/numbers/double.h"
diff --git a/src/allocation-site-scopes-inl.h b/src/objects/allocation-site-scopes-inl.h
similarity index 90%
rename from src/allocation-site-scopes-inl.h
rename to src/objects/allocation-site-scopes-inl.h
index 937c4a5..350b243 100644
--- a/src/allocation-site-scopes-inl.h
+++ b/src/objects/allocation-site-scopes-inl.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_ALLOCATION_SITE_SCOPES_INL_H_
-#define V8_ALLOCATION_SITE_SCOPES_INL_H_
+#ifndef V8_OBJECTS_ALLOCATION_SITE_SCOPES_INL_H_
+#define V8_OBJECTS_ALLOCATION_SITE_SCOPES_INL_H_
 
-#include "src/allocation-site-scopes.h"
+#include "src/objects/allocation-site-scopes.h"
 
 #include "src/objects/allocation-site-inl.h"
 
@@ -56,4 +56,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_ALLOCATION_SITE_SCOPES_INL_H_
+#endif  // V8_OBJECTS_ALLOCATION_SITE_SCOPES_INL_H_
diff --git a/src/allocation-site-scopes.h b/src/objects/allocation-site-scopes.h
similarity index 87%
rename from src/allocation-site-scopes.h
rename to src/objects/allocation-site-scopes.h
index 4f09556..8f5fb42 100644
--- a/src/allocation-site-scopes.h
+++ b/src/objects/allocation-site-scopes.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_ALLOCATION_SITE_SCOPES_H_
-#define V8_ALLOCATION_SITE_SCOPES_H_
+#ifndef V8_OBJECTS_ALLOCATION_SITE_SCOPES_H_
+#define V8_OBJECTS_ALLOCATION_SITE_SCOPES_H_
 
 #include "src/handles/handles.h"
 #include "src/objects/allocation-site.h"
@@ -17,9 +17,7 @@
 // boilerplate with AllocationSite and AllocationMemento support.
 class AllocationSiteContext {
  public:
-  explicit AllocationSiteContext(Isolate* isolate) {
-    isolate_ = isolate;
-  }
+  explicit AllocationSiteContext(Isolate* isolate) { isolate_ = isolate; }
 
   Handle<AllocationSite> top() { return top_; }
   Handle<AllocationSite> current() { return current_; }
@@ -41,7 +39,6 @@
   Handle<AllocationSite> current_;
 };
 
-
 // AllocationSiteUsageContext aids in the creation of AllocationMementos placed
 // behind some/all components of a copied object literal.
 class AllocationSiteUsageContext : public AllocationSiteContext {
@@ -50,7 +47,7 @@
                              bool activated)
       : AllocationSiteContext(isolate),
         top_site_(site),
-        activated_(activated) { }
+        activated_(activated) {}
 
   inline Handle<AllocationSite> EnterNewScope();
 
@@ -66,8 +63,7 @@
   bool activated_;
 };
 
-
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_ALLOCATION_SITE_SCOPES_H_
+#endif  // V8_OBJECTS_ALLOCATION_SITE_SCOPES_H_
diff --git a/src/objects/bigint.h b/src/objects/bigint.h
index bacd8b9..3f5d358 100644
--- a/src/objects/bigint.h
+++ b/src/objects/bigint.h
@@ -5,10 +5,10 @@
 #ifndef V8_OBJECTS_BIGINT_H_
 #define V8_OBJECTS_BIGINT_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/heap-object.h"
-#include "src/utils/utils.h"
 #include "src/objects/objects.h"
+#include "src/utils/utils.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/code-inl.h b/src/objects/code-inl.h
index 05f1cec..0877746 100644
--- a/src/objects/code-inl.h
+++ b/src/objects/code-inl.h
@@ -8,6 +8,7 @@
 #include "src/objects/code.h"
 
 #include "src/codegen/code-desc.h"
+#include "src/common/v8memory.h"
 #include "src/execution/isolate.h"
 #include "src/interpreter/bytecode-register.h"
 #include "src/objects/dictionary.h"
@@ -16,7 +17,6 @@
 #include "src/objects/maybe-object-inl.h"
 #include "src/objects/oddball.h"
 #include "src/objects/smi-inl.h"
-#include "src/v8memory.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/code.cc b/src/objects/code.cc
index b2c58b8..d0d46a7 100644
--- a/src/objects/code.cc
+++ b/src/objects/code.cc
@@ -15,7 +15,7 @@
 #include "src/interpreter/bytecode-decoder.h"
 #include "src/interpreter/interpreter.h"
 #include "src/objects/allocation-site-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 #include "src/snapshot/embedded-data.h"
 #include "src/utils/ostreams.h"
 
diff --git a/src/objects/compilation-cache.h b/src/objects/compilation-cache.h
index d3feb1b..2072339 100644
--- a/src/objects/compilation-cache.h
+++ b/src/objects/compilation-cache.h
@@ -9,7 +9,7 @@
 #include "src/objects/hash-table.h"
 #include "src/objects/js-regexp.h"
 #include "src/objects/shared-function-info.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/compressed-slots-inl.h b/src/objects/compressed-slots-inl.h
index 70638e0..b08bc93 100644
--- a/src/objects/compressed-slots-inl.h
+++ b/src/objects/compressed-slots-inl.h
@@ -7,10 +7,10 @@
 
 #ifdef V8_COMPRESS_POINTERS
 
+#include "src/common/ptr-compr-inl.h"
 #include "src/objects/compressed-slots.h"
 #include "src/objects/heap-object-inl.h"
 #include "src/objects/maybe-object-inl.h"
-#include "src/ptr-compr-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/objects/dictionary-inl.h b/src/objects/dictionary-inl.h
index 60c43fb..a169297 100644
--- a/src/objects/dictionary-inl.h
+++ b/src/objects/dictionary-inl.h
@@ -7,7 +7,7 @@
 
 #include "src/objects/dictionary.h"
 
-#include "src/hash-seed-inl.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/oddball.h"
 #include "src/objects/property-cell-inl.h"
diff --git a/src/objects/dictionary.h b/src/objects/dictionary.h
index 3652103..ca709f3 100644
--- a/src/objects/dictionary.h
+++ b/src/objects/dictionary.h
@@ -6,11 +6,11 @@
 #define V8_OBJECTS_DICTIONARY_H_
 
 #include "src/base/export-template.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/hash-table.h"
 #include "src/objects/property-array.h"
 #include "src/objects/smi.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/elements-kind.h b/src/objects/elements-kind.h
index 96907d2..5b7b358 100644
--- a/src/objects/elements-kind.h
+++ b/src/objects/elements-kind.h
@@ -6,8 +6,8 @@
 #define V8_OBJECTS_ELEMENTS_KIND_H_
 
 #include "src/base/macros.h"
-#include "src/checks.h"
-#include "src/flags.h"
+#include "src/common/checks.h"
+#include "src/flags/flags.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/objects/embedder-data-array.h b/src/objects/embedder-data-array.h
index 28d43c6..ba4fe25 100644
--- a/src/objects/embedder-data-array.h
+++ b/src/objects/embedder-data-array.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_EMBEDDER_DATA_ARRAY_H_
 #define V8_OBJECTS_EMBEDDER_DATA_ARRAY_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/maybe-handles.h"
 #include "src/objects/heap-object.h"
 #include "torque-generated/field-offsets-tq.h"
diff --git a/src/objects/embedder-data-slot-inl.h b/src/objects/embedder-data-slot-inl.h
index a713d75..6830a4d 100644
--- a/src/objects/embedder-data-slot-inl.h
+++ b/src/objects/embedder-data-slot-inl.h
@@ -7,11 +7,11 @@
 
 #include "src/objects/embedder-data-slot.h"
 
+#include "src/common/v8memory.h"
 #include "src/heap/heap-write-barrier-inl.h"
 #include "src/objects/embedder-data-array.h"
 #include "src/objects/js-objects-inl.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8memory.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/embedder-data-slot.h b/src/objects/embedder-data-slot.h
index 6cebf28..dee8c3ec 100644
--- a/src/objects/embedder-data-slot.h
+++ b/src/objects/embedder-data-slot.h
@@ -7,8 +7,8 @@
 
 #include <utility>
 
-#include "src/assert-scope.h"
-#include "src/globals.h"
+#include "src/common/assert-scope.h"
+#include "src/common/globals.h"
 #include "src/objects/slots.h"
 
 // Has to be the last include (doesn't have include guards):
diff --git a/src/objects/feedback-vector-inl.h b/src/objects/feedback-vector-inl.h
index 2a233d5..6b1fdcc 100644
--- a/src/objects/feedback-vector-inl.h
+++ b/src/objects/feedback-vector-inl.h
@@ -7,7 +7,7 @@
 
 #include "src/objects/feedback-vector.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/factory-inl.h"
 #include "src/heap/heap-write-barrier-inl.h"
 #include "src/objects/code-inl.h"
diff --git a/src/objects/feedback-vector.h b/src/objects/feedback-vector.h
index 8589c66..088bd85 100644
--- a/src/objects/feedback-vector.h
+++ b/src/objects/feedback-vector.h
@@ -9,11 +9,11 @@
 
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/elements-kind.h"
 #include "src/objects/map.h"
 #include "src/objects/name.h"
-#include "src/type-hints.h"
+#include "src/objects/type-hints.h"
 #include "src/zone/zone-containers.h"
 
 // Has to be the last include (doesn't have include guards):
diff --git a/src/objects/fixed-array-inl.h b/src/objects/fixed-array-inl.h
index 7286c0d..993aea7 100644
--- a/src/objects/fixed-array-inl.h
+++ b/src/objects/fixed-array-inl.h
@@ -18,7 +18,7 @@
 #include "src/objects/objects-inl.h"
 #include "src/objects/oddball.h"
 #include "src/objects/slots.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 #include "src/sanitizer/tsan.h"
 
 // Has to be the last include (doesn't have include guards):
diff --git a/src/objects/hash-table-inl.h b/src/objects/hash-table-inl.h
index 85f0e8a..7745372 100644
--- a/src/objects/hash-table-inl.h
+++ b/src/objects/hash-table-inl.h
@@ -11,7 +11,7 @@
 #include "src/objects/fixed-array-inl.h"
 #include "src/objects/heap-object-inl.h"
 #include "src/objects/objects-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/hash-table.h b/src/objects/hash-table.h
index 0f42438..610dc9d 100644
--- a/src/objects/hash-table.h
+++ b/src/objects/hash-table.h
@@ -8,10 +8,10 @@
 #include "src/base/compiler-specific.h"
 #include "src/base/export-template.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/fixed-array.h"
 #include "src/objects/smi.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/heap-object.h b/src/objects/heap-object.h
index 32f9c46..9ca51bd 100644
--- a/src/objects/heap-object.h
+++ b/src/objects/heap-object.h
@@ -5,8 +5,8 @@
 #ifndef V8_OBJECTS_HEAP_OBJECT_H_
 #define V8_OBJECTS_HEAP_OBJECT_H_
 
-#include "src/globals.h"
-#include "src/roots.h"
+#include "src/common/globals.h"
+#include "src/roots/roots.h"
 
 #include "src/objects/objects.h"
 
diff --git a/src/objects/js-collection-inl.h b/src/objects/js-collection-inl.h
index 1d476ce..fb0cf16 100644
--- a/src/objects/js-collection-inl.h
+++ b/src/objects/js-collection-inl.h
@@ -11,7 +11,7 @@
 #include "src/objects/heap-object-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/ordered-hash-table-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/js-collection-iterator.h b/src/objects/js-collection-iterator.h
index afdcaff..4952f04 100644
--- a/src/objects/js-collection-iterator.h
+++ b/src/objects/js-collection-iterator.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_JS_COLLECTION_ITERATOR_H_
 #define V8_OBJECTS_JS_COLLECTION_ITERATOR_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/js-objects.h"
 #include "src/objects/objects.h"
 #include "src/objects/smi.h"
diff --git a/src/objects/lookup.h b/src/objects/lookup.h
index 7c2b001..820b8ef 100644
--- a/src/objects/lookup.h
+++ b/src/objects/lookup.h
@@ -5,8 +5,8 @@
 #ifndef V8_OBJECTS_LOOKUP_H_
 #define V8_OBJECTS_LOOKUP_H_
 
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/heap/factory.h"
 #include "src/objects/descriptor-array.h"
 #include "src/objects/js-objects.h"
diff --git a/src/objects/map-updater.h b/src/objects/map-updater.h
index f84b17c..3ba86ea 100644
--- a/src/objects/map-updater.h
+++ b/src/objects/map-updater.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_MAP_UPDATER_H_
 #define V8_OBJECTS_MAP_UPDATER_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/objects/elements-kind.h"
 #include "src/objects/field-type.h"
diff --git a/src/objects/map.h b/src/objects/map.h
index cdf7fec..40401ec 100644
--- a/src/objects/map.h
+++ b/src/objects/map.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_MAP_H_
 #define V8_OBJECTS_MAP_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/code.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/objects.h"
diff --git a/src/objects/object-macros.h b/src/objects/object-macros.h
index 23c94aa..1f499d4 100644
--- a/src/objects/object-macros.h
+++ b/src/objects/object-macros.h
@@ -14,7 +14,7 @@
 // for fields that can be written to and read from multiple threads at the same
 // time. See comments in src/base/atomicops.h for the memory ordering sematics.
 
-#include <src/v8memory.h>
+#include "src/common/v8memory.h"
 
 // Since this changes visibility, it should always be last in a class
 // definition.
diff --git a/src/objects-body-descriptors-inl.h b/src/objects/objects-body-descriptors-inl.h
similarity index 99%
rename from src/objects-body-descriptors-inl.h
rename to src/objects/objects-body-descriptors-inl.h
index b08c7ca..5922cbf 100644
--- a/src/objects-body-descriptors-inl.h
+++ b/src/objects/objects-body-descriptors-inl.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_OBJECTS_BODY_DESCRIPTORS_INL_H_
-#define V8_OBJECTS_BODY_DESCRIPTORS_INL_H_
+#ifndef V8_OBJECTS_OBJECTS_BODY_DESCRIPTORS_INL_H_
+#define V8_OBJECTS_OBJECTS_BODY_DESCRIPTORS_INL_H_
 
-#include "src/objects-body-descriptors.h"
+#include "src/objects/objects-body-descriptors.h"
 
 #include <algorithm>
 
@@ -1074,21 +1074,18 @@
   }
 }
 
-
 template <typename ObjectVisitor>
 void HeapObject::IterateFast(ObjectVisitor* v) {
   BodyDescriptorBase::IteratePointer(*this, kMapOffset, v);
   IterateBodyFast(v);
 }
 
-
 template <typename ObjectVisitor>
 void HeapObject::IterateBodyFast(ObjectVisitor* v) {
   Map m = map();
   IterateBodyFast(m, SizeFromMap(m), v);
 }
 
-
 struct CallIterateBody {
   template <typename BodyDescriptor, typename ObjectVisitor>
   static void apply(Map map, HeapObject obj, int object_size,
@@ -1133,4 +1130,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_OBJECTS_BODY_DESCRIPTORS_INL_H_
+#endif  // V8_OBJECTS_OBJECTS_BODY_DESCRIPTORS_INL_H_
diff --git a/src/objects-body-descriptors.h b/src/objects/objects-body-descriptors.h
similarity index 97%
rename from src/objects-body-descriptors.h
rename to src/objects/objects-body-descriptors.h
index db5d39e..e880c44 100644
--- a/src/objects-body-descriptors.h
+++ b/src/objects/objects-body-descriptors.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_OBJECTS_BODY_DESCRIPTORS_H_
-#define V8_OBJECTS_BODY_DESCRIPTORS_H_
+#ifndef V8_OBJECTS_OBJECTS_BODY_DESCRIPTORS_H_
+#define V8_OBJECTS_OBJECTS_BODY_DESCRIPTORS_H_
 
 #include "src/objects/map.h"
 #include "src/objects/objects.h"
@@ -74,7 +74,6 @@
                                              ObjectVisitor* v);
 };
 
-
 // This class describes a body of an object of a fixed size
 // in which all pointer fields are located in the [start_offset, end_offset)
 // interval.
@@ -103,7 +102,6 @@
   static inline int SizeOf(Map map, HeapObject object) { return kSize; }
 };
 
-
 // This class describes a body of an object of a variable size
 // in which all pointer fields are located in the [start_offset, object_size)
 // interval.
@@ -185,4 +183,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_OBJECTS_BODY_DESCRIPTORS_H_
+#endif  // V8_OBJECTS_OBJECTS_BODY_DESCRIPTORS_H_
diff --git a/src/objects/objects-definitions.h b/src/objects/objects-definitions.h
index ccb9619a..073c13d 100644
--- a/src/objects/objects-definitions.h
+++ b/src/objects/objects-definitions.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_OBJECTS_DEFINITIONS_H_
 #define V8_OBJECTS_OBJECTS_DEFINITIONS_H_
 
-#include "src/heap-symbols.h"
+#include "src/init/heap-symbols.h"
 
 namespace v8 {
 
diff --git a/src/objects/objects-inl.h b/src/objects/objects-inl.h
index 122ea6b..dea1bde 100644
--- a/src/objects/objects-inl.h
+++ b/src/objects/objects-inl.h
@@ -16,6 +16,7 @@
 
 #include "src/base/bits.h"
 #include "src/builtins/builtins.h"
+#include "src/common/v8memory.h"
 #include "src/handles/handles-inl.h"
 #include "src/heap/factory.h"
 #include "src/heap/heap-write-barrier-inl.h"
@@ -39,7 +40,6 @@
 #include "src/objects/tagged-impl-inl.h"
 #include "src/objects/templates.h"
 #include "src/sanitizer/tsan.h"
-#include "src/v8memory.h"
 #include "torque-generated/class-definitions-tq-inl.h"
 
 // Has to be the last include (doesn't have include guards):
diff --git a/src/objects/objects.cc b/src/objects/objects.cc
index fece0b5..0588f89 100644
--- a/src/objects/objects.cc
+++ b/src/objects/objects.cc
@@ -12,7 +12,6 @@
 
 #include "src/objects/objects-inl.h"
 
-#include "src/allocation-site-scopes.h"
 #include "src/api/api-arguments-inl.h"
 #include "src/api/api-natives.h"
 #include "src/api/api.h"
@@ -25,6 +24,7 @@
 #include "src/builtins/accessors.h"
 #include "src/builtins/builtins.h"
 #include "src/codegen/compiler.h"
+#include "src/common/globals.h"
 #include "src/date/date.h"
 #include "src/debug/debug.h"
 #include "src/execution/arguments.h"
@@ -33,7 +33,6 @@
 #include "src/execution/isolate-inl.h"
 #include "src/execution/message-template.h"
 #include "src/execution/microtask-queue.h"
-#include "src/globals.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/read-only-heap.h"
 #include "src/ic/ic.h"
@@ -41,8 +40,8 @@
 #include "src/logging/counters-inl.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
-#include "src/objects-body-descriptors-inl.h"
 #include "src/objects/allocation-site-inl.h"
+#include "src/objects/allocation-site-scopes.h"
 #include "src/objects/api-callbacks.h"
 #include "src/objects/arguments-inl.h"
 #include "src/objects/bigint.h"
@@ -64,6 +63,7 @@
 #include "src/objects/keys.h"
 #include "src/objects/lookup-inl.h"
 #include "src/objects/map-updater.h"
+#include "src/objects/objects-body-descriptors-inl.h"
 #include "src/utils/identity-map.h"
 #ifdef V8_INTL_SUPPORT
 #include "src/objects/js-break-iterator.h"
diff --git a/src/objects/objects.h b/src/objects/objects.h
index 2a66cff..857f3ed 100644
--- a/src/objects/objects.h
+++ b/src/objects/objects.h
@@ -11,15 +11,15 @@
 #include "include/v8-internal.h"
 #include "include/v8.h"
 #include "include/v8config.h"
-#include "src/assert-scope.h"
 #include "src/base/bits.h"
 #include "src/base/build_config.h"
 #include "src/base/flags.h"
 #include "src/base/logging.h"
-#include "src/checks.h"
 #include "src/codegen/constants-arch.h"
+#include "src/common/assert-scope.h"
+#include "src/common/checks.h"
 #include "src/execution/message-template.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/objects/elements-kind.h"
 #include "src/objects/field-index.h"
 #include "src/objects/object-list-macros.h"
diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h
index 16db568..a83109e 100644
--- a/src/objects/ordered-hash-table.h
+++ b/src/objects/ordered-hash-table.h
@@ -6,11 +6,11 @@
 #define V8_OBJECTS_ORDERED_HASH_TABLE_H_
 
 #include "src/base/export-template.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/fixed-array.h"
 #include "src/objects/js-objects.h"
 #include "src/objects/smi.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/property-details.h b/src/objects/property-details.h
index 5e670b2..022dd0c 100644
--- a/src/objects/property-details.h
+++ b/src/objects/property-details.h
@@ -8,7 +8,7 @@
 #include "include/v8.h"
 #include "src/utils/allocation.h"
 // TODO(bmeurer): Remove once FLAG_modify_field_representation_inplace is gone.
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/objects/property.h b/src/objects/property.h
index 80ab68e8..100b39e 100644
--- a/src/objects/property.h
+++ b/src/objects/property.h
@@ -7,7 +7,7 @@
 
 #include <iosfwd>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/handles/maybe-handles.h"
 #include "src/objects/name.h"
diff --git a/src/objects/scope-info.h b/src/objects/scope-info.h
index 265b396..8d43357 100644
--- a/src/objects/scope-info.h
+++ b/src/objects/scope-info.h
@@ -5,11 +5,11 @@
 #ifndef V8_OBJECTS_SCOPE_INFO_H_
 #define V8_OBJECTS_SCOPE_INFO_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/fixed-array.h"
-#include "src/utils/utils.h"
 #include "src/objects/function-kind.h"
 #include "src/objects/objects.h"
+#include "src/utils/utils.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/slots-inl.h b/src/objects/slots-inl.h
index 8d7c364..b240729 100644
--- a/src/objects/slots-inl.h
+++ b/src/objects/slots-inl.h
@@ -8,11 +8,11 @@
 #include "src/objects/slots.h"
 
 #include "src/base/atomic-utils.h"
+#include "src/common/ptr-compr-inl.h"
 #include "src/objects/compressed-slots.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/maybe-object.h"
 #include "src/objects/objects.h"
-#include "src/ptr-compr-inl.h"
 #include "src/utils/memcopy.h"
 
 namespace v8 {
diff --git a/src/objects/slots.h b/src/objects/slots.h
index 18c8152..fa8b5589 100644
--- a/src/objects/slots.h
+++ b/src/objects/slots.h
@@ -5,8 +5,8 @@
 #ifndef V8_OBJECTS_SLOTS_H_
 #define V8_OBJECTS_SLOTS_H_
 
-#include "src/globals.h"
-#include "src/v8memory.h"
+#include "src/common/globals.h"
+#include "src/common/v8memory.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/objects/smi.h b/src/objects/smi.h
index 293999d..0f93f37 100644
--- a/src/objects/smi.h
+++ b/src/objects/smi.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_SMI_H_
 #define V8_OBJECTS_SMI_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/heap-object.h"
 
 // Has to be the last include (doesn't have include guards):
diff --git a/src/objects/string-comparator.h b/src/objects/string-comparator.h
index 2df0d7c..8cee98a 100644
--- a/src/objects/string-comparator.h
+++ b/src/objects/string-comparator.h
@@ -6,7 +6,7 @@
 #define V8_OBJECTS_STRING_COMPARATOR_H_
 
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/string.h"
 #include "src/utils/utils.h"
 
diff --git a/src/objects/string-inl.h b/src/objects/string-inl.h
index a728612..0d8f83c 100644
--- a/src/objects/string-inl.h
+++ b/src/objects/string-inl.h
@@ -8,9 +8,9 @@
 #include "src/objects/string.h"
 
 #include "src/handles/handles-inl.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/factory.h"
 #include "src/numbers/conversions-inl.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/name-inl.h"
 #include "src/objects/smi-inl.h"
 #include "src/objects/string-table-inl.h"
diff --git a/src/objects/string-table.h b/src/objects/string-table.h
index 3cfb717..6279137 100644
--- a/src/objects/string-table.h
+++ b/src/objects/string-table.h
@@ -6,7 +6,7 @@
 #define V8_OBJECTS_STRING_TABLE_H_
 
 #include "src/objects/hash-table.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 // Has to be the last include (doesn't have include guards):
 #include "src/objects/object-macros.h"
diff --git a/src/objects/struct-inl.h b/src/objects/struct-inl.h
index 548eb35..47d55a8 100644
--- a/src/objects/struct-inl.h
+++ b/src/objects/struct-inl.h
@@ -10,7 +10,7 @@
 #include "src/heap/heap-write-barrier-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/oddball.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 #include "torque-generated/class-definitions-tq-inl.h"
 
 // Has to be the last include (doesn't have include guards):
diff --git a/src/objects/tagged-impl-inl.h b/src/objects/tagged-impl-inl.h
index a1b91e9..f735a24 100644
--- a/src/objects/tagged-impl-inl.h
+++ b/src/objects/tagged-impl-inl.h
@@ -10,10 +10,10 @@
 #ifdef V8_COMPRESS_POINTERS
 #include "src/execution/isolate.h"
 #endif
+#include "src/common/ptr-compr-inl.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/smi.h"
-#include "src/ptr-compr-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/objects/tagged-impl.h b/src/objects/tagged-impl.h
index 8802698..e3d9825 100644
--- a/src/objects/tagged-impl.h
+++ b/src/objects/tagged-impl.h
@@ -7,7 +7,7 @@
 
 #include "include/v8-internal.h"
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/objects/tagged-value-inl.h b/src/objects/tagged-value-inl.h
index 2569fa9..5eb0e20 100644
--- a/src/objects/tagged-value-inl.h
+++ b/src/objects/tagged-value-inl.h
@@ -8,11 +8,11 @@
 #include "src/objects/tagged-value.h"
 
 #include "include/v8-internal.h"
+#include "src/common/ptr-compr-inl.h"
 #include "src/objects/heap-object-inl.h"
 #include "src/objects/oddball.h"
 #include "src/objects/tagged-impl-inl.h"
-#include "src/ptr-compr-inl.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/objects/transitions.h b/src/objects/transitions.h
index ba5ccb5..2cbfcbd 100644
--- a/src/objects/transitions.h
+++ b/src/objects/transitions.h
@@ -5,7 +5,7 @@
 #ifndef V8_OBJECTS_TRANSITIONS_H_
 #define V8_OBJECTS_TRANSITIONS_H_
 
-#include "src/checks.h"
+#include "src/common/checks.h"
 #include "src/objects/descriptor-array.h"
 #include "src/objects/elements-kind.h"
 #include "src/objects/map.h"
diff --git a/src/type-hints.cc b/src/objects/type-hints.cc
similarity index 98%
rename from src/type-hints.cc
rename to src/objects/type-hints.cc
index c6fd06f..cb0a6a4 100644
--- a/src/type-hints.cc
+++ b/src/objects/type-hints.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/type-hints.h"
+#include "src/objects/type-hints.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/type-hints.h b/src/objects/type-hints.h
similarity index 93%
rename from src/type-hints.h
rename to src/objects/type-hints.h
index bb56a64..1aa2709 100644
--- a/src/type-hints.h
+++ b/src/objects/type-hints.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_TYPE_HINTS_H_
-#define V8_TYPE_HINTS_H_
+#ifndef V8_OBJECTS_TYPE_HINTS_H_
+#define V8_OBJECTS_TYPE_HINTS_H_
 
 #include "src/base/flags.h"
 #include "src/utils/utils.h"
@@ -74,4 +74,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_TYPE_HINTS_H_
+#endif  // V8_OBJECTS_TYPE_HINTS_H_
diff --git a/src/value-serializer.cc b/src/objects/value-serializer.cc
similarity index 99%
rename from src/value-serializer.cc
rename to src/objects/value-serializer.cc
index 69a67ce..331a12b 100644
--- a/src/value-serializer.cc
+++ b/src/objects/value-serializer.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/value-serializer.h"
+#include "src/objects/value-serializer.h"
 
 #include <type_traits>
 
@@ -10,7 +10,7 @@
 #include "src/api/api-inl.h"
 #include "src/base/logging.h"
 #include "src/execution/isolate.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles-inl.h"
 #include "src/handles/maybe-handles-inl.h"
 #include "src/heap/factory.h"
diff --git a/src/value-serializer.h b/src/objects/value-serializer.h
similarity index 98%
rename from src/value-serializer.h
rename to src/objects/value-serializer.h
index eb3dfdc..b83227d 100644
--- a/src/value-serializer.h
+++ b/src/objects/value-serializer.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_VALUE_SERIALIZER_H_
-#define V8_VALUE_SERIALIZER_H_
+#ifndef V8_OBJECTS_VALUE_SERIALIZER_H_
+#define V8_OBJECTS_VALUE_SERIALIZER_H_
 
 #include <cstdint>
 #include <vector>
@@ -12,9 +12,9 @@
 #include "src/base/compiler-specific.h"
 #include "src/base/macros.h"
 #include "src/execution/message-template.h"
+#include "src/handles/maybe-handles.h"
 #include "src/utils/identity-map.h"
 #include "src/utils/vector.h"
-#include "src/handles/maybe-handles.h"
 #include "src/zone/zone.h"
 
 namespace v8 {
@@ -311,4 +311,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_VALUE_SERIALIZER_H_
+#endif  // V8_OBJECTS_VALUE_SERIALIZER_H_
diff --git a/src/visitors.cc b/src/objects/visitors.cc
similarity index 95%
rename from src/visitors.cc
rename to src/objects/visitors.cc
index 4ad253c..7621ce1 100644
--- a/src/visitors.cc
+++ b/src/objects/visitors.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 
 #include "src/codegen/reloc-info.h"
 
diff --git a/src/visitors.h b/src/objects/visitors.h
similarity index 97%
rename from src/visitors.h
rename to src/objects/visitors.h
index befb901..d36723b 100644
--- a/src/visitors.h
+++ b/src/objects/visitors.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_VISITORS_H_
-#define V8_VISITORS_H_
+#ifndef V8_OBJECTS_VISITORS_H_
+#define V8_OBJECTS_VISITORS_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/code.h"
 #include "src/objects/compressed-slots.h"
 #include "src/objects/foreign.h"
@@ -154,4 +154,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_VISITORS_H_
+#endif  // V8_OBJECTS_VISITORS_H_
diff --git a/src/parsing/parse-info.cc b/src/parsing/parse-info.cc
index 47a8a0e..ed9d808 100644
--- a/src/parsing/parse-info.cc
+++ b/src/parsing/parse-info.cc
@@ -9,10 +9,10 @@
 #include "src/ast/ast.h"
 #include "src/base/template-utils.h"
 #include "src/compiler-dispatcher/compiler-dispatcher.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/scope-info.h"
 #include "src/zone/zone.h"
diff --git a/src/parsing/parse-info.h b/src/parsing/parse-info.h
index d0e2ee3..7b74e7a 100644
--- a/src/parsing/parse-info.h
+++ b/src/parsing/parse-info.h
@@ -10,12 +10,12 @@
 #include <vector>
 
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/objects/function-kind.h"
 #include "src/objects/script.h"
+#include "src/parsing/pending-compilation-error-handler.h"
 #include "src/parsing/preparse-data.h"
-#include "src/pending-compilation-error-handler.h"
 
 namespace v8 {
 
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
index a922b9b..0ecd8ec 100644
--- a/src/parsing/parser-base.h
+++ b/src/parsing/parser-base.h
@@ -15,8 +15,8 @@
 #include "src/base/hashmap.h"
 #include "src/base/v8-fallthrough.h"
 #include "src/codegen/bailout-reason.h"
+#include "src/common/globals.h"
 #include "src/execution/message-template.h"
-#include "src/globals.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
 #include "src/objects/function-kind.h"
diff --git a/src/parsing/parser.h b/src/parsing/parser.h
index d1cd9ea..cb1c473 100644
--- a/src/parsing/parser.h
+++ b/src/parsing/parser.h
@@ -12,7 +12,7 @@
 #include "src/ast/scopes.h"
 #include "src/base/compiler-specific.h"
 #include "src/base/threaded-list.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/parsing/parser-base.h"
 #include "src/parsing/parsing.h"
 #include "src/parsing/preparser.h"
diff --git a/src/parsing/parsing.h b/src/parsing/parsing.h
index ab78064..5f19500 100644
--- a/src/parsing/parsing.h
+++ b/src/parsing/parsing.h
@@ -5,7 +5,7 @@
 #ifndef V8_PARSING_PARSING_H_
 #define V8_PARSING_PARSING_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/pending-compilation-error-handler.cc b/src/parsing/pending-compilation-error-handler.cc
similarity index 98%
rename from src/pending-compilation-error-handler.cc
rename to src/parsing/pending-compilation-error-handler.cc
index 05dadce..b6331b2 100644
--- a/src/pending-compilation-error-handler.cc
+++ b/src/parsing/pending-compilation-error-handler.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/pending-compilation-error-handler.h"
+#include "src/parsing/pending-compilation-error-handler.h"
 
 #include "src/ast/ast-value-factory.h"
 #include "src/debug/debug.h"
diff --git a/src/pending-compilation-error-handler.h b/src/parsing/pending-compilation-error-handler.h
similarity index 94%
rename from src/pending-compilation-error-handler.h
rename to src/parsing/pending-compilation-error-handler.h
index bae332f..c6b9559 100644
--- a/src/pending-compilation-error-handler.h
+++ b/src/parsing/pending-compilation-error-handler.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_PENDING_COMPILATION_ERROR_HANDLER_H_
-#define V8_PENDING_COMPILATION_ERROR_HANDLER_H_
+#ifndef V8_PARSING_PENDING_COMPILATION_ERROR_HANDLER_H_
+#define V8_PARSING_PENDING_COMPILATION_ERROR_HANDLER_H_
 
 #include <forward_list>
 
 #include "src/base/macros.h"
+#include "src/common/globals.h"
 #include "src/execution/message-template.h"
-#include "src/globals.h"
 #include "src/handles/handles.h"
 
 namespace v8 {
@@ -119,4 +119,4 @@
 
 }  // namespace internal
 }  // namespace v8
-#endif  // V8_PENDING_COMPILATION_ERROR_HANDLER_H_
+#endif  // V8_PARSING_PENDING_COMPILATION_ERROR_HANDLER_H_
diff --git a/src/parsing/preparse-data-impl.h b/src/parsing/preparse-data-impl.h
index 2258572..0bc8027 100644
--- a/src/parsing/preparse-data-impl.h
+++ b/src/parsing/preparse-data-impl.h
@@ -7,7 +7,7 @@
 
 #include "src/parsing/preparse-data.h"
 
-#include "src/assert-scope.h"
+#include "src/common/assert-scope.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/parsing/preparse-data.h b/src/parsing/preparse-data.h
index 1bc0d90..613f13b 100644
--- a/src/parsing/preparse-data.h
+++ b/src/parsing/preparse-data.h
@@ -5,10 +5,10 @@
 #ifndef V8_PARSING_PREPARSE_DATA_H_
 #define V8_PARSING_PREPARSE_DATA_H_
 
-#include "src/globals.h"
-#include "src/utils/vector.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/handles/maybe-handles.h"
+#include "src/utils/vector.h"
 #include "src/zone/zone-chunk-list.h"
 #include "src/zone/zone-containers.h"
 
diff --git a/src/parsing/preparser.cc b/src/parsing/preparser.cc
index a5a3a53..5d11bdd 100644
--- a/src/parsing/preparser.cc
+++ b/src/parsing/preparser.cc
@@ -5,7 +5,7 @@
 #include <cmath>
 
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/numbers/conversions-inl.h"
 #include "src/numbers/conversions.h"
 #include "src/parsing/parser-base.h"
diff --git a/src/parsing/preparser.h b/src/parsing/preparser.h
index 0ccf6db..cca3b36 100644
--- a/src/parsing/preparser.h
+++ b/src/parsing/preparser.h
@@ -8,8 +8,8 @@
 #include "src/ast/ast.h"
 #include "src/ast/scopes.h"
 #include "src/parsing/parser-base.h"
+#include "src/parsing/pending-compilation-error-handler.h"
 #include "src/parsing/preparser-logger.h"
-#include "src/pending-compilation-error-handler.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/parsing/scanner-character-streams.cc b/src/parsing/scanner-character-streams.cc
index 0ba35df..7758b2b 100644
--- a/src/parsing/scanner-character-streams.cc
+++ b/src/parsing/scanner-character-streams.cc
@@ -8,7 +8,7 @@
 #include <vector>
 
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
 #include "src/logging/counters.h"
 #include "src/objects/objects-inl.h"
diff --git a/src/parsing/scanner-character-streams.h b/src/parsing/scanner-character-streams.h
index 4c85f53..4b85567 100644
--- a/src/parsing/scanner-character-streams.h
+++ b/src/parsing/scanner-character-streams.h
@@ -6,7 +6,7 @@
 #define V8_PARSING_SCANNER_CHARACTER_STREAMS_H_
 
 #include "include/v8.h"  // for v8::ScriptCompiler
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/parsing/scanner.h b/src/parsing/scanner.h
index cb0ba86..449aca4 100644
--- a/src/parsing/scanner.h
+++ b/src/parsing/scanner.h
@@ -10,8 +10,8 @@
 #include <algorithm>
 
 #include "src/base/logging.h"
+#include "src/common/globals.h"
 #include "src/execution/message-template.h"
-#include "src/globals.h"
 #include "src/parsing/literal-buffer.h"
 #include "src/parsing/token.h"
 #include "src/strings/char-predicates.h"
diff --git a/src/parsing/token.h b/src/parsing/token.h
index d255038..197a26f 100644
--- a/src/parsing/token.h
+++ b/src/parsing/token.h
@@ -6,7 +6,7 @@
 #define V8_PARSING_TOKEN_H_
 
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/ppc/assembler-ppc.h b/src/ppc/assembler-ppc.h
index fc7267b..6572216 100644
--- a/src/ppc/assembler-ppc.h
+++ b/src/ppc/assembler-ppc.h
@@ -45,8 +45,8 @@
 
 #include "src/codegen/assembler.h"
 #include "src/codegen/constant-pool.h"
+#include "src/codegen/external-reference.h"
 #include "src/codegen/label.h"
-#include "src/external-reference.h"
 #include "src/numbers/double.h"
 #include "src/objects/smi.h"
 #include "src/ppc/constants-ppc.h"
diff --git a/src/ppc/constants-ppc.h b/src/ppc/constants-ppc.h
index 60a3c57..ffa7e12 100644
--- a/src/ppc/constants-ppc.h
+++ b/src/ppc/constants-ppc.h
@@ -9,7 +9,7 @@
 
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 // UNIMPLEMENTED_ macro for PPC.
 #ifdef DEBUG
diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc
index 3cc2590..f5ed14e 100644
--- a/src/ppc/macro-assembler-ppc.cc
+++ b/src/ppc/macro-assembler-ppc.cc
@@ -11,11 +11,11 @@
 #include "src/base/division-by-constant.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/ppc/macro-assembler-ppc.h b/src/ppc/macro-assembler-ppc.h
index 2fbcb9d..2e0511f 100644
--- a/src/ppc/macro-assembler-ppc.h
+++ b/src/ppc/macro-assembler-ppc.h
@@ -10,7 +10,7 @@
 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_
 
 #include "src/codegen/bailout-reason.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/numbers/double.h"
 #include "src/objects/contexts.h"
 #include "src/ppc/assembler-ppc.h"
diff --git a/src/ppc/simulator-ppc.h b/src/ppc/simulator-ppc.h
index 95ee366..338d2bf 100644
--- a/src/ppc/simulator-ppc.h
+++ b/src/ppc/simulator-ppc.h
@@ -13,7 +13,7 @@
 #define V8_PPC_SIMULATOR_PPC_H_
 
 // globals.h defines USE_SIMULATOR.
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(USE_SIMULATOR)
 // Running with a simulator.
diff --git a/src/profiler/circular-queue.h b/src/profiler/circular-queue.h
index fcbb898..e9278fb 100644
--- a/src/profiler/circular-queue.h
+++ b/src/profiler/circular-queue.h
@@ -6,7 +6,7 @@
 #define V8_PROFILER_CIRCULAR_QUEUE_H_
 
 #include "src/base/atomicops.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/profiler/heap-profiler.h b/src/profiler/heap-profiler.h
index b946f62..9405742 100644
--- a/src/profiler/heap-profiler.h
+++ b/src/profiler/heap-profiler.h
@@ -10,8 +10,8 @@
 
 #include "include/v8-profiler.h"
 #include "src/base/platform/mutex.h"
+#include "src/common/globals.h"
 #include "src/debug/debug-interface.h"
-#include "src/globals.h"
 #include "src/heap/heap.h"
 
 namespace v8 {
diff --git a/src/profiler/heap-snapshot-generator.cc b/src/profiler/heap-snapshot-generator.cc
index 2685db9..5f01abd 100644
--- a/src/profiler/heap-snapshot-generator.cc
+++ b/src/profiler/heap-snapshot-generator.cc
@@ -12,7 +12,6 @@
 #include "src/handles/global-handles.h"
 #include "src/heap/combined-heap.h"
 #include "src/numbers/conversions.h"
-#include "src/objects-body-descriptors.h"
 #include "src/objects/allocation-site-inl.h"
 #include "src/objects/api-callbacks.h"
 #include "src/objects/cell-inl.h"
@@ -26,16 +25,17 @@
 #include "src/objects/js-regexp-inl.h"
 #include "src/objects/layout-descriptor.h"
 #include "src/objects/literal-objects-inl.h"
+#include "src/objects/objects-body-descriptors.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/prototype.h"
 #include "src/objects/slots-inl.h"
 #include "src/objects/struct-inl.h"
 #include "src/objects/transitions-inl.h"
+#include "src/objects/visitors.h"
 #include "src/profiler/allocation-tracker.h"
 #include "src/profiler/heap-profiler.h"
 #include "src/profiler/heap-snapshot-generator-inl.h"
 #include "src/utils/vector.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/profiler/heap-snapshot-generator.h b/src/profiler/heap-snapshot-generator.h
index 627d845..a1ec001 100644
--- a/src/profiler/heap-snapshot-generator.h
+++ b/src/profiler/heap-snapshot-generator.h
@@ -18,9 +18,9 @@
 #include "src/objects/js-objects.h"
 #include "src/objects/literal-objects.h"
 #include "src/objects/objects.h"
+#include "src/objects/visitors.h"
 #include "src/profiler/strings-storage.h"
 #include "src/strings/string-hasher.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/profiler/strings-storage.h b/src/profiler/strings-storage.h
index 9b56a6e..650ecac 100644
--- a/src/profiler/strings-storage.h
+++ b/src/profiler/strings-storage.h
@@ -9,7 +9,7 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/base/hashmap.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/profiler/tick-sample.h b/src/profiler/tick-sample.h
index 1f3e5fb..ba78c92 100644
--- a/src/profiler/tick-sample.h
+++ b/src/profiler/tick-sample.h
@@ -7,7 +7,7 @@
 
 #include "include/v8-profiler.h"
 #include "src/base/platform/time.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/profiler/tracing-cpu-profiler.cc b/src/profiler/tracing-cpu-profiler.cc
index ea48b51..2609288 100644
--- a/src/profiler/tracing-cpu-profiler.cc
+++ b/src/profiler/tracing-cpu-profiler.cc
@@ -4,9 +4,9 @@
 
 #include "src/profiler/tracing-cpu-profiler.h"
 
+#include "src/init/v8.h"
 #include "src/profiler/cpu-profiler.h"
 #include "src/tracing/trace-event.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/regexp/property-sequences.h b/src/regexp/property-sequences.h
index 1d9fce3..10c79e8 100644
--- a/src/regexp/property-sequences.h
+++ b/src/regexp/property-sequences.h
@@ -7,7 +7,7 @@
 
 #ifdef V8_INTL_SUPPORT
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/regexp/regexp-stack.h b/src/regexp/regexp-stack.h
index 37cecd3..b1d4571 100644
--- a/src/regexp/regexp-stack.h
+++ b/src/regexp/regexp-stack.h
@@ -7,7 +7,7 @@
 
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/regexp/s390/regexp-macro-assembler-s390.cc b/src/regexp/s390/regexp-macro-assembler-s390.cc
index f84239e..7462634 100644
--- a/src/regexp/s390/regexp-macro-assembler-s390.cc
+++ b/src/regexp/s390/regexp-macro-assembler-s390.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #if V8_TARGET_ARCH_S390
 
diff --git a/src/roots-inl.h b/src/roots/roots-inl.h
similarity index 96%
rename from src/roots-inl.h
rename to src/roots/roots-inl.h
index 6c535e9..0e59365 100644
--- a/src/roots-inl.h
+++ b/src/roots/roots-inl.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_ROOTS_INL_H_
-#define V8_ROOTS_INL_H_
+#ifndef V8_ROOTS_ROOTS_INL_H_
+#define V8_ROOTS_ROOTS_INL_H_
 
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 #include "src/execution/isolate.h"
 #include "src/handles/handles.h"
@@ -112,4 +112,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_ROOTS_INL_H_
+#endif  // V8_ROOTS_ROOTS_INL_H_
diff --git a/src/roots.cc b/src/roots/roots.cc
similarity index 97%
rename from src/roots.cc
rename to src/roots/roots.cc
index 63ceb44..55782a3 100644
--- a/src/roots.cc
+++ b/src/roots/roots.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 #include "src/objects/elements-kind.h"
 #include "src/objects/objects-inl.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/roots.h b/src/roots/roots.h
similarity index 99%
rename from src/roots.h
rename to src/roots/roots.h
index 110d669..d12bdaf 100644
--- a/src/roots.h
+++ b/src/roots/roots.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_ROOTS_H_
-#define V8_ROOTS_H_
+#ifndef V8_ROOTS_ROOTS_H_
+#define V8_ROOTS_ROOTS_H_
 
 #include "src/builtins/accessors.h"
-#include "src/globals.h"
-#include "src/heap-symbols.h"
+#include "src/common/globals.h"
+#include "src/init/heap-symbols.h"
 #include "src/objects/objects-definitions.h"
 #include "src/objects/objects.h"
 #include "src/objects/slots.h"
@@ -554,4 +554,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_ROOTS_H_
+#endif  // V8_ROOTS_ROOTS_H_
diff --git a/src/runtime/runtime-compiler.cc b/src/runtime/runtime-compiler.cc
index d7f94e5..b3b51ec 100644
--- a/src/runtime/runtime-compiler.cc
+++ b/src/runtime/runtime-compiler.cc
@@ -10,11 +10,11 @@
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
 #include "src/execution/message-template.h"
+#include "src/execution/v8threads.h"
 #include "src/execution/vm-state-inl.h"
 #include "src/objects/js-array-buffer-inl.h"
 #include "src/objects/js-array-inl.h"
 #include "src/runtime/runtime-utils.h"
-#include "src/v8threads.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/runtime/runtime-debug.cc b/src/runtime/runtime-debug.cc
index 2383c73..afe4a92 100644
--- a/src/runtime/runtime-debug.cc
+++ b/src/runtime/runtime-debug.cc
@@ -5,6 +5,7 @@
 #include <vector>
 
 #include "src/codegen/compiler.h"
+#include "src/common/globals.h"
 #include "src/debug/debug-coverage.h"
 #include "src/debug/debug-evaluate.h"
 #include "src/debug/debug-frames.h"
@@ -14,7 +15,6 @@
 #include "src/execution/arguments-inl.h"
 #include "src/execution/frames-inl.h"
 #include "src/execution/isolate-inl.h"
-#include "src/globals.h"
 #include "src/heap/heap-inl.h"  // For ToBoolean. TODO(jkummerow): Drop.
 #include "src/interpreter/bytecode-array-accessor.h"
 #include "src/interpreter/bytecodes.h"
diff --git a/src/runtime/runtime-futex.cc b/src/runtime/runtime-futex.cc
index 6cc5768..c251653 100644
--- a/src/runtime/runtime-futex.cc
+++ b/src/runtime/runtime-futex.cc
@@ -5,9 +5,9 @@
 #include "src/runtime/runtime-utils.h"
 
 #include "src/base/platform/time.h"
+#include "src/common/globals.h"
 #include "src/execution/arguments-inl.h"
 #include "src/execution/futex-emulation.h"
-#include "src/globals.h"
 #include "src/logging/counters.h"
 #include "src/numbers/conversions-inl.h"
 #include "src/objects/heap-object-inl.h"
diff --git a/src/runtime/runtime-literals.cc b/src/runtime/runtime-literals.cc
index a6fea38..67aa097 100644
--- a/src/runtime/runtime-literals.cc
+++ b/src/runtime/runtime-literals.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/allocation-site-scopes-inl.h"
 #include "src/ast/ast.h"
 #include "src/execution/arguments-inl.h"
 #include "src/execution/isolate-inl.h"
 #include "src/logging/counters.h"
+#include "src/objects/allocation-site-scopes-inl.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/heap-number-inl.h"
 #include "src/objects/heap-object-inl.h"
diff --git a/src/runtime/runtime-utils.h b/src/runtime/runtime-utils.h
index 578625e..47e7803 100644
--- a/src/runtime/runtime-utils.h
+++ b/src/runtime/runtime-utils.h
@@ -6,7 +6,7 @@
 #define V8_RUNTIME_RUNTIME_UTILS_H_
 
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/objects.h"
 #include "src/runtime/runtime.h"
 
diff --git a/src/runtime/runtime-wasm.cc b/src/runtime/runtime-wasm.cc
index a426156..288bfa1 100644
--- a/src/runtime/runtime-wasm.cc
+++ b/src/runtime/runtime-wasm.cc
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "src/common/v8memory.h"
 #include "src/compiler/wasm-compiler.h"
 #include "src/debug/debug.h"
 #include "src/execution/arguments-inl.h"
@@ -14,7 +15,6 @@
 #include "src/objects/objects-inl.h"
 #include "src/runtime/runtime-utils.h"
 #include "src/trap-handler/trap-handler.h"
-#include "src/v8memory.h"
 #include "src/wasm/module-compiler.h"
 #include "src/wasm/wasm-code-manager.h"
 #include "src/wasm/wasm-constants.h"
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
index 2f343bf..f5df280 100644
--- a/src/runtime/runtime.h
+++ b/src/runtime/runtime.h
@@ -8,7 +8,7 @@
 #include <memory>
 
 #include "src/base/platform/time.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/elements-kind.h"
 #include "src/strings/unicode.h"
 #include "src/utils/allocation.h"
diff --git a/src/s390/assembler-s390.h b/src/s390/assembler-s390.h
index d242234..1b571c2 100644
--- a/src/s390/assembler-s390.h
+++ b/src/s390/assembler-s390.h
@@ -51,8 +51,8 @@
 #include <vector>
 
 #include "src/codegen/assembler.h"
+#include "src/codegen/external-reference.h"
 #include "src/codegen/label.h"
-#include "src/external-reference.h"
 #include "src/objects/smi.h"
 #include "src/s390/constants-s390.h"
 #include "src/s390/register-s390.h"
diff --git a/src/s390/constants-s390.h b/src/s390/constants-s390.h
index 4aeacc1..fddd125 100644
--- a/src/s390/constants-s390.h
+++ b/src/s390/constants-s390.h
@@ -15,7 +15,7 @@
 
 #include "src/base/logging.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 // UNIMPLEMENTED_ macro for S390.
 #ifdef DEBUG
diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc
index 7e01b41..f0d15b9 100644
--- a/src/s390/macro-assembler-s390.cc
+++ b/src/s390/macro-assembler-s390.cc
@@ -11,11 +11,11 @@
 #include "src/base/division-by-constant.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/s390/macro-assembler-s390.h b/src/s390/macro-assembler-s390.h
index 923019f..7bf2f11 100644
--- a/src/s390/macro-assembler-s390.h
+++ b/src/s390/macro-assembler-s390.h
@@ -10,7 +10,7 @@
 #define V8_S390_MACRO_ASSEMBLER_S390_H_
 
 #include "src/codegen/bailout-reason.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/contexts.h"
 #include "src/s390/assembler-s390.h"
 
diff --git a/src/s390/simulator-s390.h b/src/s390/simulator-s390.h
index 409bf5a..e0222ed 100644
--- a/src/s390/simulator-s390.h
+++ b/src/s390/simulator-s390.h
@@ -13,7 +13,7 @@
 #define V8_S390_SIMULATOR_S390_H_
 
 // globals.h defines USE_SIMULATOR.
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #if defined(USE_SIMULATOR)
 // Running with a simulator.
diff --git a/src/sanitizer/asan.h b/src/sanitizer/asan.h
index 006035f..0381e5a 100644
--- a/src/sanitizer/asan.h
+++ b/src/sanitizer/asan.h
@@ -8,7 +8,7 @@
 #define V8_SANITIZER_ASAN_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #ifdef V8_USE_ADDRESS_SANITIZER
 
diff --git a/src/sanitizer/msan.h b/src/sanitizer/msan.h
index d522dde..01e774e 100644
--- a/src/sanitizer/msan.h
+++ b/src/sanitizer/msan.h
@@ -8,7 +8,7 @@
 #define V8_SANITIZER_MSAN_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #ifdef V8_USE_MEMORY_SANITIZER
 
diff --git a/src/snapshot/code-serializer.cc b/src/snapshot/code-serializer.cc
index 0eb5676..46d7045 100644
--- a/src/snapshot/code-serializer.cc
+++ b/src/snapshot/code-serializer.cc
@@ -11,10 +11,10 @@
 #include "src/logging/log.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/slots.h"
+#include "src/objects/visitors.h"
 #include "src/snapshot/object-deserializer.h"
 #include "src/snapshot/snapshot.h"
 #include "src/utils/version.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/deserializer-allocator.h b/src/snapshot/deserializer-allocator.h
index 56bd4d1..27cacc7 100644
--- a/src/snapshot/deserializer-allocator.h
+++ b/src/snapshot/deserializer-allocator.h
@@ -5,7 +5,7 @@
 #ifndef V8_SNAPSHOT_DESERIALIZER_ALLOCATOR_H_
 #define V8_SNAPSHOT_DESERIALIZER_ALLOCATOR_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/heap.h"
 #include "src/objects/heap-object.h"
 #include "src/snapshot/serializer-common.h"
diff --git a/src/snapshot/deserializer.cc b/src/snapshot/deserializer.cc
index dfcd727..8eddc3f 100644
--- a/src/snapshot/deserializer.cc
+++ b/src/snapshot/deserializer.cc
@@ -11,17 +11,17 @@
 #include "src/heap/read-only-heap.h"
 #include "src/interpreter/interpreter.h"
 #include "src/logging/log.h"
-#include "src/objects-body-descriptors-inl.h"
 #include "src/objects/api-callbacks.h"
 #include "src/objects/cell-inl.h"
 #include "src/objects/hash-table.h"
 #include "src/objects/js-array-buffer-inl.h"
 #include "src/objects/js-array-inl.h"
 #include "src/objects/maybe-object.h"
+#include "src/objects/objects-body-descriptors-inl.h"
 #include "src/objects/slots.h"
 #include "src/objects/smi.h"
 #include "src/objects/string.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 #include "src/snapshot/natives.h"
 #include "src/snapshot/snapshot.h"
 #include "src/tracing/trace-event.h"
diff --git a/src/snapshot/embedded-data.h b/src/snapshot/embedded-data.h
index 1655a3b..9e68ac3 100644
--- a/src/snapshot/embedded-data.h
+++ b/src/snapshot/embedded-data.h
@@ -7,8 +7,8 @@
 
 #include "src/base/macros.h"
 #include "src/builtins/builtins.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/embedded-file-writer.h b/src/snapshot/embedded-file-writer.h
index f0265ae..df99d04 100644
--- a/src/snapshot/embedded-file-writer.h
+++ b/src/snapshot/embedded-file-writer.h
@@ -9,7 +9,7 @@
 #include <cstdio>
 #include <cstring>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/snapshot/embedded-data.h"
 #include "src/snapshot/embedded/platform-embedded-file-writer-base.h"
 
diff --git a/src/snapshot/embedded/platform-embedded-file-writer-base.cc b/src/snapshot/embedded/platform-embedded-file-writer-base.cc
index bd3c767..2adb041 100644
--- a/src/snapshot/embedded/platform-embedded-file-writer-base.cc
+++ b/src/snapshot/embedded/platform-embedded-file-writer-base.cc
@@ -6,7 +6,7 @@
 
 #include <string>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/snapshot/embedded/platform-embedded-file-writer-aix.h"
 #include "src/snapshot/embedded/platform-embedded-file-writer-generic.h"
 #include "src/snapshot/embedded/platform-embedded-file-writer-mac.h"
diff --git a/src/snapshot/embedded/platform-embedded-file-writer-generic.cc b/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
index 780ca44..4cee1ac 100644
--- a/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
+++ b/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
@@ -7,7 +7,7 @@
 #include <algorithm>
 #include <cinttypes>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/embedded/platform-embedded-file-writer-generic.h b/src/snapshot/embedded/platform-embedded-file-writer-generic.h
index db89600..0c76e7d 100644
--- a/src/snapshot/embedded/platform-embedded-file-writer-generic.h
+++ b/src/snapshot/embedded/platform-embedded-file-writer-generic.h
@@ -6,7 +6,7 @@
 #define V8_SNAPSHOT_EMBEDDED_PLATFORM_EMBEDDED_FILE_WRITER_GENERIC_H_
 
 #include "src/base/macros.h"
-#include "src/globals.h"  // For V8_OS_WIN_X64
+#include "src/common/globals.h"  // For V8_OS_WIN_X64
 #include "src/snapshot/embedded/platform-embedded-file-writer-base.h"
 
 namespace v8 {
diff --git a/src/snapshot/mksnapshot.cc b/src/snapshot/mksnapshot.cc
index ff8a4c4..1b40e8b 100644
--- a/src/snapshot/mksnapshot.cc
+++ b/src/snapshot/mksnapshot.cc
@@ -11,7 +11,7 @@
 #include "src/base/platform/platform.h"
 #include "src/codegen/assembler-arch.h"
 #include "src/codegen/source-position-table.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/sanitizer/msan.h"
 #include "src/snapshot/embedded-file-writer.h"
 #include "src/snapshot/natives.h"
@@ -70,7 +70,7 @@
 
   static void WriteSnapshotFilePrefix(FILE* fp) {
     fprintf(fp, "// Autogenerated snapshot file. Do not edit.\n\n");
-    fprintf(fp, "#include \"src/v8.h\"\n");
+    fprintf(fp, "#include \"src/init/v8.h\"\n");
     fprintf(fp, "#include \"src/base/platform/platform.h\"\n\n");
     fprintf(fp, "#include \"src/snapshot/snapshot.h\"\n\n");
     fprintf(fp, "namespace v8 {\n");
diff --git a/src/snapshot/read-only-deserializer.cc b/src/snapshot/read-only-deserializer.cc
index ced171e..576e644 100644
--- a/src/snapshot/read-only-deserializer.cc
+++ b/src/snapshot/read-only-deserializer.cc
@@ -5,11 +5,11 @@
 #include "src/snapshot/read-only-deserializer.h"
 
 #include "src/api/api.h"
+#include "src/execution/v8threads.h"
 #include "src/heap/heap-inl.h"  // crbug.com/v8/8499
 #include "src/heap/read-only-heap.h"
 #include "src/objects/slots.h"
 #include "src/snapshot/snapshot.h"
-#include "src/v8threads.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/read-only-serializer.cc b/src/snapshot/read-only-serializer.cc
index 86401db..f4b45a1 100644
--- a/src/snapshot/read-only-serializer.cc
+++ b/src/snapshot/read-only-serializer.cc
@@ -6,12 +6,12 @@
 
 #include "src/api/api.h"
 #include "src/diagnostics/code-tracer.h"
+#include "src/execution/v8threads.h"
 #include "src/handles/global-handles.h"
 #include "src/heap/read-only-heap.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/slots.h"
 #include "src/snapshot/startup-serializer.h"
-#include "src/v8threads.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/references.h b/src/snapshot/references.h
index 6dedd20..e7c4423 100644
--- a/src/snapshot/references.h
+++ b/src/snapshot/references.h
@@ -5,8 +5,8 @@
 #ifndef V8_SNAPSHOT_REFERENCES_H_
 #define V8_SNAPSHOT_REFERENCES_H_
 
-#include "src/assert-scope.h"
 #include "src/base/hashmap.h"
+#include "src/common/assert-scope.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/snapshot/roots-serializer.h b/src/snapshot/roots-serializer.h
index 50c6340..cfb59dd 100644
--- a/src/snapshot/roots-serializer.h
+++ b/src/snapshot/roots-serializer.h
@@ -7,8 +7,8 @@
 
 #include <bitset>
 
+#include "src/objects/visitors.h"
 #include "src/snapshot/serializer.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/serializer-common.cc b/src/snapshot/serializer-common.cc
index 18c0564..2869c2b 100644
--- a/src/snapshot/serializer-common.cc
+++ b/src/snapshot/serializer-common.cc
@@ -4,7 +4,7 @@
 
 #include "src/snapshot/serializer-common.h"
 
-#include "src/external-reference-table.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/objects/foreign-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/slots.h"
diff --git a/src/snapshot/serializer-common.h b/src/snapshot/serializer-common.h
index 8f66196..30da8db 100644
--- a/src/snapshot/serializer-common.h
+++ b/src/snapshot/serializer-common.h
@@ -6,13 +6,13 @@
 #define V8_SNAPSHOT_SERIALIZER_COMMON_H_
 
 #include "src/base/bits.h"
-#include "src/external-reference-table.h"
-#include "src/globals.h"
+#include "src/codegen/external-reference-table.h"
+#include "src/common/globals.h"
+#include "src/common/v8memory.h"
+#include "src/objects/visitors.h"
 #include "src/sanitizer/msan.h"
 #include "src/snapshot/references.h"
 #include "src/utils/address-map.h"
-#include "src/v8memory.h"
-#include "src/visitors.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/snapshot-external.cc b/src/snapshot/snapshot-external.cc
index c5f56eb..d77ddae 100644
--- a/src/snapshot/snapshot-external.cc
+++ b/src/snapshot/snapshot-external.cc
@@ -7,9 +7,8 @@
 #include "src/snapshot/snapshot.h"
 
 #include "src/base/platform/mutex.h"
+#include "src/init/v8.h"  // for V8::Initialize
 #include "src/snapshot/snapshot-source-sink.h"
-#include "src/v8.h"  // for V8::Initialize
-
 
 #ifndef V8_USE_EXTERNAL_STARTUP_DATA
 #error snapshot-external.cc is used only for the external snapshot build.
diff --git a/src/snapshot/startup-deserializer.cc b/src/snapshot/startup-deserializer.cc
index cbc7abb..168bc67 100644
--- a/src/snapshot/startup-deserializer.cc
+++ b/src/snapshot/startup-deserializer.cc
@@ -6,9 +6,9 @@
 
 #include "src/api/api.h"
 #include "src/codegen/assembler-inl.h"
+#include "src/execution/v8threads.h"
 #include "src/heap/heap-inl.h"
 #include "src/snapshot/snapshot.h"
-#include "src/v8threads.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/snapshot/startup-serializer.cc b/src/snapshot/startup-serializer.cc
index 7499bc7..62a786f 100644
--- a/src/snapshot/startup-serializer.cc
+++ b/src/snapshot/startup-serializer.cc
@@ -6,6 +6,7 @@
 
 #include "src/api/api.h"
 #include "src/deoptimizer/deoptimizer.h"
+#include "src/execution/v8threads.h"
 #include "src/handles/global-handles.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/read-only-heap.h"
@@ -14,7 +15,6 @@
 #include "src/objects/objects-inl.h"
 #include "src/objects/slots.h"
 #include "src/snapshot/read-only-serializer.h"
-#include "src/v8threads.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/strings/char-predicates.h b/src/strings/char-predicates.h
index d8f88a6..43b4d09 100644
--- a/src/strings/char-predicates.h
+++ b/src/strings/char-predicates.h
@@ -5,7 +5,7 @@
 #ifndef V8_STRINGS_CHAR_PREDICATES_H_
 #define V8_STRINGS_CHAR_PREDICATES_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/strings/unicode.h"
 
 namespace v8 {
diff --git a/src/strings/string-builder-inl.h b/src/strings/string-builder-inl.h
index 72e522f..aa442b1 100644
--- a/src/strings/string-builder-inl.h
+++ b/src/strings/string-builder-inl.h
@@ -5,7 +5,7 @@
 #ifndef V8_STRINGS_STRING_BUILDER_INL_H_
 #define V8_STRINGS_STRING_BUILDER_INL_H_
 
-#include "src/assert-scope.h"
+#include "src/common/assert-scope.h"
 #include "src/execution/isolate.h"
 #include "src/handles/handles-inl.h"
 #include "src/heap/factory.h"
diff --git a/src/strings/string-case.cc b/src/strings/string-case.cc
index 96896cc..88370a8 100644
--- a/src/strings/string-case.cc
+++ b/src/strings/string-case.cc
@@ -4,9 +4,9 @@
 
 #include "src/strings/string-case.h"
 
-#include "src/assert-scope.h"
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/assert-scope.h"
+#include "src/common/globals.h"
 #include "src/utils/utils.h"
 
 namespace v8 {
diff --git a/src/strings/string-hasher.h b/src/strings/string-hasher.h
index 6b86a34..b3917b7 100644
--- a/src/strings/string-hasher.h
+++ b/src/strings/string-hasher.h
@@ -5,7 +5,7 @@
 #ifndef V8_STRINGS_STRING_HASHER_H_
 #define V8_STRINGS_STRING_HASHER_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/strings/unicode.h b/src/strings/unicode.h
index 4442d67..d3d4bb6 100644
--- a/src/strings/unicode.h
+++ b/src/strings/unicode.h
@@ -6,7 +6,7 @@
 #define V8_STRINGS_UNICODE_H_
 
 #include <sys/types.h>
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/third_party/utf8-decoder/utf8-decoder.h"
 #include "src/utils/utils.h"
 /**
diff --git a/src/cancelable-task.cc b/src/tasks/cancelable-task.cc
similarity index 98%
rename from src/cancelable-task.cc
rename to src/tasks/cancelable-task.cc
index 607c2d0..e56e93b 100644
--- a/src/cancelable-task.cc
+++ b/src/tasks/cancelable-task.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/cancelable-task.h"
+#include "src/tasks/cancelable-task.h"
 
 #include "src/base/platform/platform.h"
 #include "src/execution/isolate.h"
diff --git a/src/cancelable-task.h b/src/tasks/cancelable-task.h
similarity index 97%
rename from src/cancelable-task.h
rename to src/tasks/cancelable-task.h
index a82f2b6..59f04de 100644
--- a/src/cancelable-task.h
+++ b/src/tasks/cancelable-task.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_CANCELABLE_TASK_H_
-#define V8_CANCELABLE_TASK_H_
+#ifndef V8_TASKS_CANCELABLE_TASK_H_
+#define V8_TASKS_CANCELABLE_TASK_H_
 
 #include <atomic>
 #include <unordered_map>
@@ -11,7 +11,7 @@
 #include "include/v8-platform.h"
 #include "src/base/macros.h"
 #include "src/base/platform/condition-variable.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
@@ -184,4 +184,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_CANCELABLE_TASK_H_
+#endif  // V8_TASKS_CANCELABLE_TASK_H_
diff --git a/src/task-utils.cc b/src/tasks/task-utils.cc
similarity index 96%
rename from src/task-utils.cc
rename to src/tasks/task-utils.cc
index aaa3634..2b75c45 100644
--- a/src/task-utils.cc
+++ b/src/tasks/task-utils.cc
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/task-utils.h"
+#include "src/tasks/task-utils.h"
 
-#include "src/cancelable-task.h"
+#include "src/tasks/cancelable-task.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/task-utils.h b/src/tasks/task-utils.h
similarity index 90%
rename from src/task-utils.h
rename to src/tasks/task-utils.h
index 81ad5e1..cdd1624 100644
--- a/src/task-utils.h
+++ b/src/tasks/task-utils.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef V8_TASK_UTILS_H_
-#define V8_TASK_UTILS_H_
+#ifndef V8_TASKS_TASK_UTILS_H_
+#define V8_TASKS_TASK_UTILS_H_
 
 #include <functional>
 #include <memory>
@@ -30,4 +30,4 @@
 }  // namespace internal
 }  // namespace v8
 
-#endif  // V8_TASK_UTILS_H_
+#endif  // V8_TASKS_TASK_UTILS_H_
diff --git a/src/torque/csa-generator.cc b/src/torque/csa-generator.cc
index 3110e69..2f27a2e 100644
--- a/src/torque/csa-generator.cc
+++ b/src/torque/csa-generator.cc
@@ -4,7 +4,7 @@
 
 #include "src/torque/csa-generator.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/torque/type-oracle.h"
 #include "src/torque/utils.h"
 
diff --git a/src/torque/implementation-visitor.cc b/src/torque/implementation-visitor.cc
index 287d88e..5738e0f 100644
--- a/src/torque/implementation-visitor.cc
+++ b/src/torque/implementation-visitor.cc
@@ -4,7 +4,7 @@
 
 #include <algorithm>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/torque/csa-generator.h"
 #include "src/torque/declaration-visitor.h"
 #include "src/torque/implementation-visitor.h"
diff --git a/src/torque/torque-parser.cc b/src/torque/torque-parser.cc
index 9fa6c63..619096c 100644
--- a/src/torque/torque-parser.cc
+++ b/src/torque/torque-parser.cc
@@ -7,7 +7,7 @@
 #include <set>
 #include <unordered_map>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/torque/constants.h"
 #include "src/torque/earley-parser.h"
 #include "src/torque/torque-parser.h"
diff --git a/src/torque/type-visitor.cc b/src/torque/type-visitor.cc
index ab718fd..e9fd50c 100644
--- a/src/torque/type-visitor.cc
+++ b/src/torque/type-visitor.cc
@@ -4,7 +4,7 @@
 
 #include "src/torque/type-visitor.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/torque/declarable.h"
 #include "src/torque/global-context.h"
 #include "src/torque/server-data.h"
diff --git a/src/torque/types.cc b/src/torque/types.cc
index d9f6f30..12787ed 100644
--- a/src/torque/types.cc
+++ b/src/torque/types.cc
@@ -4,7 +4,7 @@
 
 #include <iostream>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/torque/ast.h"
 #include "src/torque/declarable.h"
 #include "src/torque/type-oracle.h"
diff --git a/src/tracing/trace-event.cc b/src/tracing/trace-event.cc
index ca4c96d..6c631b1 100644
--- a/src/tracing/trace-event.cc
+++ b/src/tracing/trace-event.cc
@@ -7,9 +7,9 @@
 #include <string.h>
 
 #include "src/execution/isolate.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/tracing/traced-value.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/tracing/tracing-category-observer.cc b/src/tracing/tracing-category-observer.cc
index f524591..a44074d 100644
--- a/src/tracing/tracing-category-observer.cc
+++ b/src/tracing/tracing-category-observer.cc
@@ -5,9 +5,9 @@
 #include "src/tracing/tracing-category-observer.h"
 
 #include "src/base/atomic-utils.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
 #include "src/tracing/trace-event.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace tracing {
diff --git a/src/trap-handler/DEPS b/src/trap-handler/DEPS
index 7241cf5..061634d 100644
--- a/src/trap-handler/DEPS
+++ b/src/trap-handler/DEPS
@@ -11,8 +11,8 @@
 specific_include_rules = {
   "trap-handler.h": [
     "+src/base/build_config.h",
-    "+src/globals.h",
-    "+src/flags.h",
+    "+src/common/globals.h",
+    "+src/flags/flags.h",
   ],
   "handler-inside-posix.h": [
     # To access V8_OS_LINUX. This file is already included in build_config.h.
diff --git a/src/trap-handler/trap-handler.h b/src/trap-handler/trap-handler.h
index 50fd4de..51f5fe8 100644
--- a/src/trap-handler/trap-handler.h
+++ b/src/trap-handler/trap-handler.h
@@ -9,8 +9,8 @@
 #include <stdlib.h>
 
 #include "src/base/build_config.h"
-#include "src/flags.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/flags/flags.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/address-map.h b/src/utils/address-map.h
index 36f4891..56e1f87 100644
--- a/src/utils/address-map.h
+++ b/src/utils/address-map.h
@@ -6,10 +6,10 @@
 #define V8_UTILS_ADDRESS_MAP_H_
 
 #include "include/v8.h"
-#include "src/assert-scope.h"
 #include "src/base/hashmap.h"
+#include "src/common/assert-scope.h"
 #include "src/objects/heap-object.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/allocation.cc b/src/utils/allocation.cc
index 147b067..27db17a 100644
--- a/src/utils/allocation.cc
+++ b/src/utils/allocation.cc
@@ -10,10 +10,10 @@
 #include "src/base/logging.h"
 #include "src/base/page-allocator.h"
 #include "src/base/platform/platform.h"
+#include "src/init/v8.h"
 #include "src/sanitizer/lsan-page-allocator.h"
 #include "src/utils/memcopy.h"
 #include "src/utils/vector.h"
-#include "src/v8.h"
 
 #if V8_LIBC_BIONIC
 #include <malloc.h>  // NOLINT
diff --git a/src/utils/allocation.h b/src/utils/allocation.h
index 7e547b4..fa3e6f3 100644
--- a/src/utils/allocation.h
+++ b/src/utils/allocation.h
@@ -9,8 +9,8 @@
 #include "src/base/address-region.h"
 #include "src/base/compiler-specific.h"
 #include "src/base/platform/platform.h"
-#include "src/globals.h"
-#include "src/v8.h"
+#include "src/common/globals.h"
+#include "src/init/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/boxed-float.h b/src/utils/boxed-float.h
index ad1a4db..93f6bae 100644
--- a/src/utils/boxed-float.h
+++ b/src/utils/boxed-float.h
@@ -7,7 +7,7 @@
 
 #include <cmath>
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/identity-map.cc b/src/utils/identity-map.cc
index ebb680a..b9afe6b 100644
--- a/src/utils/identity-map.cc
+++ b/src/utils/identity-map.cc
@@ -6,7 +6,7 @@
 
 #include "src/base/functional.h"
 #include "src/heap/heap.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/ostreams.h b/src/utils/ostreams.h
index cb624f7..e87675d 100644
--- a/src/utils/ostreams.h
+++ b/src/utils/ostreams.h
@@ -13,7 +13,7 @@
 
 #include "include/v8config.h"
 #include "src/base/macros.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/utils-inl.h b/src/utils/utils-inl.h
index f5e21b5..e880550 100644
--- a/src/utils/utils-inl.h
+++ b/src/utils/utils-inl.h
@@ -9,8 +9,8 @@
 
 #include "include/v8-platform.h"
 #include "src/base/platform/time.h"
+#include "src/init/v8.h"
 #include "src/strings/char-predicates-inl.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/utils/utils.h b/src/utils/utils.h
index b82a7d6..17b4050 100644
--- a/src/utils/utils.h
+++ b/src/utils/utils.h
@@ -19,7 +19,7 @@
 #include "src/base/macros.h"
 #include "src/base/platform/platform.h"
 #include "src/base/v8-fallthrough.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/third_party/siphash/halfsiphash.h"
 #include "src/utils/allocation.h"
 #include "src/utils/vector.h"
diff --git a/src/v8dll-main.cc b/src/utils/v8dll-main.cc
similarity index 74%
rename from src/v8dll-main.cc
rename to src/utils/v8dll-main.cc
index 6250b3e..255f0d8 100644
--- a/src/v8dll-main.cc
+++ b/src/utils/v8dll-main.cc
@@ -4,16 +4,14 @@
 
 // The GYP based build ends up defining USING_V8_SHARED when compiling this
 // file.
-#undef USING_V8_SHARED
+#undef USING_V8_SHARED  // NOLINT
 #include "include/v8.h"
 
 #if V8_OS_WIN
 #include "src/base/win32-headers.h"
 
 extern "C" {
-BOOL WINAPI DllMain(HANDLE hinstDLL,
-                    DWORD dwReason,
-                    LPVOID lpvReserved) {
+BOOL WINAPI DllMain(HANDLE hinstDLL, DWORD dwReason, LPVOID lpvReserved) {
   // Do nothing.
   return TRUE;
 }
diff --git a/src/utils/vector.h b/src/utils/vector.h
index b4b6f39..5b6c878 100644
--- a/src/utils/vector.h
+++ b/src/utils/vector.h
@@ -9,8 +9,8 @@
 #include <cstring>
 #include <iterator>
 
-#include "src/checks.h"
-#include "src/globals.h"
+#include "src/common/checks.h"
+#include "src/common/globals.h"
 #include "src/utils/allocation.h"
 
 namespace v8 {
diff --git a/src/wasm/decoder.h b/src/wasm/decoder.h
index 77b8adf..440267b 100644
--- a/src/wasm/decoder.h
+++ b/src/wasm/decoder.h
@@ -11,10 +11,10 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/codegen/signature.h"
-#include "src/flags.h"
+#include "src/common/v8memory.h"
+#include "src/flags/flags.h"
 #include "src/utils/utils.h"
 #include "src/utils/vector.h"
-#include "src/v8memory.h"
 #include "src/wasm/wasm-result.h"
 #include "src/zone/zone-containers.h"
 
diff --git a/src/wasm/function-body-decoder.cc b/src/wasm/function-body-decoder.cc
index 472709c..c1e8e54 100644
--- a/src/wasm/function-body-decoder.cc
+++ b/src/wasm/function-body-decoder.cc
@@ -4,10 +4,10 @@
 
 #include "src/wasm/function-body-decoder.h"
 
-#include "src/flags.h"
-#include "src/utils/ostreams.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles.h"
 #include "src/objects/objects-inl.h"
+#include "src/utils/ostreams.h"
 #include "src/wasm/decoder.h"
 #include "src/wasm/function-body-decoder-impl.h"
 #include "src/wasm/wasm-limits.h"
diff --git a/src/wasm/function-body-decoder.h b/src/wasm/function-body-decoder.h
index 5564dcd..16f90a4 100644
--- a/src/wasm/function-body-decoder.h
+++ b/src/wasm/function-body-decoder.h
@@ -7,7 +7,7 @@
 
 #include "src/base/compiler-specific.h"
 #include "src/base/iterator.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/wasm/decoder.h"
 #include "src/wasm/wasm-opcodes.h"
 #include "src/wasm/wasm-result.h"
diff --git a/src/wasm/graph-builder-interface.cc b/src/wasm/graph-builder-interface.cc
index 2f3f7d7..90d8749 100644
--- a/src/wasm/graph-builder-interface.cc
+++ b/src/wasm/graph-builder-interface.cc
@@ -5,10 +5,10 @@
 #include "src/wasm/graph-builder-interface.h"
 
 #include "src/compiler/wasm-compiler.h"
-#include "src/flags.h"
-#include "src/utils/ostreams.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles.h"
 #include "src/objects/objects-inl.h"
+#include "src/utils/ostreams.h"
 #include "src/wasm/decoder.h"
 #include "src/wasm/function-body-decoder-impl.h"
 #include "src/wasm/function-body-decoder.h"
diff --git a/src/wasm/local-decl-encoder.h b/src/wasm/local-decl-encoder.h
index e0725ef..6fd2314 100644
--- a/src/wasm/local-decl-encoder.h
+++ b/src/wasm/local-decl-encoder.h
@@ -5,7 +5,7 @@
 #ifndef V8_WASM_LOCAL_DECL_ENCODER_H_
 #define V8_WASM_LOCAL_DECL_ENCODER_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/wasm/wasm-opcodes.h"
 #include "src/zone/zone-containers.h"
 #include "src/zone/zone.h"
diff --git a/src/wasm/memory-tracing.cc b/src/wasm/memory-tracing.cc
index 4e4eefd..10483cf 100644
--- a/src/wasm/memory-tracing.cc
+++ b/src/wasm/memory-tracing.cc
@@ -6,9 +6,9 @@
 
 #include <cinttypes>
 
+#include "src/common/v8memory.h"
 #include "src/utils/utils.h"
 #include "src/utils/vector.h"
-#include "src/v8memory.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/wasm/module-compiler.cc b/src/wasm/module-compiler.cc
index 073e274..5a7c98a 100644
--- a/src/wasm/module-compiler.cc
+++ b/src/wasm/module-compiler.cc
@@ -19,7 +19,7 @@
 #include "src/heap/heap-inl.h"  // For CodeSpaceMemoryModificationScope.
 #include "src/logging/counters.h"
 #include "src/objects/property-descriptor.h"
-#include "src/task-utils.h"
+#include "src/tasks/task-utils.h"
 #include "src/tracing/trace-event.h"
 #include "src/trap-handler/trap-handler.h"
 #include "src/utils/identity-map.h"
diff --git a/src/wasm/module-compiler.h b/src/wasm/module-compiler.h
index b35e191..e2cf92c 100644
--- a/src/wasm/module-compiler.h
+++ b/src/wasm/module-compiler.h
@@ -9,8 +9,8 @@
 #include <functional>
 #include <memory>
 
-#include "src/cancelable-task.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/wasm/compilation-environment.h"
 #include "src/wasm/wasm-features.h"
 #include "src/wasm/wasm-module.h"
diff --git a/src/wasm/module-decoder.cc b/src/wasm/module-decoder.cc
index cf4f861..6fa86dd 100644
--- a/src/wasm/module-decoder.cc
+++ b/src/wasm/module-decoder.cc
@@ -7,11 +7,11 @@
 #include "src/base/functional.h"
 #include "src/base/platform/platform.h"
 #include "src/base/template-utils.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
+#include "src/init/v8.h"
 #include "src/logging/counters.h"
-#include "src/utils/ostreams.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
+#include "src/utils/ostreams.h"
 #include "src/wasm/decoder.h"
 #include "src/wasm/function-body-decoder-impl.h"
 #include "src/wasm/wasm-engine.h"
diff --git a/src/wasm/module-decoder.h b/src/wasm/module-decoder.h
index 48b4129..07d6e66 100644
--- a/src/wasm/module-decoder.h
+++ b/src/wasm/module-decoder.h
@@ -5,7 +5,7 @@
 #ifndef V8_WASM_MODULE_DECODER_H_
 #define V8_WASM_MODULE_DECODER_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/wasm/function-body-decoder.h"
 #include "src/wasm/wasm-constants.h"
 #include "src/wasm/wasm-features.h"
diff --git a/src/wasm/object-access.h b/src/wasm/object-access.h
index 0f4a4d4..38f0f58 100644
--- a/src/wasm/object-access.h
+++ b/src/wasm/object-access.h
@@ -5,7 +5,7 @@
 #ifndef V8_WASM_OBJECT_ACCESS_H_
 #define V8_WASM_OBJECT_ACCESS_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/fixed-array.h"
 #include "src/objects/js-objects.h"
 #include "src/objects/shared-function-info.h"
diff --git a/src/wasm/wasm-code-manager.cc b/src/wasm/wasm-code-manager.cc
index 76b57d87..abe90f2 100644
--- a/src/wasm/wasm-code-manager.cc
+++ b/src/wasm/wasm-code-manager.cc
@@ -13,8 +13,8 @@
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/macro-assembler-inl.h"
 #include "src/codegen/macro-assembler.h"
+#include "src/common/globals.h"
 #include "src/diagnostics/disassembler.h"
-#include "src/globals.h"
 #include "src/logging/counters.h"
 #include "src/logging/log.h"
 #include "src/objects/objects-inl.h"
diff --git a/src/wasm/wasm-constants.h b/src/wasm/wasm-constants.h
index 07cd92d..fce60cb 100644
--- a/src/wasm/wasm-constants.h
+++ b/src/wasm/wasm-constants.h
@@ -8,7 +8,7 @@
 #include <cstddef>
 #include <cstdint>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/wasm/wasm-debug.cc b/src/wasm/wasm-debug.cc
index 92c4537..33d9a64 100644
--- a/src/wasm/wasm-debug.cc
+++ b/src/wasm/wasm-debug.cc
@@ -4,9 +4,9 @@
 
 #include <unordered_map>
 
-#include "src/assert-scope.h"
 #include "src/base/optional.h"
 #include "src/codegen/assembler-inl.h"
+#include "src/common/assert-scope.h"
 #include "src/compiler/wasm-compiler.h"
 #include "src/debug/debug-scopes.h"
 #include "src/debug/debug.h"
diff --git a/src/wasm/wasm-engine.cc b/src/wasm/wasm-engine.cc
index 84726d2..d2f3c54 100644
--- a/src/wasm/wasm-engine.cc
+++ b/src/wasm/wasm-engine.cc
@@ -5,14 +5,14 @@
 #include "src/wasm/wasm-engine.h"
 
 #include "src/base/platform/time.h"
-#include "src/compilation-statistics.h"
 #include "src/diagnostics/code-tracer.h"
+#include "src/diagnostics/compilation-statistics.h"
 #include "src/execution/frames.h"
 #include "src/logging/counters.h"
 #include "src/objects/heap-number.h"
 #include "src/objects/js-promise.h"
-#include "src/utils/ostreams.h"
 #include "src/objects/objects-inl.h"
+#include "src/utils/ostreams.h"
 #include "src/wasm/function-compiler.h"
 #include "src/wasm/module-compiler.h"
 #include "src/wasm/module-decoder.h"
diff --git a/src/wasm/wasm-engine.h b/src/wasm/wasm-engine.h
index 6f4f1ce..2ae3e81 100644
--- a/src/wasm/wasm-engine.h
+++ b/src/wasm/wasm-engine.h
@@ -8,7 +8,7 @@
 #include <memory>
 #include <unordered_set>
 
-#include "src/cancelable-task.h"
+#include "src/tasks/cancelable-task.h"
 #include "src/wasm/wasm-code-manager.h"
 #include "src/wasm/wasm-memory.h"
 #include "src/wasm/wasm-tier.h"
diff --git a/src/wasm/wasm-external-refs.cc b/src/wasm/wasm-external-refs.cc
index 580e51d..997cf83 100644
--- a/src/wasm/wasm-external-refs.cc
+++ b/src/wasm/wasm-external-refs.cc
@@ -29,8 +29,8 @@
 #include "src/trap-handler/trap-handler.h"
 #endif
 
+#include "src/common/v8memory.h"
 #include "src/utils/utils.h"
-#include "src/v8memory.h"
 #include "src/wasm/wasm-external-refs.h"
 
 namespace v8 {
diff --git a/src/wasm/wasm-external-refs.h b/src/wasm/wasm-external-refs.h
index 1db608b..8318b8b 100644
--- a/src/wasm/wasm-external-refs.h
+++ b/src/wasm/wasm-external-refs.h
@@ -7,7 +7,7 @@
 
 #include <stdint.h>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/wasm/wasm-features.cc b/src/wasm/wasm-features.cc
index 93e7f09..fc02866 100644
--- a/src/wasm/wasm-features.cc
+++ b/src/wasm/wasm-features.cc
@@ -4,7 +4,7 @@
 
 #include "src/wasm/wasm-features.h"
 #include "src/execution/isolate.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles-inl.h"
 
 namespace v8 {
diff --git a/src/wasm/wasm-js.cc b/src/wasm/wasm-js.cc
index ba07bb6..9d88ac6 100644
--- a/src/wasm/wasm-js.cc
+++ b/src/wasm/wasm-js.cc
@@ -9,20 +9,20 @@
 
 #include "src/api/api-inl.h"
 #include "src/api/api-natives.h"
-#include "src/assert-scope.h"
 #include "src/ast/ast.h"
 #include "src/base/overflowing-math.h"
+#include "src/common/assert-scope.h"
 #include "src/execution/execution.h"
 #include "src/execution/isolate.h"
 #include "src/handles/handles.h"
 #include "src/heap/factory.h"
+#include "src/init/v8.h"
 #include "src/objects/js-promise-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/templates.h"
 #include "src/parsing/parse-info.h"
-#include "src/task-utils.h"
+#include "src/tasks/task-utils.h"
 #include "src/trap-handler/trap-handler.h"
-#include "src/v8.h"
 #include "src/wasm/streaming-decoder.h"
 #include "src/wasm/wasm-engine.h"
 #include "src/wasm/wasm-limits.h"
diff --git a/src/wasm/wasm-js.h b/src/wasm/wasm-js.h
index 4a60f5d..4811288 100644
--- a/src/wasm/wasm-js.h
+++ b/src/wasm/wasm-js.h
@@ -5,7 +5,7 @@
 #ifndef V8_WASM_WASM_JS_H_
 #define V8_WASM_WASM_JS_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/wasm/wasm-memory.h b/src/wasm/wasm-memory.h
index ede3884..ecb6203 100644
--- a/src/wasm/wasm-memory.h
+++ b/src/wasm/wasm-memory.h
@@ -10,7 +10,7 @@
 #include <unordered_set>
 
 #include "src/base/platform/mutex.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles.h"
 #include "src/objects/js-array-buffer.h"
 
diff --git a/src/wasm/wasm-module-builder.cc b/src/wasm/wasm-module-builder.cc
index d4e4855..eb25321 100644
--- a/src/wasm/wasm-module-builder.cc
+++ b/src/wasm/wasm-module-builder.cc
@@ -5,8 +5,8 @@
 #include "src/codegen/signature.h"
 
 #include "src/handles/handles.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 #include "src/zone/zone-containers.h"
 
 #include "src/wasm/function-body-decoder.h"
@@ -16,7 +16,7 @@
 #include "src/wasm/wasm-module.h"
 #include "src/wasm/wasm-opcodes.h"
 
-#include "src/v8memory.h"
+#include "src/common/v8memory.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/wasm/wasm-module-builder.h b/src/wasm/wasm-module-builder.h
index 1c92cf2..750dafa 100644
--- a/src/wasm/wasm-module-builder.h
+++ b/src/wasm/wasm-module-builder.h
@@ -8,8 +8,8 @@
 #include "src/codegen/signature.h"
 #include "src/zone/zone-containers.h"
 
+#include "src/common/v8memory.h"
 #include "src/utils/vector.h"
-#include "src/v8memory.h"
 #include "src/wasm/leb-helper.h"
 #include "src/wasm/local-decl-encoder.h"
 #include "src/wasm/wasm-module.h"
diff --git a/src/wasm/wasm-module.cc b/src/wasm/wasm-module.cc
index 37fcbd9..0505730 100644
--- a/src/wasm/wasm-module.cc
+++ b/src/wasm/wasm-module.cc
@@ -11,11 +11,11 @@
 #include "src/debug/interface-types.h"
 #include "src/execution/frames-inl.h"
 #include "src/execution/simulator.h"
+#include "src/init/v8.h"
 #include "src/objects/js-array-inl.h"
 #include "src/objects/objects.h"
 #include "src/objects/property-descriptor.h"
 #include "src/snapshot/snapshot.h"
-#include "src/v8.h"
 #include "src/wasm/module-decoder.h"
 #include "src/wasm/wasm-code-manager.h"
 #include "src/wasm/wasm-js.h"
diff --git a/src/wasm/wasm-module.h b/src/wasm/wasm-module.h
index ac46b9f..eb40c51 100644
--- a/src/wasm/wasm-module.h
+++ b/src/wasm/wasm-module.h
@@ -7,9 +7,9 @@
 
 #include <memory>
 
-#include "src/globals.h"
-#include "src/utils/vector.h"
+#include "src/common/globals.h"
 #include "src/handles/handles.h"
+#include "src/utils/vector.h"
 #include "src/wasm/signature-map.h"
 #include "src/wasm/wasm-constants.h"
 #include "src/wasm/wasm-opcodes.h"
diff --git a/src/wasm/wasm-objects-inl.h b/src/wasm/wasm-objects-inl.h
index 1d0d394..e1fc2d2 100644
--- a/src/wasm/wasm-objects-inl.h
+++ b/src/wasm/wasm-objects-inl.h
@@ -7,6 +7,7 @@
 
 #include "src/wasm/wasm-objects.h"
 
+#include "src/common/v8memory.h"
 #include "src/heap/heap-write-barrier-inl.h"
 #include "src/objects/contexts-inl.h"
 #include "src/objects/foreign-inl.h"
@@ -16,8 +17,7 @@
 #include "src/objects/managed.h"
 #include "src/objects/oddball-inl.h"
 #include "src/objects/script-inl.h"
-#include "src/roots.h"
-#include "src/v8memory.h"
+#include "src/roots/roots.h"
 #include "src/wasm/wasm-code-manager.h"
 #include "src/wasm/wasm-module.h"
 
diff --git a/src/wasm/wasm-opcodes.h b/src/wasm/wasm-opcodes.h
index ab89967..e91f100 100644
--- a/src/wasm/wasm-opcodes.h
+++ b/src/wasm/wasm-opcodes.h
@@ -5,8 +5,8 @@
 #ifndef V8_WASM_WASM_OPCODES_H_
 #define V8_WASM_WASM_OPCODES_H_
 
+#include "src/common/globals.h"
 #include "src/execution/message-template.h"
-#include "src/globals.h"
 #include "src/wasm/value-type.h"
 #include "src/wasm/wasm-constants.h"
 
diff --git a/src/wasm/wasm-result.h b/src/wasm/wasm-result.h
index 76de1ea..92049e6 100644
--- a/src/wasm/wasm-result.h
+++ b/src/wasm/wasm-result.h
@@ -12,7 +12,7 @@
 #include "src/base/macros.h"
 #include "src/base/platform/platform.h"
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/wasm/wasm-serialization.cc b/src/wasm/wasm-serialization.cc
index c633b79..1cea089 100644
--- a/src/wasm/wasm-serialization.cc
+++ b/src/wasm/wasm-serialization.cc
@@ -5,7 +5,7 @@
 #include "src/wasm/wasm-serialization.h"
 
 #include "src/codegen/assembler-inl.h"
-#include "src/external-reference-table.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
 #include "src/runtime/runtime.h"
diff --git a/src/wasm/wasm-value.h b/src/wasm/wasm-value.h
index f243112..23f1aed 100644
--- a/src/wasm/wasm-value.h
+++ b/src/wasm/wasm-value.h
@@ -5,9 +5,9 @@
 #ifndef V8_WASM_WASM_VALUE_H_
 #define V8_WASM_WASM_VALUE_H_
 
-#include "src/utils/boxed-float.h"
+#include "src/common/v8memory.h"
 #include "src/handles/handles.h"
-#include "src/v8memory.h"
+#include "src/utils/boxed-float.h"
 #include "src/wasm/wasm-opcodes.h"
 #include "src/zone/zone-containers.h"
 
diff --git a/src/x64/assembler-x64-inl.h b/src/x64/assembler-x64-inl.h
index 07b4baf..364a0af 100644
--- a/src/x64/assembler-x64-inl.h
+++ b/src/x64/assembler-x64-inl.h
@@ -8,9 +8,9 @@
 #include "src/x64/assembler-x64.h"
 
 #include "src/base/cpu.h"
+#include "src/common/v8memory.h"
 #include "src/debug/debug.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8memory.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
index 91e23a6..6781f14 100644
--- a/src/x64/assembler-x64.cc
+++ b/src/x64/assembler-x64.cc
@@ -21,7 +21,7 @@
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/string-constants.h"
 #include "src/deoptimizer/deoptimizer.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/x64/constants-x64.h b/src/x64/constants-x64.h
index 1f2b042..d432d46 100644
--- a/src/x64/constants-x64.h
+++ b/src/x64/constants-x64.h
@@ -5,7 +5,7 @@
 #ifndef V8_X64_CONSTANTS_X64_H_
 #define V8_X64_CONSTANTS_X64_H_
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
index 8c57df5..2c3afe9 100644
--- a/src/x64/macro-assembler-x64.cc
+++ b/src/x64/macro-assembler-x64.cc
@@ -9,13 +9,13 @@
 #include "src/base/utils/random-number-generator.h"
 #include "src/codegen/callable.h"
 #include "src/codegen/code-factory.h"
+#include "src/codegen/external-reference-table.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/codegen/register-configuration.h"
 #include "src/codegen/string-constants.h"
+#include "src/common/globals.h"
 #include "src/debug/debug.h"
 #include "src/execution/frames-inl.h"
-#include "src/external-reference-table.h"
-#include "src/globals.h"
 #include "src/heap/heap-inl.h"  // For MemoryChunk.
 #include "src/init/bootstrapper.h"
 #include "src/logging/counters.h"
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h
index 5835ccd..19fadf6 100644
--- a/src/x64/macro-assembler-x64.h
+++ b/src/x64/macro-assembler-x64.h
@@ -11,7 +11,7 @@
 
 #include "src/base/flags.h"
 #include "src/codegen/bailout-reason.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/objects/contexts.h"
 #include "src/x64/assembler-x64.h"
 
diff --git a/src/zone/zone-chunk-list.h b/src/zone/zone-chunk-list.h
index 8e455f1..f72fc4f 100644
--- a/src/zone/zone-chunk-list.h
+++ b/src/zone/zone-chunk-list.h
@@ -5,7 +5,7 @@
 #include <algorithm>
 
 #include "src/base/iterator.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/utils/memcopy.h"
 #include "src/zone/zone.h"
 
diff --git a/src/zone/zone-segment.h b/src/zone/zone-segment.h
index 2bc2f7f..2f40bb6 100644
--- a/src/zone/zone-segment.h
+++ b/src/zone/zone-segment.h
@@ -5,7 +5,7 @@
 #ifndef V8_ZONE_ZONE_SEGMENT_H_
 #define V8_ZONE_ZONE_SEGMENT_H_
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 // Segments represent chunks of memory: They have starting address
 // (encoded in the this pointer) and a size in bytes. Segments are
diff --git a/src/zone/zone.cc b/src/zone/zone.cc
index c6dcdbc..a6f45fa 100644
--- a/src/zone/zone.cc
+++ b/src/zone/zone.cc
@@ -6,9 +6,9 @@
 
 #include <cstring>
 
+#include "src/init/v8.h"
 #include "src/sanitizer/asan.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/src/zone/zone.h b/src/zone/zone.h
index 3ebcadf..30af54d 100644
--- a/src/zone/zone.h
+++ b/src/zone/zone.h
@@ -11,7 +11,7 @@
 
 #include "src/base/hashmap.h"
 #include "src/base/logging.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/zone/accounting-allocator.h"
 #include "src/zone/zone-segment.h"
 
diff --git a/test/cctest/assembler-helper-arm.cc b/test/cctest/assembler-helper-arm.cc
index fad9426..2b60136 100644
--- a/test/cctest/assembler-helper-arm.cc
+++ b/test/cctest/assembler-helper-arm.cc
@@ -6,7 +6,7 @@
 
 #include "src/codegen/macro-assembler.h"
 #include "src/execution/isolate-inl.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/cctest.h b/test/cctest/cctest.h
index 05837e6..37fe447 100644
--- a/test/cctest/cctest.h
+++ b/test/cctest/cctest.h
@@ -36,10 +36,10 @@
 #include "src/codegen/register-configuration.h"
 #include "src/debug/debug-interface.h"
 #include "src/execution/isolate.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/heap/factory.h"
+#include "src/init/v8.h"
 #include "src/objects/objects.h"
-#include "src/v8.h"
 #include "src/zone/accounting-allocator.h"
 
 namespace v8 {
diff --git a/test/cctest/collector.h b/test/cctest/collector.h
index 091cc95..0e7251f 100644
--- a/test/cctest/collector.h
+++ b/test/cctest/collector.h
@@ -7,7 +7,7 @@
 
 #include <vector>
 
-#include "src/checks.h"
+#include "src/common/checks.h"
 #include "src/utils/vector.h"
 
 namespace v8 {
diff --git a/test/cctest/compiler/test-run-jscalls.cc b/test/cctest/compiler/test-run-jscalls.cc
index 5fe6ca7..88dc62f 100644
--- a/test/cctest/compiler/test-run-jscalls.cc
+++ b/test/cctest/compiler/test-run-jscalls.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/objects/contexts.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
diff --git a/test/cctest/compiler/test-run-unwinding-info.cc b/test/cctest/compiler/test-run-unwinding-info.cc
index d7df964..e4e355b 100644
--- a/test/cctest/compiler/test-run-unwinding-info.cc
+++ b/test/cctest/compiler/test-run-unwinding-info.cc
@@ -6,7 +6,7 @@
 #if defined(V8_TARGET_ARCH_X64) || defined(V8_TARGET_ARCH_ARM) || \
     defined(V8_TARGET_ARCH_ARM64)
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
 #include "test/cctest/compiler/function-tester.h"
diff --git a/test/cctest/gay-fixed.cc b/test/cctest/gay-fixed.cc
index 75c872f..5dae8e5 100644
--- a/test/cctest/gay-fixed.cc
+++ b/test/cctest/gay-fixed.cc
@@ -29,7 +29,7 @@
 // have been generated using Gay's dtoa to produce the fixed representation:
 //         dtoa(v, 3, number_digits, &decimal_point, &sign, nullptr);
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "test/cctest/gay-fixed.h"
 
diff --git a/test/cctest/gay-precision.cc b/test/cctest/gay-precision.cc
index 0661e92..34615fb 100644
--- a/test/cctest/gay-precision.cc
+++ b/test/cctest/gay-precision.cc
@@ -29,7 +29,7 @@
 // have been generated using Gay's dtoa to produce the precision representation:
 //         dtoa(v, 2, number_digits, &decimal_point, &sign, nullptr);
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "test/cctest/gay-precision.h"
 
diff --git a/test/cctest/gay-shortest.cc b/test/cctest/gay-shortest.cc
index b810fd2..53f7fc27 100644
--- a/test/cctest/gay-shortest.cc
+++ b/test/cctest/gay-shortest.cc
@@ -29,7 +29,7 @@
 // have been generated using Gay's dtoa to produce the shortest representation:
 //          decimal_rep = dtoa(v, 0, 0, &decimal_point, &sign, nullptr);
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "test/cctest/gay-shortest.h"
 
diff --git a/test/cctest/heap/test-alloc.cc b/test/cctest/heap/test-alloc.cc
index 3b76799..f3ae6c1 100644
--- a/test/cctest/heap/test-alloc.cc
+++ b/test/cctest/heap/test-alloc.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/api/api-inl.h"
diff --git a/test/cctest/heap/test-concurrent-marking.cc b/test/cctest/heap/test-concurrent-marking.cc
index 57a5842..3a67954 100644
--- a/test/cctest/heap/test-concurrent-marking.cc
+++ b/test/cctest/heap/test-concurrent-marking.cc
@@ -4,7 +4,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/heap/concurrent-marking.h"
 #include "src/heap/heap-inl.h"
diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
index be1839c..65889ca 100644
--- a/test/cctest/heap/test-heap.cc
+++ b/test/cctest/heap/test-heap.cc
@@ -36,7 +36,6 @@
 #include "src/deoptimizer/deoptimizer.h"
 #include "src/execution/execution.h"
 #include "src/handles/global-handles.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/combined-heap.h"
 #include "src/heap/factory.h"
 #include "src/heap/gc-tracer.h"
@@ -46,6 +45,7 @@
 #include "src/heap/memory-reducer.h"
 #include "src/heap/remembered-set.h"
 #include "src/ic/ic.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/elements.h"
 #include "src/objects/field-type.h"
 #include "src/objects/frame-array-inl.h"
diff --git a/test/cctest/heap/test-incremental-marking.cc b/test/cctest/heap/test-incremental-marking.cc
index 7d2bd33..88669eb 100644
--- a/test/cctest/heap/test-incremental-marking.cc
+++ b/test/cctest/heap/test-incremental-marking.cc
@@ -14,7 +14,7 @@
 
 #include <utility>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/handles/global-handles.h"
 #include "src/heap/incremental-marking.h"
diff --git a/test/cctest/heap/test-invalidated-slots.cc b/test/cctest/heap/test-invalidated-slots.cc
index 9bd3249..bac98c8 100644
--- a/test/cctest/heap/test-invalidated-slots.cc
+++ b/test/cctest/heap/test-invalidated-slots.cc
@@ -4,7 +4,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/heap/heap-inl.h"
 #include "src/heap/heap.h"
diff --git a/test/cctest/heap/test-iterators.cc b/test/cctest/heap/test-iterators.cc
index e4f7375..9e39f7c 100644
--- a/test/cctest/heap/test-iterators.cc
+++ b/test/cctest/heap/test-iterators.cc
@@ -10,7 +10,7 @@
 #include "src/heap/read-only-heap.h"
 #include "src/objects/heap-object.h"
 #include "src/objects/objects.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/heap/test-lab.cc b/test/cctest/heap/test-lab.cc
index b290181..4c1b154 100644
--- a/test/cctest/heap/test-lab.cc
+++ b/test/cctest/heap/test-lab.cc
@@ -4,7 +4,7 @@
 
 #include <vector>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/spaces-inl.h"
 #include "src/objects/objects.h"
diff --git a/test/cctest/heap/test-mark-compact.cc b/test/cctest/heap/test-mark-compact.cc
index c6bd57e..b4d8c1b 100644
--- a/test/cctest/heap/test-mark-compact.cc
+++ b/test/cctest/heap/test-mark-compact.cc
@@ -37,7 +37,7 @@
 
 #include <utility>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/handles/global-handles.h"
 #include "src/heap/mark-compact-inl.h"
diff --git a/test/cctest/heap/test-unmapper.cc b/test/cctest/heap/test-unmapper.cc
index 1fbe5c1..89d163b 100644
--- a/test/cctest/heap/test-unmapper.cc
+++ b/test/cctest/heap/test-unmapper.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/heap/spaces.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/interpreter/interpreter-tester.h b/test/cctest/interpreter/interpreter-tester.h
index d6f9a5c..fbc2666 100644
--- a/test/cctest/interpreter/interpreter-tester.h
+++ b/test/cctest/interpreter/interpreter-tester.h
@@ -5,7 +5,7 @@
 #ifndef V8_TEST_CCTEST_INTERPRETER_INTERPRETER_TESTER_H_
 #define V8_TEST_CCTEST_INTERPRETER_INTERPRETER_TESTER_H_
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api.h"
 #include "src/execution/execution.h"
diff --git a/test/cctest/interpreter/source-position-matcher.h b/test/cctest/interpreter/source-position-matcher.h
index eb7e879..dc7a4ca 100644
--- a/test/cctest/interpreter/source-position-matcher.h
+++ b/test/cctest/interpreter/source-position-matcher.h
@@ -6,9 +6,9 @@
 #define TEST_CCTEST_INTERPRETER_SOURCE_POSITION_COMPARER_H_
 
 #include "src/codegen/source-position-table.h"
+#include "src/init/v8.h"
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/objects/objects.h"
-#include "src/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/test/cctest/interpreter/test-bytecode-generator.cc b/test/cctest/interpreter/test-bytecode-generator.cc
index 7af5ada..3a4d089 100644
--- a/test/cctest/interpreter/test-bytecode-generator.cc
+++ b/test/cctest/interpreter/test-bytecode-generator.cc
@@ -4,7 +4,7 @@
 
 #include <fstream>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/interpreter/bytecode-generator.h"
diff --git a/test/cctest/interpreter/test-interpreter-intrinsics.cc b/test/cctest/interpreter/test-interpreter-intrinsics.cc
index 43b12d8..3e1c006 100644
--- a/test/cctest/interpreter/test-interpreter-intrinsics.cc
+++ b/test/cctest/interpreter/test-interpreter-intrinsics.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/heap/heap-inl.h"
diff --git a/test/cctest/interpreter/test-interpreter.cc b/test/cctest/interpreter/test-interpreter.cc
index 1a3710a..5faeee5 100644
--- a/test/cctest/interpreter/test-interpreter.cc
+++ b/test/cctest/interpreter/test-interpreter.cc
@@ -4,20 +4,20 @@
 
 #include <tuple>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/base/overflowing-math.h"
 #include "src/codegen/compiler.h"
 #include "src/execution/execution.h"
 #include "src/handles/handles.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
 #include "src/interpreter/bytecode-array-builder.h"
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/interpreter/bytecode-flags.h"
 #include "src/interpreter/bytecode-label.h"
 #include "src/interpreter/interpreter.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/heap-number-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/smi.h"
diff --git a/test/cctest/interpreter/test-source-positions.cc b/test/cctest/interpreter/test-source-positions.cc
index 2079d99..ee9d338 100644
--- a/test/cctest/interpreter/test-source-positions.cc
+++ b/test/cctest/interpreter/test-source-positions.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/compiler/pipeline.h"
diff --git a/test/cctest/test-accessors.cc b/test/cctest/test-accessors.cc
index 63b6a86..e0c9350 100644
--- a/test/cctest/test-accessors.cc
+++ b/test/cctest/test-accessors.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/execution/frames-inl.h"
diff --git a/test/cctest/test-allocation.cc b/test/cctest/test-allocation.cc
index e8fa5be..e416c55 100644
--- a/test/cctest/test-allocation.cc
+++ b/test/cctest/test-allocation.cc
@@ -10,7 +10,7 @@
 #include <unistd.h>  // NOLINT
 #endif
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-api.h b/test/cctest/test-api.h
index 5de611f..c6d9ac3 100644
--- a/test/cctest/test-api.h
+++ b/test/cctest/test-api.h
@@ -5,7 +5,7 @@
 #ifndef V8_TEST_CCTEST_TEST_API_H_
 #define V8_TEST_CCTEST_TEST_API_H_
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api.h"
 #include "src/execution/isolate.h"
diff --git a/test/cctest/test-assembler-arm.cc b/test/cctest/test-assembler-arm.cc
index de92fc3..ea201e6 100644
--- a/test/cctest/test-assembler-arm.cc
+++ b/test/cctest/test-assembler-arm.cc
@@ -33,9 +33,9 @@
 #include "src/diagnostics/disassembler.h"
 #include "src/execution/simulator.h"
 #include "src/heap/factory.h"
+#include "src/init/v8.h"
 #include "src/numbers/double.h"
 #include "src/utils/ostreams.h"
-#include "src/v8.h"
 #include "test/cctest/assembler-helper-arm.h"
 #include "test/cctest/cctest.h"
 #include "test/cctest/compiler/value-helper.h"
diff --git a/test/cctest/test-assembler-arm64.cc b/test/cctest/test-assembler-arm64.cc
index b447954..36465a2 100644
--- a/test/cctest/test-assembler-arm64.cc
+++ b/test/cctest/test-assembler-arm64.cc
@@ -31,7 +31,7 @@
 #include <cmath>
 #include <limits>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/arm64/assembler-arm64-inl.h"
 #include "src/arm64/decoder-arm64-inl.h"
diff --git a/test/cctest/test-assembler-ia32.cc b/test/cctest/test-assembler-ia32.cc
index 7c00ec9..81b1988 100644
--- a/test/cctest/test-assembler-ia32.cc
+++ b/test/cctest/test-assembler-ia32.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/base/utils/random-number-generator.h"
diff --git a/test/cctest/test-assembler-mips.cc b/test/cctest/test-assembler-mips.cc
index 23b61db..2731873 100644
--- a/test/cctest/test-assembler-mips.cc
+++ b/test/cctest/test-assembler-mips.cc
@@ -27,7 +27,7 @@
 
 #include <iostream>  // NOLINT(readability/streams)
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/utils/random-number-generator.h"
 #include "src/codegen/assembler-inl.h"
diff --git a/test/cctest/test-assembler-mips64.cc b/test/cctest/test-assembler-mips64.cc
index b1753c5..65a162c 100644
--- a/test/cctest/test-assembler-mips64.cc
+++ b/test/cctest/test-assembler-mips64.cc
@@ -27,7 +27,7 @@
 
 #include <iostream>  // NOLINT(readability/streams)
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/utils/random-number-generator.h"
 #include "src/codegen/assembler-inl.h"
diff --git a/test/cctest/test-assembler-ppc.cc b/test/cctest/test-assembler-ppc.cc
index c933c51..22265f1 100644
--- a/test/cctest/test-assembler-ppc.cc
+++ b/test/cctest/test-assembler-ppc.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/diagnostics/disassembler.h"
 #include "src/execution/simulator.h"
diff --git a/test/cctest/test-assembler-s390.cc b/test/cctest/test-assembler-s390.cc
index 350e70a..fb74933 100644
--- a/test/cctest/test-assembler-s390.cc
+++ b/test/cctest/test-assembler-s390.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/macro-assembler.h"
 #include "src/diagnostics/disassembler.h"
diff --git a/test/cctest/test-assembler-x64.cc b/test/cctest/test-assembler-x64.cc
index 2e89059..75707e2 100644
--- a/test/cctest/test-assembler-x64.cc
+++ b/test/cctest/test-assembler-x64.cc
@@ -28,7 +28,7 @@
 #include <cstdlib>
 #include <iostream>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/base/utils/random-number-generator.h"
diff --git a/test/cctest/test-atomicops.cc b/test/cctest/test-atomicops.cc
index 9242113..3ab3ac7 100644
--- a/test/cctest/test-atomicops.cc
+++ b/test/cctest/test-atomicops.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/atomicops.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/test-bignum-dtoa.cc b/test/cctest/test-bignum-dtoa.cc
index 326160a..a4df7d6 100644
--- a/test/cctest/test-bignum-dtoa.cc
+++ b/test/cctest/test-bignum-dtoa.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/numbers/bignum-dtoa.h"
 
diff --git a/test/cctest/test-bignum.cc b/test/cctest/test-bignum.cc
index 8a9eab8..dc5018d 100644
--- a/test/cctest/test-bignum.cc
+++ b/test/cctest/test-bignum.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/numbers/bignum.h"
diff --git a/test/cctest/test-bit-vector.cc b/test/cctest/test-bit-vector.cc
index 288269b..478bc47 100644
--- a/test/cctest/test-bit-vector.cc
+++ b/test/cctest/test-bit-vector.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/utils/bit-vector.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/test-circular-queue.cc b/test/cctest/test-circular-queue.cc
index 85ab4c4..ac6710f 100644
--- a/test/cctest/test-circular-queue.cc
+++ b/test/cctest/test-circular-queue.cc
@@ -27,7 +27,7 @@
 //
 // Tests of the circular queue.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/profiler/circular-queue-inl.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/test-code-stub-assembler.cc b/test/cctest/test-code-stub-assembler.cc
index 59a5be7..f5746f6 100644
--- a/test/cctest/test-code-stub-assembler.cc
+++ b/test/cctest/test-code-stub-assembler.cc
@@ -14,8 +14,8 @@
 #include "src/compiler/node.h"
 #include "src/debug/debug.h"
 #include "src/execution/isolate.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/heap-number-inl.h"
 #include "src/objects/js-array-buffer-inl.h"
diff --git a/test/cctest/test-compiler.cc b/test/cctest/test-compiler.cc
index 820600a..28867a8 100644
--- a/test/cctest/test-compiler.cc
+++ b/test/cctest/test-compiler.cc
@@ -28,7 +28,7 @@
 #include <stdlib.h>
 #include <wchar.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/codegen/compilation-cache.h"
diff --git a/test/cctest/test-constantpool.cc b/test/cctest/test-constantpool.cc
index 177db08..a861655 100644
--- a/test/cctest/test-constantpool.cc
+++ b/test/cctest/test-constantpool.cc
@@ -4,7 +4,7 @@
 
 // Test embedded constant pool builder code.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/constant-pool.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/test-conversions.cc b/test/cctest/test-conversions.cc
index f15aab8..1ddd463 100644
--- a/test/cctest/test-conversions.cc
+++ b/test/cctest/test-conversions.cc
@@ -30,11 +30,11 @@
 #include "src/base/platform/platform.h"
 #include "src/execution/isolate.h"
 #include "src/heap/factory-inl.h"
+#include "src/init/v8.h"
 #include "src/numbers/conversions.h"
 #include "src/objects/heap-number-inl.h"
 #include "src/objects/objects.h"
 #include "src/objects/smi.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc
index a09efa7..d35a846 100644
--- a/test/cctest/test-cpu-profiler.cc
+++ b/test/cctest/test-cpu-profiler.cc
@@ -30,7 +30,7 @@
 #include <limits>
 #include <memory>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "include/v8-profiler.h"
 #include "src/api/api-inl.h"
diff --git a/test/cctest/test-date.cc b/test/cctest/test-date.cc
index 77fb345..a836f23 100644
--- a/test/cctest/test-date.cc
+++ b/test/cctest/test-date.cc
@@ -28,7 +28,7 @@
 #include "src/date/date.h"
 #include "src/execution/isolate.h"
 #include "src/handles/global-handles.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc
index 8b1374c..ebb79d4 100644
--- a/test/cctest/test-debug.cc
+++ b/test/cctest/test-debug.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/codegen/compilation-cache.h"
diff --git a/test/cctest/test-decls.cc b/test/cctest/test-decls.cc
index fa81158..14c30cd 100644
--- a/test/cctest/test-decls.cc
+++ b/test/cctest/test-decls.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-deoptimization.cc b/test/cctest/test-deoptimization.cc
index 1d1f074..acd3ac2 100644
--- a/test/cctest/test-deoptimization.cc
+++ b/test/cctest/test-deoptimization.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/base/platform/platform.h"
diff --git a/test/cctest/test-dictionary.cc b/test/cctest/test-dictionary.cc
index b7baca3..1f4a4c5 100644
--- a/test/cctest/test-dictionary.cc
+++ b/test/cctest/test-dictionary.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/builtins/builtins-constructor.h"
@@ -36,7 +36,7 @@
 #include "src/heap/spaces.h"
 #include "src/objects/hash-table-inl.h"
 #include "src/objects/objects-inl.h"
-#include "src/roots.h"
+#include "src/roots/roots.h"
 #include "test/cctest/heap/heap-utils.h"
 
 namespace v8 {
diff --git a/test/cctest/test-disasm-arm.cc b/test/cctest/test-disasm-arm.cc
index 2fda419..76e06df 100644
--- a/test/cctest/test-disasm-arm.cc
+++ b/test/cctest/test-disasm-arm.cc
@@ -39,10 +39,10 @@
 #include "src/diagnostics/disasm.h"
 #include "src/diagnostics/disassembler.h"
 #include "src/execution/frames-inl.h"
+#include "src/init/v8.h"
 #include "src/numbers/double.h"
-#include "src/utils/boxed-float.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
+#include "src/utils/boxed-float.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-disasm-arm64.cc b/test/cctest/test-disasm-arm64.cc
index 241e9c3..90b50f5 100644
--- a/test/cctest/test-disasm-arm64.cc
+++ b/test/cctest/test-disasm-arm64.cc
@@ -34,7 +34,7 @@
 #include "src/arm64/utils-arm64.h"
 #include "src/codegen/macro-assembler-inl.h"
 #include "src/execution/frames-inl.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-disasm-ia32.cc b/test/cctest/test-disasm-ia32.cc
index 2464753..f2c7e71 100644
--- a/test/cctest/test-disasm-ia32.cc
+++ b/test/cctest/test-disasm-ia32.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/code-factory.h"
 #include "src/codegen/macro-assembler.h"
diff --git a/test/cctest/test-disasm-mips.cc b/test/cctest/test-disasm-mips.cc
index 8aa0a8c..929e4e4 100644
--- a/test/cctest/test-disasm-mips.cc
+++ b/test/cctest/test-disasm-mips.cc
@@ -28,7 +28,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/macro-assembler.h"
 #include "src/debug/debug.h"
diff --git a/test/cctest/test-disasm-mips64.cc b/test/cctest/test-disasm-mips64.cc
index 3b0637f..4e63245 100644
--- a/test/cctest/test-disasm-mips64.cc
+++ b/test/cctest/test-disasm-mips64.cc
@@ -28,7 +28,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/macro-assembler.h"
 #include "src/debug/debug.h"
diff --git a/test/cctest/test-disasm-ppc.cc b/test/cctest/test-disasm-ppc.cc
index a2537a0..f28ebf4 100644
--- a/test/cctest/test-disasm-ppc.cc
+++ b/test/cctest/test-disasm-ppc.cc
@@ -28,7 +28,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/macro-assembler.h"
 #include "src/debug/debug.h"
diff --git a/test/cctest/test-disasm-s390.cc b/test/cctest/test-disasm-s390.cc
index 464890c..a01760b 100644
--- a/test/cctest/test-disasm-s390.cc
+++ b/test/cctest/test-disasm-s390.cc
@@ -28,7 +28,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/macro-assembler.h"
 #include "src/debug/debug.h"
diff --git a/test/cctest/test-disasm-x64.cc b/test/cctest/test-disasm-x64.cc
index d2d7d83..c84f502 100644
--- a/test/cctest/test-disasm-x64.cc
+++ b/test/cctest/test-disasm-x64.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/code-factory.h"
 #include "src/codegen/macro-assembler.h"
diff --git a/test/cctest/test-diy-fp.cc b/test/cctest/test-diy-fp.cc
index f9aa29b..96bc691 100644
--- a/test/cctest/test-diy-fp.cc
+++ b/test/cctest/test-diy-fp.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/numbers/diy-fp.h"
diff --git a/test/cctest/test-double.cc b/test/cctest/test-double.cc
index 851965d..9941620 100644
--- a/test/cctest/test-double.cc
+++ b/test/cctest/test-double.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/numbers/diy-fp.h"
diff --git a/test/cctest/test-dtoa.cc b/test/cctest/test-dtoa.cc
index 34bfafc..56d5f05 100644
--- a/test/cctest/test-dtoa.cc
+++ b/test/cctest/test-dtoa.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/numbers/dtoa.h"
 
diff --git a/test/cctest/test-elements-kind.cc b/test/cctest/test-elements-kind.cc
index 0c0fec8..d08f620 100644
--- a/test/cctest/test-elements-kind.cc
+++ b/test/cctest/test-elements-kind.cc
@@ -7,7 +7,7 @@
 
 #include "test/cctest/test-api.h"
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/compilation-cache.h"
 #include "src/execution/execution.h"
diff --git a/test/cctest/test-fast-dtoa.cc b/test/cctest/test-fast-dtoa.cc
index 76f57d2..50c1935 100644
--- a/test/cctest/test-fast-dtoa.cc
+++ b/test/cctest/test-fast-dtoa.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/numbers/diy-fp.h"
diff --git a/test/cctest/test-feedback-vector.cc b/test/cctest/test-feedback-vector.cc
index 91f6964..c487a1e 100644
--- a/test/cctest/test-feedback-vector.cc
+++ b/test/cctest/test-feedback-vector.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/api/api-inl.h"
diff --git a/test/cctest/test-field-type-tracking.cc b/test/cctest/test-field-type-tracking.cc
index d37bce5..e43c4c9 100644
--- a/test/cctest/test-field-type-tracking.cc
+++ b/test/cctest/test-field-type-tracking.cc
@@ -7,7 +7,7 @@
 
 #include "test/cctest/test-api.h"
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/execution/execution.h"
 #include "src/handles/global-handles.h"
diff --git a/test/cctest/test-fixed-dtoa.cc b/test/cctest/test-fixed-dtoa.cc
index 636e6ae..62629c4 100644
--- a/test/cctest/test-fixed-dtoa.cc
+++ b/test/cctest/test-fixed-dtoa.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/numbers/double.h"
diff --git a/test/cctest/test-flags.cc b/test/cctest/test-flags.cc
index 596a840..93c7048 100644
--- a/test/cctest/test-flags.cc
+++ b/test/cctest/test-flags.cc
@@ -27,8 +27,8 @@
 
 #include <stdlib.h>
 
-#include "src/flags.h"
-#include "src/v8.h"
+#include "src/flags/flags.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-func-name-inference.cc b/test/cctest/test-func-name-inference.cc
index f6f7fa3..73f302f 100644
--- a/test/cctest/test-func-name-inference.cc
+++ b/test/cctest/test-func-name-inference.cc
@@ -27,7 +27,7 @@
 
 #include <memory>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/debug/debug.h"
diff --git a/test/cctest/test-global-object.cc b/test/cctest/test-global-object.cc
index b761371..a7bf036 100644
--- a/test/cctest/test-global-object.cc
+++ b/test/cctest/test-global-object.cc
@@ -25,8 +25,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 
 using ::v8::Array;
diff --git a/test/cctest/test-hashcode.cc b/test/cctest/test-hashcode.cc
index 52c6bdc..af0ca77 100644
--- a/test/cctest/test-hashcode.cc
+++ b/test/cctest/test-hashcode.cc
@@ -6,12 +6,12 @@
 #include <sstream>
 #include <utility>
 
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
 #include "src/objects/ordered-hash-table.h"
 #include "src/third_party/siphash/halfsiphash.h"
 #include "src/utils/utils.h"
-#include "src/v8.h"
 
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-hashmap.cc b/test/cctest/test-hashmap.cc
index 4d93fe9..f9371df 100644
--- a/test/cctest/test-hashmap.cc
+++ b/test/cctest/test-hashmap.cc
@@ -28,7 +28,7 @@
 #include <stdlib.h>
 
 #include "src/base/overflowing-math.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/base/hashmap.h"
diff --git a/test/cctest/test-heap-profiler.cc b/test/cctest/test-heap-profiler.cc
index 84bf704..815b7f5 100644
--- a/test/cctest/test-heap-profiler.cc
+++ b/test/cctest/test-heap-profiler.cc
@@ -31,7 +31,7 @@
 
 #include <memory>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "include/v8-profiler.h"
 #include "src/api/api-inl.h"
diff --git a/test/cctest/test-inobject-slack-tracking.cc b/test/cctest/test-inobject-slack-tracking.cc
index cb82681..58a3964 100644
--- a/test/cctest/test-inobject-slack-tracking.cc
+++ b/test/cctest/test-inobject-slack-tracking.cc
@@ -7,9 +7,9 @@
 #include <utility>
 
 #include "src/api/api-inl.h"
+#include "src/init/v8.h"
 #include "src/objects/heap-number-inl.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-javascript-arm64.cc b/test/cctest/test-javascript-arm64.cc
index 5ba938b..df39845 100644
--- a/test/cctest/test-javascript-arm64.cc
+++ b/test/cctest/test-javascript-arm64.cc
@@ -27,7 +27,7 @@
 
 #include <limits.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api.h"
 #include "src/base/platform/platform.h"
diff --git a/test/cctest/test-js-arm64-variables.cc b/test/cctest/test-js-arm64-variables.cc
index 9a2c4db..46f2e20 100644
--- a/test/cctest/test-js-arm64-variables.cc
+++ b/test/cctest/test-js-arm64-variables.cc
@@ -29,7 +29,7 @@
 
 #include <limits.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api.h"
 #include "src/base/platform/platform.h"
diff --git a/test/cctest/test-liveedit.cc b/test/cctest/test-liveedit.cc
index 817be66..4319d5b 100644
--- a/test/cctest/test-liveedit.cc
+++ b/test/cctest/test-liveedit.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/debug/liveedit.h"
diff --git a/test/cctest/test-lockers.cc b/test/cctest/test-lockers.cc
index 727ed83..ed01d6e 100644
--- a/test/cctest/test-lockers.cc
+++ b/test/cctest/test-lockers.cc
@@ -29,7 +29,7 @@
 
 #include <memory>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/codegen/compilation-cache.h"
diff --git a/test/cctest/test-log-stack-tracer.cc b/test/cctest/test-log-stack-tracer.cc
index cebc4a0..1ff5176 100644
--- a/test/cctest/test-log-stack-tracer.cc
+++ b/test/cctest/test-log-stack-tracer.cc
@@ -34,8 +34,8 @@
 #include "src/diagnostics/disassembler.h"
 #include "src/execution/isolate.h"
 #include "src/execution/vm-state-inl.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 #include "test/cctest/trace-extension.h"
 
diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc
index 4b45fef..3a552df 100644
--- a/test/cctest/test-log.cc
+++ b/test/cctest/test-log.cc
@@ -33,6 +33,7 @@
 #include "src/builtins/builtins.h"
 #include "src/codegen/compilation-cache.h"
 #include "src/execution/vm-state-inl.h"
+#include "src/init/v8.h"
 #include "src/logging/log-utils.h"
 #include "src/logging/log.h"
 #include "src/objects/objects-inl.h"
@@ -40,7 +41,6 @@
 #include "src/snapshot/natives.h"
 #include "src/utils/ostreams.h"
 #include "src/utils/version.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 
 using v8::internal::Address;
diff --git a/test/cctest/test-macro-assembler-arm.cc b/test/cctest/test-macro-assembler-arm.cc
index 4f9790a..b20ec4a 100644
--- a/test/cctest/test-macro-assembler-arm.cc
+++ b/test/cctest/test-macro-assembler-arm.cc
@@ -30,9 +30,9 @@
 #include "src/codegen/assembler-inl.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/execution/simulator.h"
-#include "src/utils/ostreams.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
+#include "src/utils/ostreams.h"
 #include "test/cctest/cctest.h"
 #include "test/common/assembler-tester.h"
 
diff --git a/test/cctest/test-macro-assembler-mips.cc b/test/cctest/test-macro-assembler-mips.cc
index 6acb661..fef68a7 100644
--- a/test/cctest/test-macro-assembler-mips.cc
+++ b/test/cctest/test-macro-assembler-mips.cc
@@ -32,11 +32,11 @@
 #include "src/base/utils/random-number-generator.h"
 #include "src/codegen/macro-assembler.h"
 #include "src/execution/simulator.h"
+#include "src/init/v8.h"
 #include "src/objects/heap-number.h"
 #include "src/objects/js-array-inl.h"
-#include "src/utils/ostreams.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
+#include "src/utils/ostreams.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-macro-assembler-mips64.cc b/test/cctest/test-macro-assembler-mips64.cc
index 64982d0..e443813 100644
--- a/test/cctest/test-macro-assembler-mips64.cc
+++ b/test/cctest/test-macro-assembler-mips64.cc
@@ -28,7 +28,7 @@
 #include <stdlib.h>
 #include <iostream>  // NOLINT(readability/streams)
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/base/utils/random-number-generator.h"
diff --git a/test/cctest/test-macro-assembler-x64.cc b/test/cctest/test-macro-assembler-x64.cc
index d77b3bc..0264298 100644
--- a/test/cctest/test-macro-assembler-x64.cc
+++ b/test/cctest/test-macro-assembler-x64.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/platform/platform.h"
 #include "src/codegen/macro-assembler.h"
diff --git a/test/cctest/test-modules.cc b/test/cctest/test-modules.cc
index 2523b83..0f2bfd2 100644
--- a/test/cctest/test-modules.cc
+++ b/test/cctest/test-modules.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-object.cc b/test/cctest/test-object.cc
index e86c0ff..9104e85 100644
--- a/test/cctest/test-object.cc
+++ b/test/cctest/test-object.cc
@@ -3,13 +3,13 @@
 // found in the LICENSE file.
 
 #include "src/api/api-inl.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/handles/handles-inl.h"
 #include "src/heap/factory.h"
+#include "src/init/v8.h"
 #include "src/objects/function-kind.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-orderedhashtable.cc b/test/cctest/test-orderedhashtable.cc
index 1dfc84e..9b1bc65 100644
--- a/test/cctest/test-orderedhashtable.cc
+++ b/test/cctest/test-orderedhashtable.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 #include <utility>
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/objects/objects-inl.h"
 #include "src/objects/ordered-hash-table-inl.h"
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc
index ed72f94..49333ca 100644
--- a/test/cctest/test-parsing.cc
+++ b/test/cctest/test-parsing.cc
@@ -31,7 +31,7 @@
 
 #include <memory>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/ast/ast-value-factory.h"
@@ -40,7 +40,7 @@
 #include "src/codegen/compiler.h"
 #include "src/execution/execution.h"
 #include "src/execution/isolate.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
 #include "src/parsing/parse-info.h"
diff --git a/test/cctest/test-profile-generator.cc b/test/cctest/test-profile-generator.cc
index 265c7b8..392782a 100644
--- a/test/cctest/test-profile-generator.cc
+++ b/test/cctest/test-profile-generator.cc
@@ -29,11 +29,11 @@
 
 #include "include/v8-profiler.h"
 #include "src/api/api-inl.h"
+#include "src/init/v8.h"
 #include "src/logging/log.h"
 #include "src/objects/objects-inl.h"
 #include "src/profiler/cpu-profiler.h"
 #include "src/profiler/profile-generator-inl.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 #include "test/cctest/profiler-extension.h"
 
diff --git a/test/cctest/test-random-number-generator.cc b/test/cctest/test-random-number-generator.cc
index 0e69f47..00b5224 100644
--- a/test/cctest/test-random-number-generator.cc
+++ b/test/cctest/test-random-number-generator.cc
@@ -26,8 +26,8 @@
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include "src/execution/isolate.h"
-#include "src/flags.h"
-#include "src/v8.h"
+#include "src/flags/flags.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/base/utils/random-number-generator.h"
diff --git a/test/cctest/test-regexp.cc b/test/cctest/test-regexp.cc
index a840747..0efaafe 100644
--- a/test/cctest/test-regexp.cc
+++ b/test/cctest/test-regexp.cc
@@ -34,6 +34,7 @@
 #include "src/ast/ast.h"
 #include "src/codegen/assembler-arch.h"
 #include "src/codegen/macro-assembler.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
 #include "src/regexp/interpreter-irregexp.h"
 #include "src/regexp/jsregexp.h"
@@ -45,7 +46,6 @@
 #include "src/strings/unicode-inl.h"
 #include "src/utils/ostreams.h"
 #include "src/utils/splay-tree-inl.h"
-#include "src/v8.h"
 #include "src/zone/zone-list-inl.h"
 
 #if V8_TARGET_ARCH_ARM
diff --git a/test/cctest/test-roots.cc b/test/cctest/test-roots.cc
index 65acbb7..1370537 100644
--- a/test/cctest/test-roots.cc
+++ b/test/cctest/test-roots.cc
@@ -6,7 +6,7 @@
 #include "src/objects/cell.h"
 #include "src/objects/feedback-cell.h"
 #include "src/objects/script.h"
-#include "src/roots-inl.h"
+#include "src/roots/roots-inl.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-sampler-api.cc b/test/cctest/test-sampler-api.cc
index 9f3de5b..0f7e0b0 100644
--- a/test/cctest/test-sampler-api.cc
+++ b/test/cctest/test-sampler-api.cc
@@ -8,7 +8,7 @@
 #include <string>
 #include "include/v8.h"
 #include "src/execution/simulator.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "test/cctest/cctest.h"
 
 namespace {
diff --git a/test/cctest/test-serialize.cc b/test/cctest/test-serialize.cc
index 20708fd..e842538 100644
--- a/test/cctest/test-serialize.cc
+++ b/test/cctest/test-serialize.cc
@@ -29,7 +29,7 @@
 
 #include <sys/stat.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/codegen/assembler-inl.h"
@@ -37,12 +37,12 @@
 #include "src/codegen/compiler.h"
 #include "src/codegen/macro-assembler-inl.h"
 #include "src/debug/debug.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
 #include "src/heap/read-only-heap.h"
 #include "src/heap/spaces.h"
 #include "src/init/bootstrapper.h"
 #include "src/interpreter/interpreter.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/js-array-buffer-inl.h"
 #include "src/objects/js-array-inl.h"
 #include "src/objects/js-regexp-inl.h"
diff --git a/test/cctest/test-smi-lexicographic-compare.cc b/test/cctest/test-smi-lexicographic-compare.cc
index cc22106..4e6b196 100644
--- a/test/cctest/test-smi-lexicographic-compare.cc
+++ b/test/cctest/test-smi-lexicographic-compare.cc
@@ -4,9 +4,9 @@
 
 #include <set>
 
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/smi.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-stack-unwinding-x64.cc b/test/cctest/test-stack-unwinding-x64.cc
index b648498..583e141 100644
--- a/test/cctest/test-stack-unwinding-x64.cc
+++ b/test/cctest/test-stack-unwinding-x64.cc
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #include "src/base/win32-headers.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 class UnwindingWinX64Callbacks {
diff --git a/test/cctest/test-strings.cc b/test/cctest/test-strings.cc
index 5112c11..7166b6b 100644
--- a/test/cctest/test-strings.cc
+++ b/test/cctest/test-strings.cc
@@ -32,7 +32,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/base/platform/elapsed-timer.h"
diff --git a/test/cctest/test-strtod.cc b/test/cctest/test-strtod.cc
index 67ac4be..2076b5b 100644
--- a/test/cctest/test-strtod.cc
+++ b/test/cctest/test-strtod.cc
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/utils/random-number-generator.h"
 #include "src/numbers/bignum.h"
diff --git a/test/cctest/test-sync-primitives-arm.cc b/test/cctest/test-sync-primitives-arm.cc
index 60383f7..84dc057 100644
--- a/test/cctest/test-sync-primitives-arm.cc
+++ b/test/cctest/test-sync-primitives-arm.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/assembler-helper-arm.h"
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-sync-primitives-arm64.cc b/test/cctest/test-sync-primitives-arm64.cc
index 8f814b0..1285f66 100644
--- a/test/cctest/test-sync-primitives-arm64.cc
+++ b/test/cctest/test-sync-primitives-arm64.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/arm64/simulator-arm64.h"
diff --git a/test/cctest/test-thread-termination.cc b/test/cctest/test-thread-termination.cc
index 7ede823..e21c23e 100644
--- a/test/cctest/test-thread-termination.cc
+++ b/test/cctest/test-thread-termination.cc
@@ -27,8 +27,8 @@
 
 #include "src/api/api-inl.h"
 #include "src/execution/isolate.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/base/platform/platform.h"
diff --git a/test/cctest/test-trace-event.cc b/test/cctest/test-trace-event.cc
index 36a207f..7b3c215 100644
--- a/test/cctest/test-trace-event.cc
+++ b/test/cctest/test-trace-event.cc
@@ -4,7 +4,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/template-utils.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/test-transitions.cc b/test/cctest/test-transitions.cc
index 191bdaa..5f47cf8 100644
--- a/test/cctest/test-transitions.cc
+++ b/test/cctest/test-transitions.cc
@@ -5,7 +5,7 @@
 #include <stdlib.h>
 #include <utility>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/compilation-cache.h"
 #include "src/execution/execution.h"
diff --git a/test/cctest/test-typedarrays.cc b/test/cctest/test-typedarrays.cc
index 2937a26..b14debd 100644
--- a/test/cctest/test-typedarrays.cc
+++ b/test/cctest/test-typedarrays.cc
@@ -4,7 +4,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 #include "src/heap/heap.h"
diff --git a/test/cctest/test-unboxed-doubles.cc b/test/cctest/test-unboxed-doubles.cc
index 665a5ed..7f90a85 100644
--- a/test/cctest/test-unboxed-doubles.cc
+++ b/test/cctest/test-unboxed-doubles.cc
@@ -5,7 +5,7 @@
 #include <stdlib.h>
 #include <utility>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/base/overflowing-math.h"
diff --git a/test/cctest/test-unscopables-hidden-prototype.cc b/test/cctest/test-unscopables-hidden-prototype.cc
index d98e273..2d19f5c 100644
--- a/test/cctest/test-unscopables-hidden-prototype.cc
+++ b/test/cctest/test-unscopables-hidden-prototype.cc
@@ -4,7 +4,7 @@
 
 #include <stdlib.h>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace {
diff --git a/test/cctest/test-usecounters.cc b/test/cctest/test-usecounters.cc
index 52a24a3..2c4d007 100644
--- a/test/cctest/test-usecounters.cc
+++ b/test/cctest/test-usecounters.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "test/cctest/cctest.h"
 
diff --git a/test/cctest/test-utils-arm64.cc b/test/cctest/test-utils-arm64.cc
index 384d237..899fa62 100644
--- a/test/cctest/test-utils-arm64.cc
+++ b/test/cctest/test-utils-arm64.cc
@@ -31,7 +31,7 @@
 #include "src/arm64/utils-arm64.h"
 #include "src/base/template-utils.h"
 #include "src/codegen/macro-assembler-inl.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-utils-arm64.h b/test/cctest/test-utils-arm64.h
index 18995a9..b019580 100644
--- a/test/cctest/test-utils-arm64.h
+++ b/test/cctest/test-utils-arm64.h
@@ -30,7 +30,7 @@
 
 #include "src/arm64/utils-arm64.h"
 #include "src/codegen/macro-assembler.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/cctest/cctest.h"
 
 namespace v8 {
diff --git a/test/cctest/test-utils.cc b/test/cctest/test-utils.cc
index b78ee5c..30e4d36 100644
--- a/test/cctest/test-utils.cc
+++ b/test/cctest/test-utils.cc
@@ -29,7 +29,7 @@
 
 #include <vector>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api-inl.h"
 #include "src/base/platform/platform.h"
diff --git a/test/cctest/test-version.cc b/test/cctest/test-version.cc
index 9da3ce4..4ba8708 100644
--- a/test/cctest/test-version.cc
+++ b/test/cctest/test-version.cc
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/utils/version.h"
 #include "test/cctest/cctest.h"
diff --git a/test/cctest/trace-extension.h b/test/cctest/trace-extension.h
index 385f0c2..fe62c00 100644
--- a/test/cctest/trace-extension.h
+++ b/test/cctest/trace-extension.h
@@ -29,7 +29,7 @@
 #define V8_TEST_CCTEST_TRACE_EXTENSION_H_
 
 #include "include/v8.h"
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 namespace v8 {
 struct TickSample;
diff --git a/test/cctest/wasm/test-streaming-compilation.cc b/test/cctest/wasm/test-streaming-compilation.cc
index 1c5e919..5e06db3 100644
--- a/test/cctest/wasm/test-streaming-compilation.cc
+++ b/test/cctest/wasm/test-streaming-compilation.cc
@@ -3,10 +3,10 @@
 // found in the LICENSE file.
 
 #include "src/api/api-inl.h"
+#include "src/init/v8.h"
 #include "src/objects/managed.h"
-#include "src/utils/vector.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
+#include "src/utils/vector.h"
 
 #include "src/wasm/module-decoder.h"
 #include "src/wasm/streaming-decoder.h"
diff --git a/test/common/types-fuzz.h b/test/common/types-fuzz.h
index d264c4c1..42a5461 100644
--- a/test/common/types-fuzz.h
+++ b/test/common/types-fuzz.h
@@ -31,7 +31,7 @@
 #include "src/base/utils/random-number-generator.h"
 #include "src/execution/isolate.h"
 #include "src/heap/factory.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 namespace v8 {
 namespace internal {
diff --git a/test/fuzzer/fuzzer-support.cc b/test/fuzzer/fuzzer-support.cc
index 43d21ea..5d6861d 100644
--- a/test/fuzzer/fuzzer-support.cc
+++ b/test/fuzzer/fuzzer-support.cc
@@ -10,7 +10,7 @@
 
 #include "include/libplatform/libplatform.h"
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 
 namespace v8_fuzzer {
 
diff --git a/test/inspector/DEPS b/test/inspector/DEPS
index ff4e596..1b6dd06 100644
--- a/test/inspector/DEPS
+++ b/test/inspector/DEPS
@@ -3,7 +3,7 @@
   "+src/base/atomic-utils.h",
   "+src/base/macros.h",
   "+src/base/platform/platform.h",
-  "+src/flags.h",
+  "+src/flags/flags.h",
   "+src/inspector/test-interface.h",
   "+src/utils/locked-queue-inl.h",
   "+src/utils/utils.h",
diff --git a/test/inspector/inspector-test.cc b/test/inspector/inspector-test.cc
index 7fbc25e..4321edc 100644
--- a/test/inspector/inspector-test.cc
+++ b/test/inspector/inspector-test.cc
@@ -14,7 +14,7 @@
 #include "include/v8.h"
 
 #include "src/base/platform/platform.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/utils/utils.h"
 #include "src/utils/vector.h"
 
diff --git a/test/unittests/api/exception-unittest.cc b/test/unittests/api/exception-unittest.cc
index b8f21cc..36b87d0 100644
--- a/test/unittests/api/exception-unittest.cc
+++ b/test/unittests/api/exception-unittest.cc
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #include "include/v8.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "test/unittests/test-utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/test/unittests/api/isolate-unittest.cc b/test/unittests/api/isolate-unittest.cc
index d15bbc2..bdede4c 100644
--- a/test/unittests/api/isolate-unittest.cc
+++ b/test/unittests/api/isolate-unittest.cc
@@ -12,7 +12,7 @@
 #include "src/base/template-utils.h"
 #include "src/execution/execution.h"
 #include "src/execution/isolate.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "test/unittests/test-utils.h"
 
 namespace v8 {
diff --git a/test/unittests/background-compile-task-unittest.cc b/test/unittests/background-compile-task-unittest.cc
index b1a093e..f85b3bf 100644
--- a/test/unittests/background-compile-task-unittest.cc
+++ b/test/unittests/background-compile-task-unittest.cc
@@ -12,12 +12,12 @@
 #include "src/base/template-utils.h"
 #include "src/codegen/compiler.h"
 #include "src/execution/isolate-inl.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
+#include "src/init/v8.h"
 #include "src/objects/smi.h"
 #include "src/parsing/parse-info.h"
 #include "src/parsing/parser.h"
 #include "src/parsing/preparse-data.h"
-#include "src/v8.h"
 #include "src/zone/zone-list-inl.h"
 #include "test/unittests/test-helpers.h"
 #include "test/unittests/test-utils.h"
diff --git a/test/unittests/base/threaded-list-unittest.cc b/test/unittests/base/threaded-list-unittest.cc
index effe9b0..2af95c9 100644
--- a/test/unittests/base/threaded-list-unittest.cc
+++ b/test/unittests/base/threaded-list-unittest.cc
@@ -4,7 +4,7 @@
 
 #include <iterator>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/base/threaded-list.h"
 #include "testing/gtest-support.h"
diff --git a/test/unittests/cancelable-tasks-unittest.cc b/test/unittests/cancelable-tasks-unittest.cc
index 0504813..b3843db 100644
--- a/test/unittests/cancelable-tasks-unittest.cc
+++ b/test/unittests/cancelable-tasks-unittest.cc
@@ -4,7 +4,7 @@
 
 #include "src/base/atomicops.h"
 #include "src/base/platform/platform.h"
-#include "src/cancelable-task.h"
+#include "src/tasks/cancelable-task.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc b/test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc
index 26c4edd..fb6dc16 100644
--- a/test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc
+++ b/test/unittests/compiler-dispatcher/compiler-dispatcher-unittest.cc
@@ -14,12 +14,12 @@
 #include "src/base/platform/semaphore.h"
 #include "src/base/template-utils.h"
 #include "src/codegen/compiler.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/handles/handles.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
 #include "src/parsing/parse-info.h"
 #include "src/parsing/parsing.h"
-#include "src/v8.h"
 #include "src/zone/zone-list-inl.h"
 #include "test/unittests/test-helpers.h"
 #include "test/unittests/test-utils.h"
diff --git a/test/unittests/compiler/backend/instruction-selector-unittest.cc b/test/unittests/compiler/backend/instruction-selector-unittest.cc
index 71ad3a6..110ddef 100644
--- a/test/unittests/compiler/backend/instruction-selector-unittest.cc
+++ b/test/unittests/compiler/backend/instruction-selector-unittest.cc
@@ -8,7 +8,7 @@
 #include "src/compiler/compiler-source-position-table.h"
 #include "src/compiler/graph.h"
 #include "src/compiler/schedule.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/objects/objects-inl.h"
 #include "test/unittests/compiler/compiler-test-utils.h"
 
diff --git a/test/unittests/compiler/bytecode-analysis-unittest.cc b/test/unittests/compiler/bytecode-analysis-unittest.cc
index 401a8a5..fa77989 100644
--- a/test/unittests/compiler/bytecode-analysis-unittest.cc
+++ b/test/unittests/compiler/bytecode-analysis-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/compiler/bytecode-analysis.h"
 #include "src/interpreter/bytecode-array-builder.h"
diff --git a/test/unittests/conversions-unittest.cc b/test/unittests/conversions-unittest.cc
index 33f7c50..e0c1c55 100644
--- a/test/unittests/conversions-unittest.cc
+++ b/test/unittests/conversions-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/numbers/conversions.h"
 #include "test/unittests/test-utils.h"
diff --git a/test/unittests/heap/gc-tracer-unittest.cc b/test/unittests/heap/gc-tracer-unittest.cc
index ee4cff4..53b919a 100644
--- a/test/unittests/heap/gc-tracer-unittest.cc
+++ b/test/unittests/heap/gc-tracer-unittest.cc
@@ -6,8 +6,8 @@
 #include <limits>
 
 #include "src/base/platform/platform.h"
+#include "src/common/globals.h"
 #include "src/execution/isolate.h"
-#include "src/globals.h"
 #include "src/heap/gc-tracer.h"
 #include "test/unittests/test-utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/test/unittests/heap/marking-unittest.cc b/test/unittests/heap/marking-unittest.cc
index 60aa28c..63923c0 100644
--- a/test/unittests/heap/marking-unittest.cc
+++ b/test/unittests/heap/marking-unittest.cc
@@ -4,7 +4,7 @@
 
 #include <stdlib.h>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/marking.h"
 #include "test/unittests/heap/bitmap-test-utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/test/unittests/heap/memory-reducer-unittest.cc b/test/unittests/heap/memory-reducer-unittest.cc
index 27585dc..d787f03 100644
--- a/test/unittests/heap/memory-reducer-unittest.cc
+++ b/test/unittests/heap/memory-reducer-unittest.cc
@@ -4,7 +4,7 @@
 
 #include <limits>
 
-#include "src/flags.h"
+#include "src/flags/flags.h"
 #include "src/heap/memory-reducer.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/test/unittests/heap/scavenge-job-unittest.cc b/test/unittests/heap/scavenge-job-unittest.cc
index 17729c1..36d089f 100644
--- a/test/unittests/heap/scavenge-job-unittest.cc
+++ b/test/unittests/heap/scavenge-job-unittest.cc
@@ -4,7 +4,7 @@
 
 #include <limits>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/scavenge-job.h"
 #include "src/utils/utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/test/unittests/heap/slot-set-unittest.cc b/test/unittests/heap/slot-set-unittest.cc
index 121b922..54b60f5 100644
--- a/test/unittests/heap/slot-set-unittest.cc
+++ b/test/unittests/heap/slot-set-unittest.cc
@@ -5,7 +5,7 @@
 #include <limits>
 #include <map>
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 #include "src/heap/slot-set.h"
 #include "src/heap/spaces.h"
 #include "src/objects/slots.h"
diff --git a/test/unittests/interpreter/bytecode-array-builder-unittest.cc b/test/unittests/interpreter/bytecode-array-builder-unittest.cc
index 8fc32a7..c3aa7de 100644
--- a/test/unittests/interpreter/bytecode-array-builder-unittest.cc
+++ b/test/unittests/interpreter/bytecode-array-builder-unittest.cc
@@ -4,15 +4,15 @@
 
 #include <limits>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/ast/scopes.h"
-#include "src/hash-seed-inl.h"
 #include "src/interpreter/bytecode-array-builder.h"
 #include "src/interpreter/bytecode-array-iterator.h"
 #include "src/interpreter/bytecode-jump-table.h"
 #include "src/interpreter/bytecode-label.h"
 #include "src/interpreter/bytecode-register-allocator.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/smi.h"
 #include "test/unittests/interpreter/bytecode-utils.h"
diff --git a/test/unittests/interpreter/bytecode-array-iterator-unittest.cc b/test/unittests/interpreter/bytecode-array-iterator-unittest.cc
index ed715a7..a8907ba 100644
--- a/test/unittests/interpreter/bytecode-array-iterator-unittest.cc
+++ b/test/unittests/interpreter/bytecode-array-iterator-unittest.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
-#include "src/hash-seed-inl.h"
 #include "src/interpreter/bytecode-array-builder.h"
 #include "src/interpreter/bytecode-array-iterator.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/smi.h"
 #include "test/unittests/interpreter/bytecode-utils.h"
diff --git a/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc b/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc
index e8bc984..0f6f0e9 100644
--- a/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc
+++ b/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
-#include "src/hash-seed-inl.h"
 #include "src/interpreter/bytecode-array-builder.h"
 #include "src/interpreter/bytecode-array-random-iterator.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/smi.h"
 #include "test/unittests/interpreter/bytecode-utils.h"
diff --git a/test/unittests/interpreter/bytecode-array-writer-unittest.cc b/test/unittests/interpreter/bytecode-array-writer-unittest.cc
index 416e26c..6e7b945 100644
--- a/test/unittests/interpreter/bytecode-array-writer-unittest.cc
+++ b/test/unittests/interpreter/bytecode-array-writer-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/api/api.h"
 #include "src/codegen/source-position-table.h"
diff --git a/test/unittests/interpreter/bytecode-decoder-unittest.cc b/test/unittests/interpreter/bytecode-decoder-unittest.cc
index 943cdfa..35a63cf 100644
--- a/test/unittests/interpreter/bytecode-decoder-unittest.cc
+++ b/test/unittests/interpreter/bytecode-decoder-unittest.cc
@@ -4,7 +4,7 @@
 
 #include <vector>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-decoder.h"
 #include "src/objects/contexts.h"
diff --git a/test/unittests/interpreter/bytecode-node-unittest.cc b/test/unittests/interpreter/bytecode-node-unittest.cc
index 8b8cae5..d789412 100644
--- a/test/unittests/interpreter/bytecode-node-unittest.cc
+++ b/test/unittests/interpreter/bytecode-node-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-node.h"
 #include "test/unittests/test-utils.h"
diff --git a/test/unittests/interpreter/bytecode-operands-unittest.cc b/test/unittests/interpreter/bytecode-operands-unittest.cc
index 3a51724..02db7a6 100644
--- a/test/unittests/interpreter/bytecode-operands-unittest.cc
+++ b/test/unittests/interpreter/bytecode-operands-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/execution/isolate.h"
 #include "src/interpreter/bytecode-operands.h"
diff --git a/test/unittests/interpreter/bytecode-register-allocator-unittest.cc b/test/unittests/interpreter/bytecode-register-allocator-unittest.cc
index 380bca6..e5866a7 100644
--- a/test/unittests/interpreter/bytecode-register-allocator-unittest.cc
+++ b/test/unittests/interpreter/bytecode-register-allocator-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-array-builder.h"
 #include "src/interpreter/bytecode-register-allocator.h"
diff --git a/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc b/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
index 9879b2a..fd3de90 100644
--- a/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
+++ b/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-label.h"
 #include "src/interpreter/bytecode-register-optimizer.h"
diff --git a/test/unittests/interpreter/bytecode-source-info-unittest.cc b/test/unittests/interpreter/bytecode-source-info-unittest.cc
index f08bfe3..6fff3d5 100644
--- a/test/unittests/interpreter/bytecode-source-info-unittest.cc
+++ b/test/unittests/interpreter/bytecode-source-info-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-source-info.h"
 #include "test/unittests/test-utils.h"
diff --git a/test/unittests/interpreter/bytecodes-unittest.cc b/test/unittests/interpreter/bytecodes-unittest.cc
index 6f5a11c..f390631 100644
--- a/test/unittests/interpreter/bytecodes-unittest.cc
+++ b/test/unittests/interpreter/bytecodes-unittest.cc
@@ -4,7 +4,7 @@
 
 #include <vector>
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/interpreter/bytecode-register.h"
 #include "src/interpreter/bytecodes.h"
diff --git a/test/unittests/interpreter/constant-array-builder-unittest.cc b/test/unittests/interpreter/constant-array-builder-unittest.cc
index 43755d5..bfe83b0 100644
--- a/test/unittests/interpreter/constant-array-builder-unittest.cc
+++ b/test/unittests/interpreter/constant-array-builder-unittest.cc
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/ast/ast-value-factory.h"
 #include "src/execution/isolate.h"
 #include "src/handles/handles-inl.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/factory.h"
 #include "src/interpreter/constant-array-builder.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/objects/objects-inl.h"
 #include "test/unittests/test-utils.h"
 
diff --git a/test/unittests/microtask-queue-unittest.cc b/test/unittests/microtask-queue-unittest.cc
index df68eb6..37b0371 100644
--- a/test/unittests/microtask-queue-unittest.cc
+++ b/test/unittests/microtask-queue-unittest.cc
@@ -15,7 +15,7 @@
 #include "src/objects/js-objects-inl.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/promise-inl.h"
-#include "src/visitors.h"
+#include "src/objects/visitors.h"
 #include "test/unittests/test-utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/test/unittests/parser/ast-value-unittest.cc b/test/unittests/parser/ast-value-unittest.cc
index 8358de8..91efc9e 100644
--- a/test/unittests/parser/ast-value-unittest.cc
+++ b/test/unittests/parser/ast-value-unittest.cc
@@ -5,8 +5,8 @@
 #include "src/ast/ast-value-factory.h"
 #include "src/ast/ast.h"
 #include "src/execution/isolate-inl.h"
-#include "src/hash-seed-inl.h"
 #include "src/heap/heap-inl.h"
+#include "src/numbers/hash-seed-inl.h"
 #include "src/zone/zone.h"
 #include "test/unittests/test-utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/test/unittests/source-position-table-unittest.cc b/test/unittests/source-position-table-unittest.cc
index 190cce0..c2a5816 100644
--- a/test/unittests/source-position-table-unittest.cc
+++ b/test/unittests/source-position-table-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/codegen/source-position-table.h"
 #include "src/objects/objects.h"
diff --git a/test/unittests/test-utils.cc b/test/unittests/test-utils.cc
index 79e0543..5ac44b3 100644
--- a/test/unittests/test-utils.cc
+++ b/test/unittests/test-utils.cc
@@ -9,9 +9,9 @@
 #include "src/api/api-inl.h"
 #include "src/base/platform/time.h"
 #include "src/execution/isolate.h"
-#include "src/flags.h"
+#include "src/flags/flags.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
-#include "src/v8.h"
 
 namespace v8 {
 
@@ -64,7 +64,7 @@
 SaveFlags::SaveFlags() {
   // For each flag, save the current flag value.
 #define FLAG_MODE_APPLY(ftype, ctype, nam, def, cmt) SAVED_##nam = FLAG_##nam;
-#include "src/flag-definitions.h"  // NOLINT
+#include "src/flags/flag-definitions.h"  // NOLINT
 #undef FLAG_MODE_APPLY
 }
 
@@ -75,7 +75,7 @@
   if (SAVED_##nam != FLAG_##nam) {                   \
     FLAG_##nam = SAVED_##nam;                        \
   }
-#include "src/flag-definitions.h"  // NOLINT
+#include "src/flags/flag-definitions.h"  // NOLINT
 #undef FLAG_MODE_APPLY
 }
 
diff --git a/test/unittests/test-utils.h b/test/unittests/test-utils.h
index 3b84549..231d093 100644
--- a/test/unittests/test-utils.h
+++ b/test/unittests/test-utils.h
@@ -351,7 +351,7 @@
 
  private:
 #define FLAG_MODE_APPLY(ftype, ctype, nam, def, cmt) ctype SAVED_##nam;
-#include "src/flag-definitions.h"  // NOLINT
+#include "src/flags/flag-definitions.h"  // NOLINT
 #undef FLAG_MODE_APPLY
 
   DISALLOW_COPY_AND_ASSIGN(SaveFlags);
diff --git a/test/unittests/value-serializer-unittest.cc b/test/unittests/value-serializer-unittest.cc
index d1d0721..38aae33 100644
--- a/test/unittests/value-serializer-unittest.cc
+++ b/test/unittests/value-serializer-unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/value-serializer.h"
+#include "src/objects/value-serializer.h"
 
 #include <algorithm>
 #include <string>
diff --git a/test/unittests/wasm/control-transfer-unittest.cc b/test/unittests/wasm/control-transfer-unittest.cc
index 2b1a034..938956f 100644
--- a/test/unittests/wasm/control-transfer-unittest.cc
+++ b/test/unittests/wasm/control-transfer-unittest.cc
@@ -5,7 +5,7 @@
 #include "test/unittests/test-utils.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "src/wasm/wasm-interpreter.h"
 
 #include "test/common/wasm/wasm-macro-gen.h"
diff --git a/test/unittests/wasm/function-body-decoder-unittest.cc b/test/unittests/wasm/function-body-decoder-unittest.cc
index 763fe5d..c03c807 100644
--- a/test/unittests/wasm/function-body-decoder-unittest.cc
+++ b/test/unittests/wasm/function-body-decoder-unittest.cc
@@ -4,10 +4,10 @@
 
 #include "test/unittests/test-utils.h"
 
-#include "src/utils/ostreams.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
-#include "src/v8.h"
+#include "src/utils/ostreams.h"
 #include "src/wasm/function-body-decoder-impl.h"
 #include "src/wasm/function-body-decoder.h"
 #include "src/wasm/local-decl-encoder.h"
diff --git a/test/unittests/wasm/loop-assignment-analysis-unittest.cc b/test/unittests/wasm/loop-assignment-analysis-unittest.cc
index 4930266..5f56da3 100644
--- a/test/unittests/wasm/loop-assignment-analysis-unittest.cc
+++ b/test/unittests/wasm/loop-assignment-analysis-unittest.cc
@@ -4,10 +4,10 @@
 
 #include "test/unittests/test-utils.h"
 
-#include "src/utils/bit-vector.h"
+#include "src/init/v8.h"
 #include "src/objects/objects-inl.h"
 #include "src/objects/objects.h"
-#include "src/v8.h"
+#include "src/utils/bit-vector.h"
 #include "src/wasm/function-body-decoder.h"
 #include "src/wasm/wasm-module.h"
 
diff --git a/test/unittests/wasm/wasm-module-builder-unittest.cc b/test/unittests/wasm/wasm-module-builder-unittest.cc
index 91a7f3d..2bfe2b6 100644
--- a/test/unittests/wasm/wasm-module-builder-unittest.cc
+++ b/test/unittests/wasm/wasm-module-builder-unittest.cc
@@ -4,7 +4,7 @@
 
 #include "test/unittests/test-utils.h"
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 
 #include "src/objects/objects-inl.h"
 #include "src/wasm/function-body-decoder.h"
diff --git a/tools/bash-completion.sh b/tools/bash-completion.sh
index 54583a1..27e73b7 100755
--- a/tools/bash-completion.sh
+++ b/tools/bash-completion.sh
@@ -37,11 +37,11 @@
 _v8_flag() {
   local cur defines targets
   cur="${COMP_WORDS[COMP_CWORD]}"
-  defines=$(cat $v8_source/src/flag-definitions.h \
+  defines=$(cat $v8_source/src/flags/flag-definitions.h \
     | grep "^DEFINE" \
     | grep -v "DEFINE_IMPLICATION" \
     | sed -e 's/_/-/g'; \
-    cat $v8_source/src/flag-definitions.h \
+    cat $v8_source/src/flags/flag-definitions.h \
     | grep "^  V(harmony_" \
     | sed -e 's/^  V/DEFINE-BOOL/' \
     | sed -e 's/_/-/g')
diff --git a/tools/gen-postmortem-metadata.py b/tools/gen-postmortem-metadata.py
index 41a70fe..e99457c 100644
--- a/tools/gen-postmortem-metadata.py
+++ b/tools/gen-postmortem-metadata.py
@@ -298,7 +298,7 @@
  * This file is generated by %s.  Do not edit directly.
  */
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "src/execution/frames.h"
 #include "src/execution/frames-inl.h" /* for architecture-specific frame constants */
 #include "src/objects/contexts.h"
diff --git a/tools/generate-header-include-checks.py b/tools/generate-header-include-checks.py
index 4961ff5..fa18d85 100755
--- a/tools/generate-header-include-checks.py
+++ b/tools/generate-header-include-checks.py
@@ -30,7 +30,7 @@
 OUT_DIR = os.path.join(V8_DIR, 'check-header-includes')
 AUTO_EXCLUDE = [
   # flag-definitions.h needs a mode set for being included.
-  'src/flag-definitions.h',
+  'src/flags/flag-definitions.h',
 ]
 AUTO_EXCLUDE_PATTERNS = [
   'src/base/atomicops_internals_.*',
diff --git a/tools/js2c.py b/tools/js2c.py
index c80ca7b..b94f3ad 100755
--- a/tools/js2c.py
+++ b/tools/js2c.py
@@ -105,7 +105,7 @@
 // want to make changes to this file you should either change the
 // javascript source files or the GYP script.
 
-#include "src/v8.h"
+#include "src/init/v8.h"
 #include "src/snapshot/natives.h"
 #include "src/utils/utils.h"
 
diff --git a/tools/shell-utils.h b/tools/shell-utils.h
index bfd729d..b41d327 100644
--- a/tools/shell-utils.h
+++ b/tools/shell-utils.h
@@ -27,7 +27,7 @@
 
 // Utility functions used by parser-shell.
 
-#include "src/globals.h"
+#include "src/common/globals.h"
 
 #include <stdio.h>