2019-10-31 16:03:44 +00: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 22:48:50 +00: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 16:03:44 +00:00
|
|
|
default_args = {
|
2022-05-24 00:31:58 +00:00
|
|
|
clang_use_chrome_plugins = false
|
|
|
|
is_component_build = false
|
2019-11-19 22:48:50 +00:00
|
|
|
linux_use_bundled_binutils = false
|
2019-11-30 02:58:29 +00:00
|
|
|
use_dummy_lastchange = true
|
2022-05-24 00:31:58 +00:00
|
|
|
use_sysroot = false
|
|
|
|
win_crt_flavor_agnostic = true
|
2019-12-05 17:27:55 +00:00
|
|
|
|
2022-05-24 00:31:58 +00:00
|
|
|
# Minimize size of debuginfo in distributed static library.
|
2022-05-24 07:14:20 +00:00
|
|
|
line_tables_only = true
|
2022-05-24 00:31:58 +00:00
|
|
|
no_inline_line_tables = true
|
|
|
|
symbol_level = 1
|
2022-05-24 07:14:20 +00:00
|
|
|
use_debug_fission = false
|
2021-06-15 15:12:23 +00:00
|
|
|
|
2022-10-18 21:47:07 +00:00
|
|
|
v8_enable_sandbox = false
|
2022-05-05 16:31:29 +00:00
|
|
|
v8_enable_javascript_promise_hooks = true
|
2022-05-15 12:10:44 +00:00
|
|
|
v8_promise_internal_field_count = 1
|
2019-10-31 16:03:44 +00:00
|
|
|
v8_use_external_startup_data = false
|
|
|
|
v8_use_snapshot = true
|
2022-05-24 00:31:58 +00:00
|
|
|
|
2023-10-27 16:00:49 +00:00
|
|
|
# We prefer embedders to bring their own compression
|
|
|
|
v8_use_zlib = false
|
|
|
|
v8_enable_snapshot_compression = false
|
|
|
|
|
2023-02-11 17:22:04 +00:00
|
|
|
# Disable handle zapping for performance
|
|
|
|
v8_enable_handle_zapping = false
|
2022-09-19 07:33:58 +00: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 21:49:33 +00: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 20:17:27 +00:00
|
|
|
|
2023-06-27 15:50:31 +00: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-24 03:28:19 +00:00
|
|
|
|
|
|
|
# V8 introduced a bug in 11.1 that causes the External Pointer Table to never
|
|
|
|
# be cleaned which causes resource exhaustion. Disabling pointer compression
|
|
|
|
# makes sure that the EPT is not used.
|
|
|
|
# https://bugs.chromium.org/p/v8/issues/detail?id=13640&q=garbage%20collection&can=2
|
|
|
|
v8_enable_pointer_compression = false
|
|
|
|
|
|
|
|
# Maglev *should* be supported when pointer compression is disabled as per
|
|
|
|
# https://chromium-review.googlesource.com/c/v8/v8/+/4753150, but it still
|
|
|
|
# fails to compile.
|
|
|
|
v8_enable_maglev = false
|
2023-10-26 16:39:22 +00:00
|
|
|
|
2024-02-13 14:18:34 +00:00
|
|
|
# Enable V8 object print for debugging.
|
|
|
|
# v8_enable_object_print = true
|
|
|
|
|
2023-10-26 16:39:22 +00:00
|
|
|
# Enable Deno-specific extra bindings
|
|
|
|
deno_enable_extras = true
|
2019-10-31 16:03:44 +00:00
|
|
|
}
|