Skip to content

Commit 4c0a7d8

Browse files
committed
build: add V8 embedder version string
After this commit, `process.versions.v8` will look like: "6.0.287.53-node.0". The goal is that everytime we apply a non-official patch to `deps/v8`, we increment our own number instead of V8's patch level. This number must be set back to 0 after major V8 updates. Closes: #15698
1 parent 613a871 commit 4c0a7d8

File tree

4 files changed

+16
-7
lines changed

4 files changed

+16
-7
lines changed

common.gypi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
# Default to -O0 for debug builds.
2626
'v8_optimized_debug%': 0,
2727

28+
# Reset this number to 0 on major V8 upgrades.
29+
# Increment by one for each non-official patch applied to deps/v8.
30+
'v8_embedder_string': '-node.0',
31+
2832
# Enable disassembler for `--print-code` v8 options
2933
'v8_enable_disassembler': 1,
3034

doc/api/process.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1790,6 +1790,9 @@ changes:
17901790
- version: v4.2.0
17911791
pr-url: https://github.com/nodejs/node/pull/3102
17921792
description: The `icu` property is now supported.
1793+
- version: REPLACEME
1794+
pr-url: https://github.com/nodejs/node/pull/15785
1795+
description: The `v8` property now includes a Node.js specific suffix.
17931796
-->
17941797

17951798
* {Object}
@@ -1810,7 +1813,7 @@ Will generate an object similar to:
18101813
{
18111814
http_parser: '2.3.0',
18121815
node: '1.1.1',
1813-
v8: '4.1.0.14',
1816+
v8: '6.1.534.42-node.0',
18141817
uv: '1.3.0',
18151818
zlib: '1.2.8',
18161819
ares: '1.10.0-DEV',

lib/internal/v8_prof_polyfill.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,16 @@ function readline() {
8282
}
8383

8484
function versionCheck() {
85-
// v8-version looks like "v8-version,$major,$minor,$build,$patch,$candidate"
86-
// whereas process.versions.v8 is either "$major.$minor.$build" or
87-
// "$major.$minor.$build.$patch".
85+
// v8-version looks like
86+
// "v8-version,$major,$minor,$build,$patch[,$embedder],$candidate"
87+
// whereas process.versions.v8 is either "$major.$minor.$build-$embedder" or
88+
// "$major.$minor.$build.$patch-$embedder".
8889
var firstLine = readline();
8990
line = firstLine + '\n' + line;
9091
firstLine = firstLine.split(',');
91-
const curVer = process.versions.v8.split('.');
92-
if (firstLine.length !== 6 && firstLine[0] !== 'v8-version') {
92+
const curVer = process.versions.v8.split(/\.-/);
93+
if (firstLine.length !== 6 && firstLine.length !== 7 ||
94+
firstLine[0] !== 'v8-version') {
9395
console.log('Unable to read v8-version from log file.');
9496
return;
9597
}

test/parallel/test-process-versions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ assert(commonTemplate.test(process.versions.node));
2929
assert(commonTemplate.test(process.versions.uv));
3030
assert(commonTemplate.test(process.versions.zlib));
3131

32-
assert(/^\d+\.\d+\.\d+(?:\.\d+)?(?: \(candidate\))?$/
32+
assert(/^\d+\.\d+\.\d+(?:\.\d+)?-node\.\d+(?: \(candidate\))?$/
3333
.test(process.versions.v8));
3434
assert(/^\d+$/.test(process.versions.modules));
3535

0 commit comments

Comments
 (0)