rusty_v8/.gn
Divy Srivastava 3393d48f5f Merge
2024-03-09 09:34:39 +05:30

93 lines
3.4 KiB
Plaintext

# 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 = []
# 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/"
default_args = {
clang_use_chrome_plugins = false
is_component_build = false
linux_use_bundled_binutils = false
use_dummy_lastchange = true
use_sysroot = false
win_crt_flavor_agnostic = true
# Minimize size of debuginfo in distributed static library.
line_tables_only = true
no_inline_line_tables = true
symbol_level = 1
use_debug_fission = false
v8_enable_sandbox = false
v8_enable_javascript_promise_hooks = true
v8_promise_internal_field_count = 1
v8_use_external_startup_data = false
v8_use_snapshot = true
# We prefer embedders to bring their own compression
v8_use_zlib = false
v8_enable_snapshot_compression = false
# Disable handle zapping for performance
v8_enable_handle_zapping = false
# 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
# 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
# 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
# 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
# Enable V8 object print for debugging.
# v8_enable_object_print = true
v8_enable_builtins_optimization = true
# 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
# Enable Deno-specific extra bindings
deno_enable_extras = true
}