File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 8282 'v8_enable_direct_local%' : 0 ,
8383 'v8_enable_map_packing%' : 0 ,
8484 'v8_enable_pointer_compression_shared_cage%' : 0 ,
85+ 'v8_enable_external_code_space%' : 0 ,
8586 'v8_enable_sandbox%' : 0 ,
8687 'v8_enable_v8_checks%' : 0 ,
8788 'v8_enable_zone_compression%' : 0 ,
115116 ['target_arch in "arm ia32 mips mipsel"' , {
116117 'v8_enable_pointer_compression' : 0 ,
117118 'v8_enable_31bit_smis_on_64bit_arch' : 0 ,
119+ 'v8_enable_external_code_space' : 0 ,
118120 'v8_enable_sandbox' : 0
119121 }],
120122 ['target_arch in "ppc64 s390x"' , {
455457 ['v8_enable_sandbox == 1' , {
456458 'defines' : ['V8_ENABLE_SANDBOX' ,],
457459 }],
460+ ['v8_enable_external_code_space == 1' , {
461+ 'defines' : ['V8_EXTERNAL_CODE_SPACE' ,],
462+ }],
458463 ['v8_deprecation_warnings == 1' , {
459464 'defines' : ['V8_DEPRECATION_WARNINGS' ,],
460465 }],
Original file line number Diff line number Diff line change @@ -1712,7 +1712,15 @@ def configure_v8(o, configs):
17121712 o ['variables' ]['v8_enable_maglev' ] = B (not options .v8_disable_maglev and
17131713 o ['variables' ]['target_arch' ] in maglev_enabled_architectures )
17141714 o ['variables' ]['v8_enable_pointer_compression' ] = 1 if options .enable_pointer_compression else 0
1715- o ['variables' ]['v8_enable_sandbox' ] = 1 if options .enable_pointer_compression else 0
1715+ # Using the sandbox requires always allocating array buffer backing stores in the sandbox.
1716+ # We currently have many backing stores tied to pointers from C++ land that are not
1717+ # even necessarily dynamic (e.g. in static storage) for fast communication between JS and C++.
1718+ # Until we manage to get rid of all those, v8_enable_sandbox cannot be used.
1719+ # Note that enabling pointer compression without enabling sandbox is unsupported by V8,
1720+ # so this can be broken at any time.
1721+ o ['variables' ]['v8_enable_sandbox' ] = 0
1722+ o ['variables' ]['v8_enable_pointer_compression_shared_cage' ] = 1 if options .enable_pointer_compression else 0
1723+ o ['variables' ]['v8_enable_external_code_space' ] = 1 if options .enable_pointer_compression else 0
17161724 o ['variables' ]['v8_enable_31bit_smis_on_64bit_arch' ] = 1 if options .enable_pointer_compression else 0
17171725 o ['variables' ]['v8_enable_extensible_ro_snapshot' ] = 0
17181726 o ['variables' ]['v8_trace_maps' ] = 1 if options .trace_maps else 0
Original file line number Diff line number Diff line change @@ -21,9 +21,6 @@ void NodeTestEnvironment::SetUp() {
2121 NodeZeroIsolateTestFixture::platform.reset (
2222 new node::NodePlatform (kV8ThreadPoolSize , tracing_controller));
2323 v8::V8::InitializePlatform (NodeZeroIsolateTestFixture::platform.get ());
24- #ifdef V8_ENABLE_SANDBOX
25- ASSERT_TRUE (v8::V8::InitializeSandbox ());
26- #endif
2724 cppgc::InitializeProcess (
2825 NodeZeroIsolateTestFixture::platform->GetPageAllocator ());
2926
Original file line number Diff line number Diff line change 248248 # Sets -DV8_ENABLE_SANDBOX.
249249 'v8_enable_sandbox%' : 0 ,
250250
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+
251256 # Experimental feature for collecting per-class zone memory stats.
252257 # Requires use_rtti = true
253258 'v8_enable_precise_zone_stats%' : 0 ,
380385 ['v8_enable_sandbox==1' , {
381386 'defines' : ['V8_ENABLE_SANDBOX' ,],
382387 }],
388+ ['v8_enable_external_code_space==1' , {
389+ 'defines' : ['V8_EXTERNAL_CODE_SPACE' ,],
390+ }],
383391 ['v8_enable_object_print==1' , {
384392 'defines' : ['OBJECT_PRINT' ,],
385393 }],
You can’t perform that action at this time.
0 commit comments