GeezerVison is showing github.com — build: fix pointer compression builds · nodejs/node@db7f413
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: common.gypi +5Lines changed: 5 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 82 | 82 | 'v8_enable_direct_local%': 0, | 83 | 83 | 'v8_enable_map_packing%': 0, | 84 | 84 | 'v8_enable_pointer_compression_shared_cage%': 0, | | 85 | + 'v8_enable_external_code_space%': 0, | 85 | 86 | 'v8_enable_sandbox%': 0, | 86 | 87 | 'v8_enable_v8_checks%': 0, | 87 | 88 | 'v8_enable_zone_compression%': 0, | | 115 | 116 | ['target_arch in "arm ia32 mips mipsel"', { | 116 | 117 | 'v8_enable_pointer_compression': 0, | 117 | 118 | 'v8_enable_31bit_smis_on_64bit_arch': 0, | | 119 | + 'v8_enable_external_code_space': 0, | 118 | 120 | 'v8_enable_sandbox': 0 | 119 | 121 | }], | 120 | 122 | ['target_arch in "ppc64 s390x"', { | | 458 | 460 | ['v8_enable_sandbox == 1', { | 459 | 461 | 'defines': ['V8_ENABLE_SANDBOX',], | 460 | 462 | }], | | 463 | + ['v8_enable_external_code_space == 1', { | | 464 | + 'defines': ['V8_EXTERNAL_CODE_SPACE',], | | 465 | + }], | 461 | 466 | ['v8_deprecation_warnings == 1', { | 462 | 467 | 'defines': ['V8_DEPRECATION_WARNINGS',], | 463 | 468 | }], | |
Collapse file Copy file name to clipboardExpand all lines: configure.py +9-1Lines changed: 9 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -1718,7 +1718,15 @@ def configure_v8(o, configs): | 1718 | 1718 | o['variables']['v8_enable_maglev'] = B(not options.v8_disable_maglev and | 1719 | 1719 | o['variables']['target_arch'] in maglev_enabled_architectures) | 1720 | 1720 | o['variables']['v8_enable_pointer_compression'] = 1 if options.enable_pointer_compression else 0 | 1721 | | - o['variables']['v8_enable_sandbox'] = 1 if options.enable_pointer_compression else 0 | | 1721 | + # Using the sandbox requires always allocating array buffer backing stores in the sandbox. | | 1722 | + # We currently have many backing stores tied to pointers from C++ land that are not | | 1723 | + # even necessarily dynamic (e.g. in static storage) for fast communication between JS and C++. | | 1724 | + # Until we manage to get rid of all those, v8_enable_sandbox cannot be used. | | 1725 | + # Note that enabling pointer compression without enabling sandbox is unsupported by V8, | | 1726 | + # so this can be broken at any time. | | 1727 | + o['variables']['v8_enable_sandbox'] = 0 | | 1728 | + o['variables']['v8_enable_pointer_compression_shared_cage'] = 1 if options.enable_pointer_compression else 0 | | 1729 | + o['variables']['v8_enable_external_code_space'] = 1 if options.enable_pointer_compression else 0 | 1722 | 1730 | o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0 | 1723 | 1731 | o['variables']['v8_enable_extensible_ro_snapshot'] = 0 | 1724 | 1732 | o['variables']['v8_trace_maps'] = 1 if options.trace_maps else 0 | |
Collapse file Copy file name to clipboardExpand all lines: test/cctest/node_test_fixture.cc -3Lines changed: 0 additions & 3 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -21,9 +21,6 @@ void NodeTestEnvironment::SetUp() { | 21 | 21 | NodeZeroIsolateTestFixture::platform.reset( | 22 | 22 | new node::NodePlatform(kV8ThreadPoolSize, tracing_controller)); | 23 | 23 | v8::V8::InitializePlatform(NodeZeroIsolateTestFixture::platform.get()); | 24 | | -#ifdef V8_ENABLE_SANDBOX | 25 | | - ASSERT_TRUE(v8::V8::InitializeSandbox()); | 26 | | -#endif | 27 | 24 | cppgc::InitializeProcess( | 28 | 25 | NodeZeroIsolateTestFixture::platform->GetPageAllocator()); | 29 | 26 |
| |
Collapse file Copy file name to clipboardExpand all lines: tools/v8_gypfiles/features.gypi +8Lines changed: 8 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 248 | 248 | # Sets -DV8_ENABLE_SANDBOX. | 249 | 249 | 'v8_enable_sandbox%': 0, | 250 | 250 |
| | 251 | + # Enable support for external code range relative to the pointer compression | | 252 | + # cage. | | 253 | + # Sets -DV8_EXTERNAL_CODE_SPACE. | | 254 | + 'v8_enable_external_code_space%': 0, | | 255 | + | 251 | 256 | # Experimental feature for collecting per-class zone memory stats. | 252 | 257 | # Requires use_rtti = true | 253 | 258 | 'v8_enable_precise_zone_stats%': 0, | | 380 | 385 | ['v8_enable_sandbox==1', { | 381 | 386 | 'defines': ['V8_ENABLE_SANDBOX',], | 382 | 387 | }], | | 388 | + ['v8_enable_external_code_space==1', { | | 389 | + 'defines': ['V8_EXTERNAL_CODE_SPACE',], | | 390 | + }], | 383 | 391 | ['v8_enable_object_print==1', { | 384 | 392 | 'defines': ['OBJECT_PRINT',], | 385 | 393 | }], | |
|