File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 8080 'v8_enable_direct_local%' : 0 ,
8181 'v8_enable_map_packing%' : 0 ,
8282 'v8_enable_pointer_compression_shared_cage%' : 0 ,
83+ 'v8_enable_external_code_space%' : 0 ,
8384 'v8_enable_sandbox%' : 0 ,
8485 'v8_enable_v8_checks%' : 0 ,
8586 'v8_enable_zone_compression%' : 0 ,
114115 'v8_enable_pointer_compression' : 0 ,
115116 'v8_enable_pointer_compression_shared_cage' : 0 ,
116117 'v8_enable_31bit_smis_on_64bit_arch' : 0 ,
118+ 'v8_enable_external_code_space' : 0 ,
117119 'v8_enable_sandbox' : 0
118120 }],
119121 ['target_arch in "ppc64 s390x"' , {
424426 ['v8_enable_sandbox == 1' , {
425427 'defines' : ['V8_ENABLE_SANDBOX' ,],
426428 }],
429+ ['v8_enable_external_code_space == 1' , {
430+ 'defines' : ['V8_EXTERNAL_CODE_SPACE' ,],
431+ }],
427432 ['v8_deprecation_warnings == 1' , {
428433 'defines' : ['V8_DEPRECATION_WARNINGS' ,],
429434 }],
Original file line number Diff line number Diff line change @@ -1608,7 +1608,15 @@ def configure_v8(o):
16081608 o ['variables' ]['v8_use_siphash' ] = 0 if options .without_siphash else 1
16091609 o ['variables' ]['v8_enable_maglev' ] = 1 if options .v8_enable_maglev else 0
16101610 o ['variables' ]['v8_enable_pointer_compression' ] = 1 if options .enable_pointer_compression else 0
1611- o ['variables' ]['v8_enable_sandbox' ] = 1 if options .enable_pointer_compression else 0
1611+ # Using the sandbox requires always allocating array buffer backing stores in the sandbox.
1612+ # We currently have many backing stores tied to pointers from C++ land that are not
1613+ # even necessarily dynamic (e.g. in static storage) for fast communication between JS and C++.
1614+ # Until we manage to get rid of all those, v8_enable_sandbox cannot be used.
1615+ # Note that enabling pointer compression without enabling sandbox is unsupported by V8,
1616+ # so this can be broken at any time.
1617+ o ['variables' ]['v8_enable_sandbox' ] = 0
1618+ o ['variables' ]['v8_enable_pointer_compression_shared_cage' ] = 1 if options .enable_pointer_compression else 0
1619+ o ['variables' ]['v8_enable_external_code_space' ] = 1 if options .enable_pointer_compression else 0
16121620 o ['variables' ]['v8_enable_31bit_smis_on_64bit_arch' ] = 1 if options .enable_pointer_compression else 0
16131621 o ['variables' ]['v8_enable_shared_ro_heap' ] = 0 if options .enable_pointer_compression or options .disable_shared_ro_heap else 1
16141622 o ['variables' ]['v8_enable_extensible_ro_snapshot' ] = 0
Original file line number Diff line number Diff line change @@ -20,9 +20,6 @@ void NodeTestEnvironment::SetUp() {
2020 NodeZeroIsolateTestFixture::platform.reset (
2121 new node::NodePlatform (kV8ThreadPoolSize , tracing_controller));
2222 v8::V8::InitializePlatform (NodeZeroIsolateTestFixture::platform.get ());
23- #ifdef V8_ENABLE_SANDBOX
24- ASSERT_TRUE (v8::V8::InitializeSandbox ());
25- #endif
2623 cppgc::InitializeProcess (
2724 NodeZeroIsolateTestFixture::platform->GetPageAllocator ());
2825
Original file line number Diff line number Diff line change 253253 # Sets -DV8_ENABLE_SANDBOX.
254254 'v8_enable_sandbox%' : 0 ,
255255
256+ # Enable support for external code range relative to the pointer compression
257+ # cage.
258+ # Sets -DV8_EXTERNAL_CODE_SPACE.
259+ 'v8_enable_external_code_space%' : 0 ,
260+
256261 # Experimental feature for collecting per-class zone memory stats.
257262 # Requires use_rtti = true
258263 'v8_enable_precise_zone_stats%' : 0 ,
371376 ['v8_enable_sandbox==1' , {
372377 'defines' : ['V8_ENABLE_SANDBOX' ,],
373378 }],
379+ ['v8_enable_external_code_space==1' , {
380+ 'defines' : ['V8_EXTERNAL_CODE_SPACE' ,],
381+ }],
374382 ['v8_enable_object_print==1' , {
375383 'defines' : ['OBJECT_PRINT' ,],
376384 }],
You canβt perform that action at this time.
0 commit comments