libv8-node 22.7.0.4 → 23.6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/libv8/node/version.rb +3 -3
- data/libexec/build-libv8 +1 -1
- data/libexec/extract-node +1 -16
- data/libexec/inject-libv8 +3 -1
- data/patch/v8-std-is-trivially-destructible.patch +22 -0
- data/sums/v22.13.1.sum +1 -0
- data/sums/v22.9.0.sum +1 -0
- data/sums/v23.6.1.sum +1 -0
- metadata +6 -8
- data/patch/gyp-libv8_monolith.patch +0 -44
- data/patch/py2-genv8constants.patch +0 -10
- data/patch/py2-icutrim.patch +0 -14
- data/patch/py3-genv8constants.patch +0 -20
- data/patch/v8-disable-marking.patch +0 -22
- data/patch/v8-no-assert-trivially-copyable.patch +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38468603a3a54757810d8053aa25d2467736691a7def9a983d279100e678c071
|
4
|
+
data.tar.gz: 4d1dad42c57ec900d65944a923fca313ca6f032992a86d7a2b4e07210d690f9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb945de4fde1b0ddbe3ac3bfe982859eae46882ec00c253c41ef9c353b150e42ce3551d40707993d93025ce0d5b945533214a7a5ece820c9f8f652403e0c1a82
|
7
|
+
data.tar.gz: 632d3d6e061ae78d10dafa995ff0f149a8bee3e720c53949d565f1cd80a430666bf8f601935276a9e4cfdffb4de511f5e22d50dadce087eed035beff8575592a
|
data/lib/libv8/node/version.rb
CHANGED
@@ -4,7 +4,7 @@ module Libv8
|
|
4
4
|
end
|
5
5
|
|
6
6
|
module Libv8::Node
|
7
|
-
VERSION = '
|
8
|
-
NODE_VERSION = '
|
9
|
-
LIBV8_VERSION = '12.
|
7
|
+
VERSION = '23.6.1.0'
|
8
|
+
NODE_VERSION = '23.6.1'
|
9
|
+
LIBV8_VERSION = '12.9.202.28' # from src/node-.../deps/v8/include/v8-version.h
|
10
10
|
end
|
data/libexec/build-libv8
CHANGED
@@ -19,7 +19,7 @@ cd "${src}/node-v${version}"
|
|
19
19
|
|
20
20
|
# Maglev is disabled because of a suspected x64 snapshot regression in
|
21
21
|
# DoComputeOutputFrames
|
22
|
-
configure_flags='--
|
22
|
+
configure_flags='--openssl-no-asm --without-npm --shared --with-intl=full-icu'
|
23
23
|
eval "$("${libexec}/platform")"
|
24
24
|
|
25
25
|
echo "configure: ${configure_flags}"
|
data/libexec/extract-node
CHANGED
@@ -29,21 +29,6 @@ extract "${src}" "${src}/node-v${version}.tar.gz"
|
|
29
29
|
|
30
30
|
cd "${src}/node-v${version}"
|
31
31
|
|
32
|
-
|
33
|
-
#patch -p1 < "${top}"/patch/py2-icutrim.patch
|
34
|
-
#patch -p1 < "${top}"/patch/py2-genv8constants.patch
|
35
|
-
patch -p1 < "${top}"/patch/v8-no-assert-trivially-copyable.patch
|
32
|
+
patch -p1 < "${top}"/patch/v8-std-is-trivially-destructible.patch
|
36
33
|
patch -p1 < "${top}"/patch/v8-disable-madv-dontfork.patch
|
37
34
|
patch -p1 < "${top}"/patch/v8-disable-pkey.patch
|
38
|
-
patch -p1 < "${top}"/patch/v8-disable-marking.patch
|
39
|
-
|
40
|
-
# TODO: the following still fails on py3 so the above one forcing py2 is needed
|
41
|
-
# patch -p1 < ../../py3-genv8constants.patch
|
42
|
-
#
|
43
|
-
# This is the error:
|
44
|
-
#
|
45
|
-
# Traceback (most recent call last):
|
46
|
-
# File "tools/genv8constants.py", line 99, in <module>
|
47
|
-
# curr_val += int('0x%s' % octetstr, 16) << (curr_octet * 8)
|
48
|
-
# ValueError: invalid literal for int() with base 16: "0xb'04 '"
|
49
|
-
# node_dtrace_ustack.target.mk:13: recipe for target '/usbkey/user_home/vagrant/ruby-libv8-node/src/node-14.14.0/out/Release/obj/gen/v8constants.h' failed
|
data/libexec/inject-libv8
CHANGED
@@ -56,7 +56,9 @@ for lib in libv8_monolith.a; do
|
|
56
56
|
"$AR" "$AREXTRACTFLAGS" "$BASEDIR/out/${BUILDTYPE}/$lib"
|
57
57
|
|
58
58
|
# strip all objects
|
59
|
-
"$
|
59
|
+
if [ "$BUILDTYPE" = "Release" ]; then
|
60
|
+
"$FIND" -type f -exec "$STRIP" -Sx {} +
|
61
|
+
fi
|
60
62
|
|
61
63
|
# rebuild the archive
|
62
64
|
"$FIND" -type f -exec "$AR" "$ARCOLLECTFLAGS" "../$lib" {} +
|
@@ -0,0 +1,22 @@
|
|
1
|
+
diff --git a/deps/v8/src/base/macros.h b/deps/v8/src/base/macros.h
|
2
|
+
index d404b6120a..053ac0e5ba 100644
|
3
|
+
--- a/deps/v8/src/base/macros.h
|
4
|
+
+++ b/deps/v8/src/base/macros.h
|
5
|
+
@@ -173,7 +173,7 @@ namespace base {
|
6
|
+
// base::is_trivially_copyable will differ for these cases.
|
7
|
+
template <typename T>
|
8
|
+
struct is_trivially_copyable {
|
9
|
+
-#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2)
|
10
|
+
+#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) || defined(__clang__)
|
11
|
+
// Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can
|
12
|
+
// be false even though it should be true according to the standard.
|
13
|
+
// (status at 2018-02-26, observed on the msvc waterfall bot).
|
14
|
+
@@ -186,6 +186,8 @@ struct is_trivially_copyable {
|
15
|
+
// distributions, so the same polyfill is also used.
|
16
|
+
// See
|
17
|
+
// https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=aeba3e009b0abfccaf01797556445dbf891cc8dc
|
18
|
+
+ //
|
19
|
+
+ // The same is observed with at least clang 14 and 15.
|
20
|
+
static constexpr bool value =
|
21
|
+
// Copy constructor is trivial or deleted.
|
22
|
+
(std::is_trivially_copy_constructible<T>::value ||
|
data/sums/v22.13.1.sum
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
e7d5b1e84e7f3c3cebda81e2b138469eef41ba4ecf16a87fd15fc3f7afa3f701
|
data/sums/v22.9.0.sum
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
296854aa1dca140b0462c2415637d0419e42af91114538a7e6fdf623971a6833
|
data/sums/v23.6.1.sum
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
35c0f7957085083071fcf01c7eaea953fba98f17afc4d7c189e3ef56925b453c
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libv8-node
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 23.6.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -63,14 +63,9 @@ files:
|
|
63
63
|
- libexec/inject-libv8
|
64
64
|
- libexec/metadata
|
65
65
|
- libexec/platform
|
66
|
-
- patch/gyp-libv8_monolith.patch
|
67
|
-
- patch/py2-genv8constants.patch
|
68
|
-
- patch/py2-icutrim.patch
|
69
|
-
- patch/py3-genv8constants.patch
|
70
66
|
- patch/v8-disable-madv-dontfork.patch
|
71
|
-
- patch/v8-disable-marking.patch
|
72
67
|
- patch/v8-disable-pkey.patch
|
73
|
-
- patch/v8-
|
68
|
+
- patch/v8-std-is-trivially-destructible.patch
|
74
69
|
- sums/v16.10.0.sum
|
75
70
|
- sums/v16.11.1.sum
|
76
71
|
- sums/v16.3.0.sum
|
@@ -88,9 +83,12 @@ files:
|
|
88
83
|
- sums/v20.12.1.sum
|
89
84
|
- sums/v20.2.0.sum
|
90
85
|
- sums/v21.7.2.sum
|
86
|
+
- sums/v22.13.1.sum
|
91
87
|
- sums/v22.5.1.sum
|
92
88
|
- sums/v22.6.0.sum
|
93
89
|
- sums/v22.7.0.sum
|
90
|
+
- sums/v22.9.0.sum
|
91
|
+
- sums/v23.6.1.sum
|
94
92
|
homepage: https://github.com/rubyjs/libv8-node
|
95
93
|
licenses:
|
96
94
|
- MIT
|
@@ -1,44 +0,0 @@
|
|
1
|
-
--- a/node.gyp 2020-11-04 15:55:48.000000000 +0100
|
2
|
-
+++ b/node.gyp 2020-11-04 15:55:51.000000000 +0100
|
3
|
-
@@ -1467,6 +1467,16 @@
|
4
|
-
}],
|
5
|
-
],
|
6
|
-
}, # node_mksnapshot
|
7
|
-
+ {
|
8
|
-
+ 'target_name': 'libv8_monolith',
|
9
|
-
+ 'type': 'none',
|
10
|
-
+ 'includes': [
|
11
|
-
+ 'node.gypi'
|
12
|
-
+ ],
|
13
|
-
+ #'dependencies': [
|
14
|
-
+ # 'tools/v8_gypfiles/v8.gyp:v8_monolith',
|
15
|
-
+ #],
|
16
|
-
+ },
|
17
|
-
], # end targets
|
18
|
-
|
19
|
-
'conditions': [
|
20
|
-
--- a/tools/v8_gypfiles/v8.gyp 2020-11-04 16:34:06.000000000 +0100
|
21
|
-
+++ b/tools/v8_gypfiles/v8.gyp 2020-11-04 16:34:10.000000000 +0100
|
22
|
-
@@ -1726,5 +1726,21 @@
|
23
|
-
'<(V8_ROOT)/third_party/zlib/google/compression_utils_portable.h',
|
24
|
-
],
|
25
|
-
}, # v8_zlib
|
26
|
-
+ {
|
27
|
-
+ 'target_name': 'v8_monolith',
|
28
|
-
+ 'type': 'static_library',
|
29
|
-
+ 'sources': [
|
30
|
-
+ '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8.*?sources = ")',
|
31
|
-
+ '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libbase.*?sources = ")',
|
32
|
-
+ '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libplatform.*?sources = ")',
|
33
|
-
+ '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libsampler.*?sources = ")',
|
34
|
-
+ ],
|
35
|
-
+ 'dependencies': [
|
36
|
-
+ 'v8',
|
37
|
-
+ 'v8_libbase',
|
38
|
-
+ 'v8_libplatform',
|
39
|
-
+ 'v8_libsampler',
|
40
|
-
+ ],
|
41
|
-
+ }
|
42
|
-
],
|
43
|
-
}
|
44
|
-
|
data/patch/py2-icutrim.patch
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
--- a/tools/icu/icutrim.py 2020-11-03 16:54:23.000000000 +0100
|
2
|
-
+++ b/tools/icu/icutrim.py 2020-11-03 16:54:27.000000000 +0100
|
3
|
-
@@ -316,7 +316,10 @@
|
4
|
-
erritems = fi.readlines()
|
5
|
-
fi.close()
|
6
|
-
#Item zone/zh_Hant_TW.res depends on missing item zone/zh_Hant.res
|
7
|
-
- pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8'))
|
8
|
-
+ if str == bytes:
|
9
|
-
+ pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*"))
|
10
|
-
+ else:
|
11
|
-
+ pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8'))
|
12
|
-
for i in range(len(erritems)):
|
13
|
-
line = erritems[i].strip()
|
14
|
-
m = pat.match(line)
|
@@ -1,20 +0,0 @@
|
|
1
|
-
--- a/tools/genv8constants.py 2020-11-04 09:49:14.000000000 +0100
|
2
|
-
+++ b/tools/genv8constants.py 2020-11-04 09:49:25.000000000 +0100
|
3
|
-
@@ -33,9 +33,14 @@
|
4
|
-
|
5
|
-
sys.exit()
|
6
|
-
|
7
|
-
-pattern = re.compile(bytes('([0-9a-fA-F]{8}|[0-9a-fA-F]{16}) <(.*)>:'))
|
8
|
-
-v8dbg = re.compile(bytes('^v8dbg.*$'))
|
9
|
-
-numpattern = re.compile(bytes('^[0-9a-fA-F]{2} $'))
|
10
|
-
+if str == bytes:
|
11
|
-
+ pattern = re.compile(bytes('([0-9a-fA-F]{8}|[0-9a-fA-F]{16}) <(.*)>:'))
|
12
|
-
+ v8dbg = re.compile(bytes('^v8dbg.*$'))
|
13
|
-
+ numpattern = re.compile(bytes('^[0-9a-fA-F]{2} $'))
|
14
|
-
+else:
|
15
|
-
+ pattern = re.compile(bytes('([0-9a-fA-F]{8}|[0-9a-fA-F]{16}) <(.*)>:', 'utf-8'))
|
16
|
-
+ v8dbg = re.compile(bytes('^v8dbg.*$', 'utf-8'))
|
17
|
-
+ numpattern = re.compile(bytes('^[0-9a-fA-F]{2} $', 'utf-8'))
|
18
|
-
octets = 4
|
19
|
-
|
20
|
-
outfile.write("""
|
@@ -1,22 +0,0 @@
|
|
1
|
-
diff --git a/deps/v8/src/flags/flag-definitions.h b/deps/v8/src/flags/flag-definitions.h
|
2
|
-
index 0d50ac1522..2854768562 100644
|
3
|
-
--- a/deps/v8/src/flags/flag-definitions.h
|
4
|
-
+++ b/deps/v8/src/flags/flag-definitions.h
|
5
|
-
@@ -1764,7 +1764,7 @@ DEFINE_BOOL(minor_ms_trace_fragmentation, false,
|
6
|
-
DEFINE_BOOL(trace_evacuation, false, "report evacuation statistics")
|
7
|
-
DEFINE_BOOL(trace_mutator_utilization, false,
|
8
|
-
"print mutator utilization, allocation speed, gc speed")
|
9
|
-
-DEFINE_BOOL(incremental_marking, true, "use incremental marking")
|
10
|
-
+DEFINE_BOOL(incremental_marking, false, "use incremental marking")
|
11
|
-
DEFINE_BOOL(incremental_marking_bailout_when_ahead_of_schedule, true,
|
12
|
-
"bails out of incremental marking when ahead of schedule")
|
13
|
-
DEFINE_BOOL(incremental_marking_task, true, "use tasks for incremental marking")
|
14
|
-
@@ -1794,7 +1794,7 @@ DEFINE_IMPLICATION(cppgc_young_generation, minor_ms)
|
15
|
-
DEFINE_NEG_IMPLICATION(cppgc_young_generation, reclaim_unmodified_wrappers)
|
16
|
-
DEFINE_BOOL(optimize_gc_for_battery, false, "optimize GC for battery")
|
17
|
-
#if defined(V8_ATOMIC_OBJECT_FIELD_WRITES)
|
18
|
-
-DEFINE_BOOL(concurrent_marking, true, "use concurrent marking")
|
19
|
-
+DEFINE_BOOL(concurrent_marking, false, "use concurrent marking")
|
20
|
-
#else
|
21
|
-
// Concurrent marking cannot be used without atomic object field loads and
|
22
|
-
// stores.
|
@@ -1,14 +0,0 @@
|
|
1
|
-
diff --git a/deps/v8/src/base/small-vector.h b/deps/v8/src/base/small-vector.h
|
2
|
-
index edaab3a7a6..533a536178 100644
|
3
|
-
--- a/deps/v8/src/base/small-vector.h
|
4
|
-
+++ b/deps/v8/src/base/small-vector.h
|
5
|
-
@@ -20,9 +20,6 @@ namespace base {
|
6
|
-
// dynamic storage when it overflows.
|
7
|
-
template <typename T, size_t kSize, typename Allocator = std::allocator<T>>
|
8
|
-
class SmallVector {
|
9
|
-
- // Currently only support trivially copyable and trivially destructible data
|
10
|
-
- // types, as it uses memcpy to copy elements and never calls destructors.
|
11
|
-
- ASSERT_TRIVIALLY_COPYABLE(T);
|
12
|
-
static_assert(std::is_trivially_destructible<T>::value);
|
13
|
-
|
14
|
-
public:
|