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"' , {
458460 ['v8_enable_sandbox == 1' , {
459461 'defines' : ['V8_ENABLE_SANDBOX' ,],
460462 }],
463+ ['v8_enable_external_code_space == 1' , {
464+ 'defines' : ['V8_EXTERNAL_CODE_SPACE' ,],
465+ }],
461466 ['v8_deprecation_warnings == 1' , {
462467 'defines' : ['V8_DEPRECATION_WARNINGS' ,],
463468 }],
Original file line number Diff line number Diff line change @@ -1718,7 +1718,15 @@ def configure_v8(o, configs):
17181718 o ['variables' ]['v8_enable_maglev' ] = B (not options .v8_disable_maglev and
17191719 o ['variables' ]['target_arch' ] in maglev_enabled_architectures )
17201720 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
17221730 o ['variables' ]['v8_enable_31bit_smis_on_64bit_arch' ] = 1 if options .enable_pointer_compression else 0
17231731 o ['variables' ]['v8_enable_extensible_ro_snapshot' ] = 0
17241732 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