Skip to content

Commit a2c1e4b

Browse files
committed
build,src,tools: adapt build config for V8 13.3
Refs: v8/v8@1c9f59c Refs: v8/v8@b1c5eba Refs: v8/v8@b3054f7 Refs: v8/v8@f81e87e Refs: v8/v8@dc0e305 Refs: v8/v8@41d42ce
1 parent 33b5dd9 commit a2c1e4b

File tree

9 files changed

+33
-38
lines changed

9 files changed

+33
-38
lines changed

configure.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -640,12 +640,6 @@
640640
default=None,
641641
help='[Experimental] Enable V8 pointer compression (limits max heap to 4GB and breaks ABI compatibility)')
642642

643-
parser.add_argument('--disable-shared-readonly-heap',
644-
action='store_true',
645-
dest='disable_shared_ro_heap',
646-
default=None,
647-
help='Disable the shared read-only heap feature in V8')
648-
649643
parser.add_argument('--v8-options',
650644
action='store',
651645
dest='v8_options',
@@ -1713,7 +1707,6 @@ def configure_v8(o, configs):
17131707
o['variables']['v8_enable_pointer_compression'] = 1 if options.enable_pointer_compression else 0
17141708
o['variables']['v8_enable_sandbox'] = 1 if options.enable_pointer_compression else 0
17151709
o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0
1716-
o['variables']['v8_enable_shared_ro_heap'] = 0 if options.disable_shared_ro_heap else 1
17171710
o['variables']['v8_enable_extensible_ro_snapshot'] = 0
17181711
o['variables']['v8_trace_maps'] = 1 if options.trace_maps else 0
17191712
o['variables']['node_use_v8_platform'] = b(not options.without_v8_platform)

node.gypi

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,6 @@
9696
'NODE_USE_V8_PLATFORM=0',
9797
],
9898
}],
99-
[ 'v8_enable_shared_ro_heap==1', {
100-
'defines': ['NODE_V8_SHARED_RO_HEAP',],
101-
}],
10299
[ 'node_tag!=""', {
103100
'defines': [ 'NODE_TAG="<(node_tag)"' ],
104101
}],

src/api/embed_helpers.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -347,11 +347,7 @@ EmbedderSnapshotData::EmbedderSnapshotData(const SnapshotData* impl,
347347
: impl_(impl), owns_impl_(owns_impl) {}
348348

349349
bool EmbedderSnapshotData::CanUseCustomSnapshotPerIsolate() {
350-
#ifdef NODE_V8_SHARED_RO_HEAP
351350
return false;
352-
#else
353-
return true;
354-
#endif
355351
}
356352

357353
} // namespace node

src/api/environment.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,17 +308,15 @@ Isolate* NewIsolate(Isolate::CreateParams* params,
308308
SnapshotBuilder::InitializeIsolateParams(snapshot_data, params);
309309
}
310310

311-
#ifdef NODE_V8_SHARED_RO_HEAP
312311
{
313-
// In shared-readonly-heap mode, V8 requires all snapshots used for
314-
// creating Isolates to be identical. This isn't really memory-safe
312+
// Because it uses a shared readonly-heap, V8 requires all snapshots used
313+
// for creating Isolates to be identical. This isn't really memory-safe
315314
// but also otherwise just doesn't work, and the only real alternative
316315
// is disabling shared-readonly-heap mode altogether.
317316
static Isolate::CreateParams first_params = *params;
318317
params->snapshot_blob = first_params.snapshot_blob;
319318
params->external_references = first_params.external_references;
320319
}
321-
#endif
322320

323321
// Register the isolate on the platform before the isolate gets initialized,
324322
// so that the isolate can access the platform during initialization.

