nodejs-23.5.0-split-pointer-compression-and-v8-sandbox-options.patch 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. diff '--color=auto' -urp node-v23.6.0.orig/configure.py node-v23.6.0/configure.py
  2. --- node-v23.6.0.orig/configure.py 2025-01-14 08:05:55.696152004 -0800
  3. +++ node-v23.6.0/configure.py 2025-01-14 08:15:15.332045441 -0800
  4. @@ -612,6 +612,12 @@ parser.add_argument('--experimental-enab
  5. default=None,
  6. help='[Experimental] Enable V8 pointer compression (limits max heap to 4GB and breaks ABI compatibility)')
  7. +parser.add_argument('--experimental-enable-v8-sandbox',
  8. + action='store_true',
  9. + dest='enable_v8_sandbox',
  10. + default=None,
  11. + help='[Experimental] Enable V8 sandbox')
  12. +
  13. parser.add_argument('--disable-shared-readonly-heap',
  14. action='store_true',
  15. dest='disable_shared_ro_heap',
  16. @@ -1702,7 +1708,10 @@ def configure_v8(o, configs):
  17. o['variables']['v8_enable_maglev'] = B(not options.v8_disable_maglev and
  18. o['variables']['target_arch'] in maglev_enabled_architectures)
  19. o['variables']['v8_enable_pointer_compression'] = 1 if options.enable_pointer_compression else 0
  20. - o['variables']['v8_enable_sandbox'] = 1 if options.enable_pointer_compression else 0
  21. + if options.enable_v8_sandbox and not options.enable_pointer_compression:
  22. + raise Exception(
  23. + '--experimental-enable-v8-sandbox needs --experimental-enable-pointer-compression')
  24. + o['variables']['v8_enable_sandbox'] = 1 if options.enable_v8_sandbox else 0
  25. o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0
  26. o['variables']['v8_enable_shared_ro_heap'] = 0 if options.enable_pointer_compression or options.disable_shared_ro_heap else 1
  27. o['variables']['v8_enable_extensible_ro_snapshot'] = 0
  28. diff '--color=auto' -urp node-v23.6.0.orig/test/cctest/node_test_fixture.cc node-v23.6.0/test/cctest/node_test_fixture.cc
  29. --- node-v23.6.0.orig/test/cctest/node_test_fixture.cc 2025-01-07 05:00:24.000000000 -0800
  30. +++ node-v23.6.0/test/cctest/node_test_fixture.cc 2025-01-14 08:18:39.642549677 -0800
  31. @@ -20,9 +20,6 @@ void NodeTestEnvironment::SetUp() {
  32. NodeZeroIsolateTestFixture::platform.reset(
  33. new node::NodePlatform(kV8ThreadPoolSize, tracing_controller));
  34. v8::V8::InitializePlatform(NodeZeroIsolateTestFixture::platform.get());
  35. -#ifdef V8_ENABLE_SANDBOX
  36. - ASSERT_TRUE(v8::V8::InitializeSandbox());
  37. -#endif
  38. cppgc::InitializeProcess(
  39. NodeZeroIsolateTestFixture::platform->GetPageAllocator());