tools: update V8 gypfiles for 10.1

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
This commit is contained in:
Michaël Zasso 2021-12-15 08:33:46 +01:00
parent 62e62757b3
commit 40bc08089d
No known key found for this signature in database
GPG Key ID: 770F7A9A5AE15600
5 changed files with 85 additions and 28 deletions

View File

@ -1446,6 +1446,7 @@ def configure_library(lib, output, pkgname=None):
def configure_v8(o): def configure_v8(o):
o['variables']['v8_enable_webassembly'] = 1 o['variables']['v8_enable_webassembly'] = 1
o['variables']['v8_enable_javascript_promise_hooks'] = 1
o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0 o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0
o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0 o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs. o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs.

View File

@ -160,9 +160,9 @@
# Enables various testing features. # Enables various testing features.
'v8_enable_test_features%': 0, 'v8_enable_test_features%': 0,
# Enables raw heap snapshots containing internals. Used for debugging memory # Enable the Maglev compiler.
# on platform and embedder level. # Sets -dV8_ENABLE_MAGLEV
'v8_enable_raw_heap_snapshots%': 0, 'v8_enable_maglev%': 0,
# With post mortem support enabled, metadata is embedded into libv8 that # With post mortem support enabled, metadata is embedded into libv8 that
# describes various parameters of the VM for use by debuggers. See # describes various parameters of the VM for use by debuggers. See
@ -179,9 +179,6 @@
# Controls the threshold for on-heap/off-heap Typed Arrays. # Controls the threshold for on-heap/off-heap Typed Arrays.
'v8_typed_array_max_size_in_heap%': 64, 'v8_typed_array_max_size_in_heap%': 64,
# Enable minor mark compact.
'v8_enable_minor_mc%': 1,
# Enable lazy source positions by default. # Enable lazy source positions by default.
'v8_enable_lazy_source_positions%': 1, 'v8_enable_lazy_source_positions%': 1,
@ -217,26 +214,50 @@
# Sets -DV8_COMPRESS_ZONES. # Sets -DV8_COMPRESS_ZONES.
'v8_enable_zone_compression%': 0, 'v8_enable_zone_compression%': 0,
# Enable the experimental V8 sandbox.
# Sets -DV8_SANDBOX.
'v8_enable_sandbox%': 0,
# Enable external pointer sandboxing. Requires v8_enable_sandbox.
# Sets -DV8_SANDBOXED_EXTERNAL_POINRTERS.
'v8_enable_sandboxed_external_pointers%': 0,
# Enable sandboxed pointers. Requires v8_enable_sandbox.
# Sets -DV8_SANDBOXED_POINTERS.
'v8_enable_sandboxed_pointers%': 0,
# Experimental feature for collecting per-class zone memory stats. # Experimental feature for collecting per-class zone memory stats.
# Requires use_rtti = true # Requires use_rtti = true
'v8_enable_precise_zone_stats%': 0, 'v8_enable_precise_zone_stats%': 0,
# Experimental feature that uses SwissNameDictionary instead of NameDictionary
# as the backing store for all dictionary mode objects.
'v8_enable_swiss_name_dictionary%': 0,
# Experimental feature for tracking constness of properties in non-global # Experimental feature for tracking constness of properties in non-global
# dictionaries. Enabling this also always keeps prototypes in dict mode, # dictionaries. Enabling this also always keeps prototypes in dict mode,
# meaning that they are not switched to fast mode. # meaning that they are not switched to fast mode.
# Sets -DV8_DICT_PROPERTY_CONST_TRACKING # Sets -DV8_DICT_PROPERTY_CONST_TRACKING
'v8_dict_property_const_tracking%': 0, 'v8_dict_property_const_tracking%': 0,
# Allow for JS promise hooks (instead of just C++).
'v8_enable_javascript_promise_hooks%': 0,
# Enable allocation folding globally (sets -dV8_ALLOCATION_FOLDING). # Enable allocation folding globally (sets -dV8_ALLOCATION_FOLDING).
# When it's disabled, the --turbo-allocation-folding runtime flag will be ignored. # When it's disabled, the --turbo-allocation-folding runtime flag will be ignored.
'v8_enable_allocation_folding%': 1, 'v8_enable_allocation_folding%': 1,
# Enable runtime verification of heap snapshots produced for devtools.
'v8_enable_heap_snapshot_verify%': 0,
# Enable global allocation site tracking. # Enable global allocation site tracking.
'v8_allocation_site_tracking%': 1, 'v8_allocation_site_tracking%': 1,
'v8_scriptormodule_legacy_lifetime%': 1, 'v8_scriptormodule_legacy_lifetime%': 1,
'v8_include_receiver_in_argc%': 1, # Change code emission and runtime features to be CET shadow-stack compliant
# (incomplete and experimental).
'v8_enable_cet_shadow_stack%': 0,
# Variables from v8.gni # Variables from v8.gni
@ -270,9 +291,6 @@
['v8_promise_internal_field_count!=0', { ['v8_promise_internal_field_count!=0', {
'defines': ['V8_PROMISE_INTERNAL_FIELD_COUNT=<(v8_promise_internal_field_count)'], 'defines': ['V8_PROMISE_INTERNAL_FIELD_COUNT=<(v8_promise_internal_field_count)'],
}], }],
['v8_enable_raw_heap_snapshots==1', {
'defines': ['V8_ENABLE_RAW_HEAP_SNAPSHOTS',],
}],
['v8_enable_future==1', { ['v8_enable_future==1', {
'defines': ['V8_ENABLE_FUTURE',], 'defines': ['V8_ENABLE_FUTURE',],
}], }],
@ -285,9 +303,6 @@
['v8_enable_hugepage==1', { ['v8_enable_hugepage==1', {
'defines': ['ENABLE_HUGEPAGE',], 'defines': ['ENABLE_HUGEPAGE',],
}], }],
['v8_enable_minor_mc==1', {
'defines': ['ENABLE_MINOR_MC',],
}],
['v8_enable_pointer_compression==1', { ['v8_enable_pointer_compression==1', {
'defines': [ 'defines': [
'V8_COMPRESS_POINTERS', 'V8_COMPRESS_POINTERS',
@ -303,6 +318,15 @@
['v8_enable_zone_compression==1', { ['v8_enable_zone_compression==1', {
'defines': ['V8_COMPRESS_ZONES',], 'defines': ['V8_COMPRESS_ZONES',],
}], }],
['v8_enable_sandbox==1', {
'defines': ['V8_SANDBOX',],
}],
['v8_enable_sandboxed_pointers==1', {
'defines': ['V8_SANDBOXED_POINTERS',],
}],
['v8_enable_sandboxed_external_pointers==1', {
'defines': ['V8_SANDBOXED_EXTERNAL_POINTERS',],
}],
['v8_enable_object_print==1', { ['v8_enable_object_print==1', {
'defines': ['OBJECT_PRINT',], 'defines': ['OBJECT_PRINT',],
}], }],
@ -348,6 +372,9 @@
# ['v8_enable_handle_zapping==1', { # ['v8_enable_handle_zapping==1', {
# 'defines': ['ENABLE_HANDLE_ZAPPING',], # 'defines': ['ENABLE_HANDLE_ZAPPING',],
# }], # }],
['v8_enable_heap_snapshot_verify==1', {
'defines': ['V8_ENABLE_HEAP_SNAPSHOT_VERIFY',],
}],
['v8_enable_snapshot_native_code_counters==1', { ['v8_enable_snapshot_native_code_counters==1', {
'defines': ['V8_SNAPSHOT_NATIVE_CODE_COUNTERS',], 'defines': ['V8_SNAPSHOT_NATIVE_CODE_COUNTERS',],
}], }],
@ -390,9 +417,18 @@
['v8_control_flow_integrity==1', { ['v8_control_flow_integrity==1', {
'defines': ['V8_ENABLE_CONTROL_FLOW_INTEGRITY',], 'defines': ['V8_ENABLE_CONTROL_FLOW_INTEGRITY',],
}], }],
['v8_enable_cet_shadow_stack==1', {
'defines': ['V8_ENABLE_CET_SHADOW_STACK',],
}],
['v8_enable_precise_zone_stats==1', { ['v8_enable_precise_zone_stats==1', {
'defines': ['V8_ENABLE_PRECISE_ZONE_STATS',], 'defines': ['V8_ENABLE_PRECISE_ZONE_STATS',],
}], }],
['v8_enable_maglev==1', {
'defines': ['V8_ENABLE_MAGLEV',],
}],
['v8_enable_swiss_name_dictionary==1', {
'defines': ['V8_ENABLE_SWISS_NAME_DICTIONARY',],
}],
['v8_enable_system_instrumentation==1', { ['v8_enable_system_instrumentation==1', {
'defines': ['V8_ENABLE_SYSTEM_INSTRUMENTATION',], 'defines': ['V8_ENABLE_SYSTEM_INSTRUMENTATION',],
}], }],
@ -402,6 +438,9 @@
['v8_dict_property_const_tracking==1', { ['v8_dict_property_const_tracking==1', {
'defines': ['V8_DICT_PROPERTY_CONST_TRACKING',], 'defines': ['V8_DICT_PROPERTY_CONST_TRACKING',],
}], }],
['v8_enable_javascript_promise_hooks==1', {
'defines': ['V8_ENABLE_JAVASCRIPT_PROMISE_HOOKS',],
}],
['v8_enable_allocation_folding==1', { ['v8_enable_allocation_folding==1', {
'defines': ['V8_ALLOCATION_FOLDING',], 'defines': ['V8_ALLOCATION_FOLDING',],
}], }],
@ -414,9 +453,6 @@
['v8_advanced_bigint_algorithms==1', { ['v8_advanced_bigint_algorithms==1', {
'defines': ['V8_ADVANCED_BIGINT_ALGORITHMS',], 'defines': ['V8_ADVANCED_BIGINT_ALGORITHMS',],
}], }],
['v8_include_receiver_in_argc==1', {
'defines': ['V8_INCLUDE_RECEIVER_IN_ARGC',],
}],
], # conditions ], # conditions
'defines': [ 'defines': [
'V8_GYP_BUILD', 'V8_GYP_BUILD',

View File

@ -120,7 +120,6 @@
'<(inspector_protocol_path)/crdtp/protocol_core.h', '<(inspector_protocol_path)/crdtp/protocol_core.h',
'<(inspector_protocol_path)/crdtp/serializable.cc', '<(inspector_protocol_path)/crdtp/serializable.cc',
'<(inspector_protocol_path)/crdtp/serializable.h', '<(inspector_protocol_path)/crdtp/serializable.h',
'<(inspector_protocol_path)/crdtp/serializer_traits.h',
'<(inspector_protocol_path)/crdtp/span.cc', '<(inspector_protocol_path)/crdtp/span.cc',
'<(inspector_protocol_path)/crdtp/span.h', '<(inspector_protocol_path)/crdtp/span.h',
'<(inspector_protocol_path)/crdtp/status.cc', '<(inspector_protocol_path)/crdtp/status.cc',
@ -166,6 +165,7 @@
'--jinja_dir', '<(V8_ROOT)/third_party', '--jinja_dir', '<(V8_ROOT)/third_party',
'--output_base', '<(inspector_generated_output_root)/src/inspector', '--output_base', '<(inspector_generated_output_root)/src/inspector',
'--config', '<(inspector_path)/inspector_protocol_config.json', '--config', '<(inspector_path)/inspector_protocol_config.json',
'--config_value', 'protocol.path=<(v8_inspector_js_protocol)',
'--inspector_protocol_dir', '<(inspector_protocol_path)', '--inspector_protocol_dir', '<(inspector_protocol_path)',
], ],
'message': 'Generating inspector protocol sources from protocol json', 'message': 'Generating inspector protocol sources from protocol json',

View File

@ -1008,7 +1008,7 @@
['OS=="mac"', { ['OS=="mac"', {
'defines': [ 'defines': [
'V8_HAVE_TARGET_OS', 'V8_HAVE_TARGET_OS',
'V8_TARGET_OS_MACOSX', 'V8_TARGET_OS_MACOS',
] ]
}], }],
['OS=="win"', { ['OS=="win"', {

View File

@ -477,7 +477,7 @@
'toolsets': ['host', 'target'], 'toolsets': ['host', 'target'],
'dependencies': [ 'dependencies': [
'v8_config_headers', 'v8_config_headers',
'cppgc_headers', 'v8_heap_base_headers',
'v8_version', 'v8_version',
], ],
'direct_dependent_settings': { 'direct_dependent_settings': {
@ -529,7 +529,7 @@
'v8_headers', 'v8_headers',
'v8_maybe_icu', 'v8_maybe_icu',
'v8_shared_internal_headers', 'v8_shared_internal_headers',
'cppgc_headers', 'v8_heap_base_headers',
'generate_bytecode_builtins_list', 'generate_bytecode_builtins_list',
'run_torque', 'run_torque',
'v8_libbase', 'v8_libbase',
@ -539,6 +539,11 @@
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?sources = ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?sources = ")',
], ],
'conditions': [ 'conditions': [
['v8_enable_maglev==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_maglev.*?sources \\+= ")',
],
}],
['v8_enable_webassembly==1', { ['v8_enable_webassembly==1', {
'sources': [ 'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_webassembly.*?sources \\+= ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_webassembly.*?sources \\+= ")',
@ -554,6 +559,11 @@
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?!v8_control_flow_integrity.*?sources \\+= ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?!v8_control_flow_integrity.*?sources \\+= ")',
], ],
}], }],
['v8_enable_heap_snapshot_verify==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_heap_snapshot_verify.*?sources \\+= ")',
],
}],
['v8_target_arch=="ia32"', { ['v8_target_arch=="ia32"', {
'sources': [ 'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x86\\".*?sources \\+= ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x86\\".*?sources \\+= ")',
@ -745,8 +755,8 @@
'dependencies': [ 'dependencies': [
'torque_generated_definitions', 'torque_generated_definitions',
'v8_bigint', 'v8_bigint',
'v8_cppgc_shared',
'v8_headers', 'v8_headers',
'v8_heap_base',
'v8_libbase', 'v8_libbase',
'v8_shared_internal_headers', 'v8_shared_internal_headers',
'v8_version', 'v8_version',
@ -779,11 +789,21 @@
'<(V8_ROOT)/src/heap/third-party/heap-api-stub.cc', '<(V8_ROOT)/src/heap/third-party/heap-api-stub.cc',
], ],
}], }],
['v8_enable_maglev==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_base_without_compiler.*?v8_enable_maglev.*?sources \\+= ")',
],
}],
['v8_enable_webassembly==1', { ['v8_enable_webassembly==1', {
'sources': [ 'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_base_without_compiler.*?v8_enable_webassembly.*?sources \\+= ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_base_without_compiler.*?v8_enable_webassembly.*?sources \\+= ")',
], ],
}], }],
['v8_enable_heap_snapshot_verify==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_base_without_compiler.*?v8_enable_heap_snapshot_verify.*?sources \\+= ")',
],
}],
['v8_target_arch=="ia32"', { ['v8_target_arch=="ia32"', {
'sources': [ 'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x86.*?sources \\+= ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x86.*?sources \\+= ")',
@ -1128,6 +1148,7 @@
['OS == "mac" or OS == "ios"', { ['OS == "mac" or OS == "ios"', {
'sources': [ 'sources': [
'<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
'<(V8_ROOT)/src/base/platform/platform-darwin.cc',
'<(V8_ROOT)/src/base/platform/platform-macos.cc', '<(V8_ROOT)/src/base/platform/platform-macos.cc',
] ]
}], }],
@ -1525,15 +1546,15 @@
], ],
}, # run_gen-regexp-special-case }, # run_gen-regexp-special-case
{ {
'target_name': 'cppgc_headers', 'target_name': 'v8_heap_base_headers',
'type': 'none', 'type': 'none',
'toolsets': ['host', 'target'], 'toolsets': ['host', 'target'],
'direct_dependent_settings': { 'direct_dependent_settings': {
'sources': [ 'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"cppgc_headers.*?sources = ")', '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_source_set.\\"v8_heap_base_headers.*?sources = ")',
], ],
}, },
}, # cppgc_headers }, # v8_heap_base_headers
{ {
'target_name': 'cppgc_base', 'target_name': 'cppgc_base',
'type': 'none', 'type': 'none',
@ -1562,15 +1583,14 @@
}, },
}, # v8_bigint }, # v8_bigint
{ {
'target_name': 'v8_cppgc_shared', 'target_name': 'v8_heap_base',
'type': 'none', 'type': 'none',
'toolsets': ['host', 'target'], 'toolsets': ['host', 'target'],
'direct_dependent_settings': { 'direct_dependent_settings': {
'sources': [ 'sources': [
'<(V8_ROOT)/src/heap/base/active-system-pages.cc',
'<(V8_ROOT)/src/heap/base/stack.cc', '<(V8_ROOT)/src/heap/base/stack.cc',
'<(V8_ROOT)/src/heap/base/stack.h',
'<(V8_ROOT)/src/heap/base/worklist.cc', '<(V8_ROOT)/src/heap/base/worklist.cc',
'<(V8_ROOT)/src/heap/base/worklist.h',
], ],
'conditions': [ 'conditions': [
['enable_lto=="true"', { ['enable_lto=="true"', {
@ -1651,7 +1671,7 @@
}], }],
], ],
}, },
}, # v8_cppgc_shared }, # v8_heap_base
############################################################################### ###############################################################################
# Public targets # Public targets