src/env.cc

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -826,15 +826,9 @@ Environment::Environment(IsolateData* isolate_data,
826826
thread_id_(thread_id.id == static_cast<uint64_t>(-1)
827827
? AllocateEnvironmentThreadId().id
828828
: thread_id.id) {
829-
constexpr bool is_shared_ro_heap =
830-
#ifdef NODE_V8_SHARED_RO_HEAP
831-
true;
832-
#else
833-
false;
834-
#endif
835-
if (is_shared_ro_heap && !is_main_thread()) {
836-
// If this is a Worker thread and we are in shared-readonly-heap mode,
837-
// we can always safely use the parent's Isolate's code cache.
829+
if (!is_main_thread()) {
830+
// If this is a Worker thread, we can always safely use the parent's
831+
// Isolate's code cache because of the shared read-only heap.
838832
CHECK_NOT_NULL(isolate_data->worker_context());
839833
builtin_loader()->CopySourceAndCodeCacheReferenceFrom(
840834
isolate_data->worker_context()->env()->builtin_loader());

src/node.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -541,8 +541,8 @@ class EmbedderSnapshotData {
541541
void ToFile(FILE* out) const;
542542
std::vector<char> ToBlob() const;
543543

544-
// Returns whether custom snapshots can be used. Currently, this means
545-
// that V8 was configured without the shared-readonly-heap feature.
544+
// Returns whether custom snapshots can be used. Currently, this always
545+
// returns false since V8 enforces shared readonly-heap.
546546
static bool CanUseCustomSnapshotPerIsolate();
547547

548548
EmbedderSnapshotData(const EmbedderSnapshotData&) = delete;

tools/v8_gypfiles/features.gypi

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@
134134
# Enable fast mksnapshot runs.
135135
'v8_enable_fast_mksnapshot%': 0,
136136

137+
# Enable using multiple threads to build builtins in mksnapshot.
138+
'v8_enable_concurrent_mksnapshot%': 1,
139+
137140
# Enable the registration of unwinding info for Windows/x64 and ARM64.
138141
'v8_win64_unwinding_info%': 1,
139142

@@ -209,10 +212,6 @@
209212
# Controls the threshold for on-heap/off-heap Typed Arrays.
210213
'v8_typed_array_max_size_in_heap%': 64,
211214

212-
# Enable sharing read-only space across isolates.
213-
# Sets -DV8_SHARED_RO_HEAP.
214-
'v8_enable_shared_ro_heap%': 0,
215-
216215
# Enable lazy source positions by default.
217216
'v8_enable_lazy_source_positions%': 1,
218217

@@ -437,9 +436,6 @@
437436
['v8_use_siphash==1', {
438437
'defines': ['V8_USE_SIPHASH',],
439438
}],
440-
['v8_enable_shared_ro_heap==1', {
441-
'defines': ['V8_SHARED_RO_HEAP',],
442-
}],
443439
['dcheck_always_on!=0', {
444440
'defines': ['DEBUG',],
445441
}, {

tools/v8_gypfiles/inspector.gypi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@
119119
'<(inspector_protocol_path)/crdtp/find_by_first.h',
120120
'<(inspector_protocol_path)/crdtp/json.cc',
121121
'<(inspector_protocol_path)/crdtp/json.h',
122-
'<(inspector_protocol_path)/crdtp/maybe.h',
123122
'<(inspector_protocol_path)/crdtp/parser_handler.h',
124123
'<(inspector_protocol_path)/crdtp/protocol_core.cc',
125124
'<(inspector_protocol_path)/crdtp/protocol_core.h',

tools/v8_gypfiles/v8.gyp

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,15 @@
451451
'mksnapshot_flags': ['--code-comments'],
452452
},
453453
}],
454+
['v8_enable_concurrent_mksnapshot == 1', {
455+
'variables': {
456+
'mksnapshot_flags': [
457+
'--concurrent-builtin-generation',
458+
# Use all the cores for concurrent builtin generation.
459+
'--concurrent-turbofan-max-threads=0',
460+
],
461+
},
462+
}],
454463
['v8_enable_snapshot_native_code_counters', {
455464
'variables': {
456465
'mksnapshot_flags': ['--native-code-counters'],
@@ -481,6 +490,7 @@
481490
'v8_compiler_for_mksnapshot',
482491
'v8_initializers',
483492
'v8_libplatform',
493+
'v8_abseil',
484494
]
485495
}, {
486496
'dependencies': [
@@ -493,6 +503,7 @@
493503
'v8_compiler_for_mksnapshot',
494504
'v8_initializers',
495505
'v8_libplatform',
506+
'v8_abseil',
496507
]
497508
}],
498509
['OS=="win" and clang==1', {
@@ -1317,6 +1328,7 @@
13171328
'dependencies': [
13181329
'v8_shared_internal_headers',
13191330
'v8_libbase',
1331+
'v8_abseil',
13201332
],
13211333
'defines!': [
13221334
'_HAS_EXCEPTIONS=0',
@@ -1370,6 +1382,7 @@
13701382

13711383
'dependencies': [
13721384
'v8_headers',
1385+
'v8_abseil',
13731386
],
13741387

13751388
'conditions': [
@@ -1618,6 +1631,7 @@
16181631
'toolsets': ['host', 'target'],
16191632
'dependencies': [
16201633
'v8_libbase',
1634+
'v8_abseil',
16211635
],
16221636
'sources': [
16231637
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libplatform.*?sources = ")',
@@ -1688,7 +1702,8 @@
16881702
'BUILDING_V8_SHARED=1',
16891703
],
16901704
'dependencies': [
1691-
"v8_libbase",
1705+
'v8_libbase',
1706+
'v8_abseil',
16921707
# "build/win:default_exe_manifest",
16931708
],
16941709
'sources': [
@@ -1751,6 +1766,7 @@
17511766
'type': 'executable',
17521767
'dependencies': [
17531768
'torque_base',
1769+
'v8_abseil',
17541770
# "build/win:default_exe_manifest",
17551771
],
17561772
'conditions': [
@@ -1826,6 +1842,7 @@
18261842
'v8_libbase',
18271843
# "build/win:default_exe_manifest",
18281844
'v8_maybe_icu',
1845+
'v8_abseil',
18291846
],
18301847
'conditions': [
18311848
['want_separate_host_toolset', {
@@ -2074,6 +2091,8 @@
20742091
'<(V8_ROOT)/src/objects/abstract-code-inl.h',
20752092
'<(V8_ROOT)/src/objects/instruction-stream.h',
20762093
'<(V8_ROOT)/src/objects/instruction-stream-inl.h',
2094+
'<(V8_ROOT)/src/objects/casting.h',
2095+
'<(V8_ROOT)/src/objects/casting-inl.h',
20772096
'<(V8_ROOT)/src/objects/code.h',
20782097
'<(V8_ROOT)/src/objects/code-inl.h',
20792098
'<(V8_ROOT)/src/objects/data-handler.h',
@@ -2239,6 +2258,9 @@
22392258
'include_dirs': [
22402259
'<(ABSEIL_ROOT)',
22412260
],
2261+
'xcode_settings': {
2262+
'OTHER_LDFLAGS': ['-framework CoreFoundation'],
2263+
},
22422264
},
22432265
'include_dirs': [
22442266
'<(ABSEIL_ROOT)',

0 commit comments

Comments
 (0)