libv8-node 22.7.0.3 → 23.6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libv8/node/version.rb +3 -3
- data/libexec/build-libv8 +2 -2
- data/libexec/extract-node +1 -16
- data/libexec/inject-libv8 +3 -1
- data/libexec/platform +4 -4
- 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}"
|
@@ -43,4 +43,4 @@ if [ "$host_platform" != "$target_platform" ] && [ "${target_platform%%-*}" = "a
|
|
43
43
|
fi
|
44
44
|
|
45
45
|
export PATH="${PWD}/out/tools/bin:${PATH}"
|
46
|
-
make -j"${NJOBS}" -C out BUILDTYPE="${BUILDTYPE}" V=0
|
46
|
+
make -j"${NJOBS}" -C out BUILDTYPE="${BUILDTYPE}" V=0 CC=clang CC.host=clang CXX=clang++ CXX.host=clang++
|
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" {} +
|
data/libexec/platform
CHANGED
@@ -98,10 +98,10 @@ if [ "${host_platform}" != "${target_platform}" ]; then
|
|
98
98
|
configure_flags='--dest-cpu=arm --cross-compiling --dest-os=linux --with-arm-float-abi=hard --with-arm-fpu=neon'
|
99
99
|
;;
|
100
100
|
x86_64-*linux*)
|
101
|
-
CC='x86_64
|
102
|
-
CXX='x86_64
|
103
|
-
CC_host='
|
104
|
-
CXX_host='
|
101
|
+
CC='clang -arch x86_64'
|
102
|
+
CXX='clang++ -arch x86_64'
|
103
|
+
CC_host='clang'
|
104
|
+
CXX_host='clang++'
|
105
105
|
STRIP='x86_64-linux-gnu-strip'
|
106
106
|
configure_flags='--dest-cpu=x86_64 --cross-compiling --dest-os=linux'
|
107
107
|
;;
|
@@ -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:
|