2019-10-31 12:03:44 -04:00
|
|
|
# This file is used by the GN meta build system to find the root of the source
|
|
|
|
# tree and to set startup options. For documentation on the values set in this
|
|
|
|
# file, run "gn help dotfile" at the command line.
|
|
|
|
|
|
|
|
# The location of the build configuration file.
|
|
|
|
buildconfig = "//build/config/BUILDCONFIG.gn"
|
|
|
|
|
|
|
|
# These are the targets to check headers for by default. The files in targets
|
|
|
|
# matching these patterns (see "gn help label_pattern" for format) will have
|
|
|
|
# their includes checked for proper dependencies when you run either
|
|
|
|
# "gn check" or "gn gen --check".
|
|
|
|
check_targets = []
|
|
|
|
|
2019-11-19 17:48:50 -05:00
|
|
|
# The secondary source root is a parallel directory tree where
|
|
|
|
# GN build files are placed when they can not be placed directly
|
|
|
|
# in the source tree, e.g. for third party source trees.
|
|
|
|
secondary_source = "//v8/"
|
|
|
|
|
2019-10-31 12:03:44 -04:00
|
|
|
default_args = {
|
2022-05-23 20:31:58 -04:00
|
|
|
clang_use_chrome_plugins = false
|
|
|
|
is_component_build = false
|
2019-11-19 17:48:50 -05:00
|
|
|
linux_use_bundled_binutils = false
|
2019-11-29 21:58:29 -05:00
|
|
|
use_dummy_lastchange = true
|
2022-05-23 20:31:58 -04:00
|
|
|
use_sysroot = false
|
2024-08-07 06:17:50 -04:00
|
|
|
simple_template_names = false
|
2019-12-05 12:27:55 -05:00
|
|
|
|
2022-05-23 20:31:58 -04:00
|
|
|
# Minimize size of debuginfo in distributed static library.
|
2022-05-24 03:14:20 -04:00
|
|
|
line_tables_only = true
|
2022-05-23 20:31:58 -04:00
|
|
|
no_inline_line_tables = true
|
|
|
|
symbol_level = 1
|
2022-05-24 03:14:20 -04:00
|
|
|
use_debug_fission = false
|
2021-06-15 11:12:23 -04:00
|
|
|
|
2024-07-25 14:25:31 -04:00
|
|
|
v8_embedder_string = "-rusty"
|
|
|
|
|
2022-10-18 17:47:07 -04:00
|
|
|
v8_enable_sandbox = false
|
2022-05-05 12:31:29 -04:00
|
|
|
v8_enable_javascript_promise_hooks = true
|
2022-05-15 08:10:44 -04:00
|
|
|
v8_promise_internal_field_count = 1
|
2019-10-31 12:03:44 -04:00
|
|
|
v8_use_external_startup_data = false
|
|
|
|
v8_use_snapshot = true
|
2022-05-23 20:31:58 -04:00
|
|
|
|
2024-08-27 20:52:27 -04:00
|
|
|
v8_enable_pointer_compression = false
|
|
|
|
|
2024-07-23 10:07:07 -04:00
|
|
|
# This flag speeds up the performance of fork/execve on Linux systems for
|
|
|
|
# embedders which use it (like Node.js). It works by marking the pages that
|
|
|
|
# V8 allocates as MADV_DONTFORK. Without MADV_DONTFORK, the Linux kernel
|
|
|
|
# spends a long time manipulating page mappings on fork and exec which the
|
|
|
|
# child process doesn't generally need to access.
|
|
|
|
v8_enable_private_mapping_fork_optimization = true
|
|
|
|
|
2023-10-27 12:00:49 -04:00
|
|
|
# We prefer embedders to bring their own compression
|
|
|
|
v8_use_zlib = false
|
|
|
|
v8_enable_snapshot_compression = false
|
|
|
|
|
2023-02-11 12:22:04 -05:00
|
|
|
# Disable handle zapping for performance
|
|
|
|
v8_enable_handle_zapping = false
|
2022-09-19 03:33:58 -04:00
|
|
|
# Ensure allocation of typed arrays and arraybuffers always goes through
|
|
|
|
# the embedder's ArrayBufferAllocator, otherwise small buffers get moved
|
|
|
|
# around by the garbage collector but embedders normally want them to have
|
|
|
|
# fixed addresses.
|
|
|
|
v8_typed_array_max_size_in_heap = 0
|
2023-01-24 16:49:33 -05:00
|
|
|
|
2024-07-23 15:43:32 -04:00
|
|
|
# Historically these always had 2 slots. Keep for compat.
|
|
|
|
v8_array_buffer_internal_field_count = 2
|
|
|
|
v8_array_buffer_view_internal_field_count = 2
|
|
|
|
|
2023-01-24 16:49:33 -05:00
|
|
|
# Enabling the shared read-only heap comes with a restriction that all
|
|
|
|
# isolates running at the same time must be created from the same snapshot.
|
|
|
|
# This is problematic for Deno, which has separate "runtime" and "typescript
|
|
|
|
# compiler" snapshots, and sometimes uses them both at the same time.
|
|
|
|
v8_enable_shared_ro_heap = false
|
2023-04-25 16:17:27 -04:00
|
|
|
|
2023-06-27 11:50:31 -04:00
|
|
|
# V8 11.6 hardcoded an assumption in `mksnapshot` that shared RO heap
|
|
|
|
# is enabled. In our case it's disabled so without this flag we can't
|
|
|
|
# compile.
|
|
|
|
v8_enable_verify_heap = false
|
2023-08-23 23:28:19 -04:00
|
|
|
|
2024-02-13 09:18:34 -05:00
|
|
|
# Enable V8 object print for debugging.
|
|
|
|
# v8_enable_object_print = true
|
2024-03-08 13:22:23 -05:00
|
|
|
|
|
|
|
# V8 12.3 added google/fuzztest as a third party dependency.
|
|
|
|
# https://chromium.googlesource.com/v8/v8.git/+/d5acece0c9b89b18716c177d1fcc8f734191e1e2%5E%21/#F4
|
|
|
|
#
|
|
|
|
# This flag disables it.
|
|
|
|
v8_enable_fuzztest = false
|
|
|
|
|
|
|
|
# Disable v8::HandleScope LIFO checks.
|
|
|
|
# https://chromium-review.googlesource.com/c/v8/v8/+/5110566
|
|
|
|
#
|
|
|
|
# rusty_v8 scopes are not on the stack.
|
|
|
|
v8_enable_v8_checks = false
|
2024-08-26 00:02:33 -04:00
|
|
|
|
|
|
|
use_relative_vtables_abi = false
|
2019-10-31 12:03:44 -04:00
|
|
|
}
|