Skip to content

Commit

Permalink
v8,tools: expose experimental wasm revectorize feature
Browse files Browse the repository at this point in the history
PR-URL: nodejs#54896
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: James M Snell <[email protected]>
  • Loading branch information
yolanda15 authored Dec 7, 2024
1 parent 6e42433 commit b5056be
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 1 deletion.
3 changes: 3 additions & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1685,6 +1685,9 @@ def configure_v8(o, configs):
raise Exception(
'Only one of the --v8-enable-object-print or --v8-disable-object-print options '
'can be specified at a time.')
if sys.platform != 'darwin':
if o['variables']['v8_enable_webassembly'] and o['variables']['target_arch'] == 'x64':
o['variables']['v8_enable_wasm_simd256_revec'] = 1

def configure_openssl(o):
variables = o['variables']
Expand Down
8 changes: 7 additions & 1 deletion tools/v8_gypfiles/features.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,10 @@

# Enable advanced BigInt algorithms, costing about 10-30 KiB binary size
# depending on platform.
'v8_advanced_bigint_algorithms%': 1
'v8_advanced_bigint_algorithms%': 1,

# Enable 256-bit long vector re-vectorization pass in WASM compilation pipeline.
'v8_enable_wasm_simd256_revec%' : 0
},

'target_defaults': {
Expand Down Expand Up @@ -541,6 +544,9 @@
['v8_advanced_bigint_algorithms==1', {
'defines': ['V8_ADVANCED_BIGINT_ALGORITHMS',],
}],
['v8_enable_wasm_simd256_revec==1', {
'defines': ['V8_ENABLE_WASM_SIMD256_REVEC',],
}],
], # conditions
'defines': [
'V8_GYP_BUILD',
Expand Down
10 changes: 10 additions & 0 deletions tools/v8_gypfiles/v8.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,11 @@
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_webassembly.*?sources \\+= ")',
],
}],
['v8_enable_wasm_simd256_revec==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_wasm_simd256_revec.*?sources \\+= ")',
],
}],
['v8_enable_i18n_support==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_i18n_support.*?sources \\+= ")',
Expand Down Expand Up @@ -882,6 +887,11 @@
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_compiler_sources =.*?v8_enable_webassembly.*?v8_compiler_sources \\+= ")',
],
}],
['v8_enable_wasm_simd256_revec==1', {
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_compiler_sources =.*?v8_enable_wasm_simd256_revec.*?v8_compiler_sources \\+= ")',
],
}],
],
}
}, # v8_compiler_sources
Expand Down

0 comments on commit b5056be

Please sign in to comment.