Skip to content

Commit 756abac

Browse files
targosRafaelGSS
authored andcommitted
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 PR-URL: #58070 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]>
1 parent f8953e5 commit 756abac

File tree

10 files changed

+33
-38
lines changed

10 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',
@@ -1720,7 +1714,6 @@ def configure_v8(o, configs):
17201714
o['variables']['v8_enable_pointer_compression'] = 1 if options.enable_pointer_compression else 0
17211715
o['variables']['v8_enable_sandbox'] = 1 if options.enable_pointer_compression else 0
17221716
o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0
1723-
o['variables']['v8_enable_shared_ro_heap'] = 0 if options.disable_shared_ro_heap else 1
17241717
o['variables']['v8_enable_extensible_ro_snapshot'] = 0
17251718
o['variables']['v8_trace_maps'] = 1 if options.trace_maps else 0
17261719
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
@@ -100,9 +100,6 @@
100100
'NODE_USE_V8_PLATFORM=0',
101101
],
102102
}],
103-
[ 'v8_enable_shared_ro_heap==1', {
104-
'defines': ['NODE_V8_SHARED_RO_HEAP',],
105-
}],
106103
[ 'node_tag!=""', {
107104
'defines': [ 'NODE_TAG="<(node_tag)"' ],
108105
}],

src/api/embed_helpers.cc

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

354354
bool EmbedderSnapshotData::CanUseCustomSnapshotPerIsolate() {
355-
#ifdef NODE_V8_SHARED_RO_HEAP
356355
return false;
357-
#else
358-
return true;
359-
#endif
360356
}
361357

362358
} // namespace node

src/api/environment.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -312,17 +312,15 @@ Isolate* NewIsolate(Isolate::CreateParams* params,
312312
SnapshotBuilder::InitializeIsolateParams(snapshot_data, params);
313313
}
314314

315-
#ifdef NODE_V8_SHARED_RO_HEAP
316315
{
317-
// In shared-readonly-heap mode, V8 requires all snapshots used for
318-
// creating Isolates to be identical. This isn't really memory-safe
316+
// Because it uses a shared readonly-heap, V8 requires all snapshots used
317+
// for creating Isolates to be identical. This isn't really memory-safe
319318
// but also otherwise just doesn't work, and the only real alternative
320319
// is disabling shared-readonly-heap mode altogether.
321320
static Isolate::CreateParams first_params = *params;
322321
params->snapshot_blob = first_params.snapshot_blob;
323322
params->external_references = first_params.external_references;
324323
}
325-
#endif
326324

327325
// Register the isolate on the platform before the isolate gets initialized,
328326
// 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
@@ -828,15 +828,9 @@ Environment::Environment(IsolateData* isolate_data,
828828
thread_id_(thread_id.id == static_cast<uint64_t>(-1)
829829
? AllocateEnvironmentThreadId().id
830830
: thread_id.id) {
831-
constexpr bool is_shared_ro_heap =
832-
#ifdef NODE_V8_SHARED_RO_HEAP
833-
true;
834-
#else
835-
false;
836-
#endif
837-
if (is_shared_ro_heap && !is_main_thread()) {
838-
// If this is a Worker thread and we are in shared-readonly-heap mode,
839-
// we can always safely use the parent's Isolate's code cache.
831+
if (!is_main_thread()) {
832+
// If this is a Worker thread, we can always safely use the parent's
833+
// Isolate's code cache because of the shared read-only heap.
840834
CHECK_NOT_NULL(isolate_data->worker_context());
841835
builtin_loader()->CopySourceAndCodeCacheReferenceFrom(
842836
isolate_data->worker_context()->env()->builtin_loader());

src/node.h

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

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

550550
EmbedderSnapshotData(const EmbedderSnapshotData&) = delete;

tools/v8_gypfiles/abseil.gyp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
'include_dirs': [
1212
'<(ABSEIL_ROOT)',
1313
],
14+
'xcode_settings': {
15+
'OTHER_LDFLAGS': ['-framework CoreFoundation'],
16+
},
1417
},
1518
'include_dirs': [
1619
'<(ABSEIL_ROOT)',

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: 20 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+
'abseil.gyp:abseil',
484494
]
485495
}, {
486496
'dependencies': [
@@ -493,6 +503,7 @@
493503
'v8_compiler_for_mksnapshot',
494504
'v8_initializers',
495505
'v8_libplatform',
506+
'abseil.gyp:abseil',
496507
]
497508
}],
498509
['OS=="win" and clang==1', {
@@ -1317,6 +1328,7 @@
13171328
'dependencies': [
13181329
'v8_shared_internal_headers',
13191330
'v8_libbase',
1331+
'abseil.gyp:abseil',
13201332
],
13211333
'defines!': [
13221334
'_HAS_EXCEPTIONS=0',
@@ -1370,6 +1382,7 @@
13701382

13711383
'dependencies': [
13721384
'v8_headers',
1385+
'abseil.gyp:abseil',
13731386
],
13741387

13751388
'conditions': [
@@ -1618,6 +1631,7 @@
16181631
'toolsets': ['host', 'target'],
16191632
'dependencies': [
16201633
'v8_libbase',
1634+
'abseil.gyp: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+
'abseil.gyp:abseil',
16921707
# "build/win:default_exe_manifest",
16931708
],
16941709
'sources': [
@@ -1751,6 +1766,7 @@
17511766
'type': 'executable',
17521767
'dependencies': [
17531768
'torque_base',
1769+
'abseil.gyp: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+
'abseil.gyp: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',

0 commit comments

Comments
 (0)