diff '--color=auto' -urp node-v23.6.0.orig/configure.py node-v23.6.0/configure.py
--- node-v23.6.0.orig/configure.py	2025-01-14 18:07:23.098388811 -0800
+++ node-v23.6.0/configure.py	2025-01-14 18:09:33.349529083 -0800
@@ -939,9 +939,9 @@ parser.add_argument('--v8-with-dchecks',
     default=False,
     help='compile V8 with debug checks and runtime debugging features enabled')
 
-parser.add_argument('--v8-lite-mode',
+parser.add_argument('--v8-enable-lite-mode',
     action='store_true',
-    dest='v8_lite_mode',
+    dest='v8_enable_lite_mode',
     default=False,
     help='compile V8 in lite mode for constrained environments (lowers V8 '+
          'memory footprint, but also implies no just-in-time compilation ' +
@@ -966,13 +966,29 @@ parser.add_argument('--v8-enable-hugepag
     help='Enable V8 transparent hugepage support. This feature is only '+
          'available on Linux platform.')
 
-maglev_enabled_by_default_help = f"(Maglev is enabled by default on {','.join(maglev_enabled_architectures)})"
+parser.add_argument('--v8-enable-turbofan',
+    action='store_true',
+    dest='v8_enable_turbofan',
+    default=None,
+    help="Enable V8's turbofan tier.")
+
+parser.add_argument('--v8-enable-sparkplug',
+    action='store_true',
+    dest='v8_enable_sparkplug',
+    default=None,
+    help="Enable V8's sparkplug tier.")
+
+parser.add_argument('--v8-enable-maglev',
+    action='store_true',
+    dest='v8_enable_maglev',
+    default=None,
+    help="Enable V8's Maglev tier.")
 
-parser.add_argument('--v8-disable-maglev',
+parser.add_argument('--v8-enable-drumbrake',
     action='store_true',
-    dest='v8_disable_maglev',
+    dest='v8_enable_drumbrake',
     default=None,
-    help=f"Disable V8's Maglev compiler. {maglev_enabled_by_default_help}")
+    help="Enable V8's drumbrake security hardening for WebAssembly.")
 
 parser.add_argument('--v8-enable-short-builtin-calls',
     action='store_true',
@@ -1695,9 +1717,10 @@ def configure_library(lib, output, pkgna
 def configure_v8(o, configs):
   set_configuration_variable(configs, 'v8_enable_v8_checks', release=1, debug=0)
 
-  o['variables']['v8_enable_webassembly'] = 0 if options.v8_lite_mode else 1
+  o['variables']['v8_enable_webassembly'] = 0 if options.v8_enable_lite_mode else 1
+  o['variables']['v8_enable_drumbrake'] = 1 if options.v8_enable_drumbrake else 0
   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_enable_lite_mode else 0
   o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
   o['variables']['v8_optimized_debug'] = 0 if options.v8_non_optimized_debug else 1
   o['variables']['dcheck_always_on'] = 1 if options.v8_with_dchecks else 0
@@ -1705,12 +1728,21 @@ def configure_v8(o, configs):
   o['variables']['v8_random_seed'] = 0  # Use a random seed for hash tables.
   o['variables']['v8_promise_internal_field_count'] = 1 # Add internal field to promises for async hooks.
   o['variables']['v8_use_siphash'] = 0 if options.without_siphash else 1
-  o['variables']['v8_enable_maglev'] = B(not options.v8_disable_maglev and
-                                         o['variables']['target_arch'] in maglev_enabled_architectures)
+  o['variables']['v8_enable_turbofan'] = 1 if options.v8_enable_turbofan else 0
+  o['variables']['v8_enable_sparkplug'] = 1 if options.v8_enable_sparkplug else 0
+  o['variables']['v8_enable_maglev'] = 1 if options.v8_enable_maglev else 0
+  if not o['variables']['target_arch'] in maglev_enabled_architectures:
+    o['variables']['v8_enable_maglev'] = 0
   o['variables']['v8_enable_pointer_compression'] = 1 if options.enable_pointer_compression else 0
   if options.enable_v8_sandbox and not options.enable_pointer_compression:
     raise Exception(
         '--experimental-enable-v8-sandbox needs --experimental-enable-pointer-compression')
+  if options.v8_enable_lite_mode:
+    o['variables']['v8_enable_webassembly'] = 0
+    o['variables']['v8_enable_turbofan'] = 0
+    o['variables']['v8_enable_sparkplug'] = 0
+    o['variables']['v8_enable_maglev'] = 0
+    o['variables']['v8_enable_gdbjit'] = 0
   o['variables']['v8_enable_sandbox'] = 1 if options.enable_v8_sandbox else 0
   o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0
   o['variables']['v8_enable_shared_ro_heap'] = 0 if options.enable_pointer_compression or options.disable_shared_ro_heap else 1
