node-linux-s390x 22.10.0 → 23.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.
- package/CHANGELOG.md +527 -2239
- package/README.md +9 -14
- package/bin/node +0 -0
- package/include/node/common.gypi +3 -3
- package/include/node/config.gypi +3 -2
- package/include/node/cppgc/allocation.h +10 -11
- package/include/node/cppgc/garbage-collected.h +8 -0
- package/include/node/cppgc/heap-statistics.h +2 -0
- package/include/node/cppgc/internal/api-constants.h +6 -1
- package/include/node/cppgc/internal/compiler-specific.h +9 -1
- package/include/node/cppgc/internal/gc-info.h +12 -10
- package/include/node/cppgc/internal/member-storage.h +6 -0
- package/include/node/cppgc/internal/name-trait.h +5 -1
- package/include/node/cppgc/name-provider.h +7 -0
- package/include/node/node.h +8 -18
- package/include/node/node_api.h +12 -0
- package/include/node/node_version.h +3 -3
- package/include/node/uv/tree.h +3 -250
- package/include/node/uv/version.h +2 -2
- package/include/node/uv/win.h +2 -2
- package/include/node/uv.h +45 -17
- package/include/node/v8-array-buffer.h +44 -24
- package/include/node/v8-callbacks.h +10 -5
- package/include/node/v8-context.h +41 -9
- package/include/node/v8-cppgc.h +3 -55
- package/include/node/v8-date.h +9 -0
- package/include/node/v8-embedder-heap.h +4 -1
- package/include/node/v8-exception.h +70 -0
- package/include/node/v8-function-callback.h +203 -62
- package/include/node/v8-function.h +4 -3
- package/include/node/v8-handle-base.h +2 -2
- package/include/node/v8-initialization.h +18 -1
- package/include/node/v8-internal.h +303 -58
- package/include/node/v8-isolate.h +51 -39
- package/include/node/v8-local-handle.h +18 -19
- package/include/node/v8-message.h +0 -21
- package/include/node/v8-microtask-queue.h +0 -5
- package/include/node/v8-object.h +284 -35
- package/include/node/v8-persistent-handle.h +0 -19
- package/include/node/v8-platform.h +21 -35
- package/include/node/v8-primitive.h +92 -1
- package/include/node/v8-profiler.h +38 -1
- package/include/node/v8-promise.h +2 -2
- package/include/node/v8-sandbox.h +173 -0
- package/include/node/v8-script.h +44 -14
- package/include/node/v8-snapshot.h +38 -2
- package/include/node/v8-template.h +105 -263
- package/include/node/v8-traced-handle.h +4 -15
- package/include/node/v8-unwinder.h +2 -1
- package/include/node/v8-value.h +3 -2
- package/include/node/v8-version.h +3 -3
- package/include/node/v8-wasm.h +3 -0
- package/include/node/v8config.h +47 -7
- package/package.json +1 -1
- package/share/doc/node/gdbinit +41 -3
- package/share/doc/node/lldb_commands.py +7 -2
- package/share/man/man1/node.1 +0 -14
package/README.md
CHANGED
|
@@ -104,11 +104,10 @@ To download `SHASUMS256.txt` using `curl`:
|
|
|
104
104
|
curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
To check that
|
|
108
|
-
it through `sha256sum` with a command such as:
|
|
107
|
+
To check that downloaded files match the checksum, use `sha256sum`:
|
|
109
108
|
|
|
110
109
|
```bash
|
|
111
|
-
|
|
110
|
+
sha256sum -c SHASUMS256.txt --ignore-missing
|
|
112
111
|
```
|
|
113
112
|
|
|
114
113
|
For Current and LTS, the GPG detached signature of `SHASUMS256.txt` is in
|
|
@@ -320,8 +319,6 @@ For information about the governance of the Node.js project, see
|
|
|
320
319
|
**Kohei Ueno** <<kohei.ueno119@gmail.com>> (he/him)
|
|
321
320
|
* [daeyeon](https://github.com/daeyeon) -
|
|
322
321
|
**Daeyeon Jeong** <<daeyeon.dev@gmail.com>> (he/him)
|
|
323
|
-
* [danielleadams](https://github.com/danielleadams) -
|
|
324
|
-
**Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
|
|
325
322
|
* [debadree25](https://github.com/debadree25) -
|
|
326
323
|
**Debadree Chatterjee** <<debadree333@gmail.com>> (he/him)
|
|
327
324
|
* [deokjinkim](https://github.com/deokjinkim) -
|
|
@@ -502,6 +499,8 @@ For information about the governance of the Node.js project, see
|
|
|
502
499
|
**Claudio Rodriguez** <<cjrodr@yahoo.com>>
|
|
503
500
|
* [danbev](https://github.com/danbev) -
|
|
504
501
|
**Daniel Bevenius** <<daniel.bevenius@gmail.com>> (he/him)
|
|
502
|
+
* [danielleadams](https://github.com/danielleadams) -
|
|
503
|
+
**Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
|
|
505
504
|
* [DavidCai1993](https://github.com/DavidCai1993) -
|
|
506
505
|
**David Cai** <<davidcai1993@yahoo.com>> (he/him)
|
|
507
506
|
* [davisjam](https://github.com/davisjam) -
|
|
@@ -770,12 +769,6 @@ Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
|
|
|
770
769
|
|
|
771
770
|
* **Antoine du Hamel** <<duhamelantoine1995@gmail.com>>
|
|
772
771
|
`C0D6248439F1D5604AAFFB4021D900FFDB233756`
|
|
773
|
-
* **Beth Griggs** <<bethanyngriggs@gmail.com>>
|
|
774
|
-
`4ED778F539E3634C779C87C6D7062848A1AB005C`
|
|
775
|
-
* **Bryan English** <<bryan@bryanenglish.com>>
|
|
776
|
-
`141F07595B7B3FFE74309A937405533BE57C7D57`
|
|
777
|
-
* **Danielle Adams** <<adamzdanielle@gmail.com>>
|
|
778
|
-
`74F12602B6F1C4E913FAA37AD3A89613643B6201`
|
|
779
772
|
* **Juan José Arboleda** <<soyjuanarbol@gmail.com>>
|
|
780
773
|
`DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7`
|
|
781
774
|
* **Marco Ippolito** <<marcoippolito54@gmail.com>>
|
|
@@ -796,9 +789,6 @@ to sign releases):
|
|
|
796
789
|
|
|
797
790
|
```bash
|
|
798
791
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys C0D6248439F1D5604AAFFB4021D900FFDB233756 # Antoine du Hamel
|
|
799
|
-
gpg --keyserver hkps://keys.openpgp.org --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C # Beth Griggs
|
|
800
|
-
gpg --keyserver hkps://keys.openpgp.org --recv-keys 141F07595B7B3FFE74309A937405533BE57C7D57 # Bryan English
|
|
801
|
-
gpg --keyserver hkps://keys.openpgp.org --recv-keys 74F12602B6F1C4E913FAA37AD3A89613643B6201 # Danielle Adams
|
|
802
792
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 # Juan José Arboleda
|
|
803
793
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys CC68F5A3106FF448322E48ED27F5E38D5B0A215F # Marco Ippolito
|
|
804
794
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 # Michaël Zasso
|
|
@@ -815,12 +805,17 @@ verify a downloaded file.
|
|
|
815
805
|
|
|
816
806
|
<summary>Other keys used to sign some previous releases</summary>
|
|
817
807
|
|
|
808
|
+
* **Beth Griggs** <<bethanyngriggs@gmail.com>>
|
|
809
|
+
`4ED778F539E3634C779C87C6D7062848A1AB005C`
|
|
810
|
+
* **Bryan English** <<bryan@bryanenglish.com>>
|
|
811
|
+
`141F07595B7B3FFE74309A937405533BE57C7D57`
|
|
818
812
|
* **Chris Dickinson** <<christopher.s.dickinson@gmail.com>>
|
|
819
813
|
`9554F04D7259F04124DE6B476D5A82AC7E37093B`
|
|
820
814
|
* **Colin Ihrig** <<cjihrig@gmail.com>>
|
|
821
815
|
`94AE36675C464D64BAFA68DD7434390BDBE9B9C5`
|
|
822
816
|
* **Danielle Adams** <<adamzdanielle@gmail.com>>
|
|
823
817
|
`1C050899334244A8AF75E53792EF661D867B9DFA`
|
|
818
|
+
`74F12602B6F1C4E913FAA37AD3A89613643B6201`
|
|
824
819
|
* **Evan Lucas** <<evanlucas@me.com>>
|
|
825
820
|
`B9AE9905FFD7803F25714661B63B535A4C206CA9`
|
|
826
821
|
* **Gibson Fahnestock** <<gibfahn@gmail.com>>
|
package/bin/node
CHANGED
|
Binary file
|
package/include/node/common.gypi
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
# Reset this number to 0 on major V8 upgrades.
|
|
38
38
|
# Increment by one for each non-official patch applied to deps/v8.
|
|
39
|
-
'v8_embedder_string': '-node.
|
|
39
|
+
'v8_embedder_string': '-node.11',
|
|
40
40
|
|
|
41
41
|
##### V8 defaults for Node.js #####
|
|
42
42
|
|
|
@@ -493,7 +493,7 @@
|
|
|
493
493
|
'-fno-rtti',
|
|
494
494
|
'-fno-exceptions',
|
|
495
495
|
'-fno-strict-aliasing',
|
|
496
|
-
'-std=gnu++
|
|
496
|
+
'-std=gnu++20',
|
|
497
497
|
],
|
|
498
498
|
'defines': [ '__STDC_FORMAT_MACROS' ],
|
|
499
499
|
'ldflags': [ '-rdynamic' ],
|
|
@@ -663,7 +663,7 @@
|
|
|
663
663
|
['clang==1', {
|
|
664
664
|
'xcode_settings': {
|
|
665
665
|
'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
|
|
666
|
-
'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++
|
|
666
|
+
'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++20', # -std=gnu++20
|
|
667
667
|
'CLANG_CXX_LIBRARY': 'libc++',
|
|
668
668
|
},
|
|
669
669
|
}],
|
package/include/node/config.gypi
CHANGED
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
'lib/internal/assert.js',
|
|
80
80
|
'lib/internal/assert/assertion_error.js',
|
|
81
81
|
'lib/internal/assert/calltracker.js',
|
|
82
|
+
'lib/internal/assert/myers_diff.js',
|
|
82
83
|
'lib/internal/assert/utils.js',
|
|
83
84
|
'lib/internal/async_context_frame.js',
|
|
84
85
|
'lib/internal/async_hooks.js',
|
|
@@ -363,7 +364,7 @@
|
|
|
363
364
|
'lib/wasi.js',
|
|
364
365
|
'lib/worker_threads.js',
|
|
365
366
|
'lib/zlib.js'],
|
|
366
|
-
'node_module_version':
|
|
367
|
+
'node_module_version': 131,
|
|
367
368
|
'node_no_browser_globals': 'false',
|
|
368
369
|
'node_prefix': '/',
|
|
369
370
|
'node_release_urlbase': 'https://nodejs.org/download/release/',
|
|
@@ -397,7 +398,7 @@
|
|
|
397
398
|
'openssl_is_fips': 'false',
|
|
398
399
|
'openssl_quic': 'true',
|
|
399
400
|
'ossfuzz': 'false',
|
|
400
|
-
'shlib_suffix': 'so.
|
|
401
|
+
'shlib_suffix': 'so.131',
|
|
401
402
|
'single_executable_application': 'true',
|
|
402
403
|
'target_arch': 's390x',
|
|
403
404
|
'ubsan': 0,
|
|
@@ -47,7 +47,7 @@ namespace internal {
|
|
|
47
47
|
// Similar to C++17 std::align_val_t;
|
|
48
48
|
enum class AlignVal : size_t {};
|
|
49
49
|
|
|
50
|
-
class
|
|
50
|
+
class MakeGarbageCollectedTraitInternal {
|
|
51
51
|
protected:
|
|
52
52
|
static inline void MarkObjectAsFullyConstructed(const void* payload) {
|
|
53
53
|
// See api_constants for an explanation of the constants.
|
|
@@ -121,16 +121,15 @@ class V8_EXPORT MakeGarbageCollectedTraitInternal {
|
|
|
121
121
|
};
|
|
122
122
|
|
|
123
123
|
private:
|
|
124
|
-
static void* CPPGC_DEFAULT_ALIGNED
|
|
125
|
-
|
|
126
|
-
static void* CPPGC_DOUBLE_WORD_ALIGNED
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
CustomSpaceIndex);
|
|
124
|
+
V8_EXPORT static void* CPPGC_DEFAULT_ALIGNED
|
|
125
|
+
Allocate(cppgc::AllocationHandle&, size_t, GCInfoIndex);
|
|
126
|
+
V8_EXPORT static void* CPPGC_DOUBLE_WORD_ALIGNED
|
|
127
|
+
Allocate(cppgc::AllocationHandle&, size_t, AlignVal, GCInfoIndex);
|
|
128
|
+
V8_EXPORT static void* CPPGC_DEFAULT_ALIGNED
|
|
129
|
+
Allocate(cppgc::AllocationHandle&, size_t, GCInfoIndex, CustomSpaceIndex);
|
|
130
|
+
V8_EXPORT static void* CPPGC_DOUBLE_WORD_ALIGNED
|
|
131
|
+
Allocate(cppgc::AllocationHandle&, size_t, AlignVal, GCInfoIndex,
|
|
132
|
+
CustomSpaceIndex);
|
|
134
133
|
|
|
135
134
|
friend class HeapObjectHeader;
|
|
136
135
|
};
|
|
@@ -94,6 +94,14 @@ class GarbageCollectedMixin {
|
|
|
94
94
|
public:
|
|
95
95
|
using IsGarbageCollectedMixinTypeMarker = void;
|
|
96
96
|
|
|
97
|
+
// Must use MakeGarbageCollected.
|
|
98
|
+
void* operator new(size_t) = delete;
|
|
99
|
+
void* operator new[](size_t) = delete;
|
|
100
|
+
// The garbage collector is taking care of reclaiming the object.
|
|
101
|
+
// Not override the non-array varaint of `delete` to not conflict with the
|
|
102
|
+
// operator in GarbageCollected above.
|
|
103
|
+
void operator delete[](void*) = delete;
|
|
104
|
+
|
|
97
105
|
/**
|
|
98
106
|
* This Trace method must be overriden by objects inheriting from
|
|
99
107
|
* GarbageCollectedMixin.
|
|
@@ -102,6 +102,8 @@ struct HeapStatistics final {
|
|
|
102
102
|
size_t resident_size_bytes = 0;
|
|
103
103
|
/** Amount of memory actually used on the heap. */
|
|
104
104
|
size_t used_size_bytes = 0;
|
|
105
|
+
/** Memory retained in the page pool, not used directly by the heap. */
|
|
106
|
+
size_t pooled_memory_size_bytes = 0;
|
|
105
107
|
/** Detail level of this HeapStatistics. */
|
|
106
108
|
DetailLevel detail_level;
|
|
107
109
|
|
|
@@ -30,10 +30,15 @@ static constexpr size_t kFullyConstructedBitFieldOffsetFromPayload =
|
|
|
30
30
|
// Mask for in-construction bit.
|
|
31
31
|
static constexpr uint16_t kFullyConstructedBitMask = uint16_t{1};
|
|
32
32
|
|
|
33
|
-
static constexpr size_t
|
|
33
|
+
static constexpr size_t kPageSizeBits = 17;
|
|
34
|
+
static constexpr size_t kPageSize = size_t{1} << kPageSizeBits;
|
|
34
35
|
|
|
35
36
|
#if defined(V8_HOST_ARCH_ARM64) && defined(V8_OS_DARWIN)
|
|
36
37
|
constexpr size_t kGuardPageSize = 0;
|
|
38
|
+
#elif defined(V8_HOST_ARCH_PPC64)
|
|
39
|
+
constexpr size_t kGuardPageSize = 0;
|
|
40
|
+
#elif defined(V8_HOST_ARCH_LOONG64) || defined(V8_HOST_ARCH_MIPS64)
|
|
41
|
+
constexpr size_t kGuardPageSize = 0;
|
|
37
42
|
#else
|
|
38
43
|
constexpr size_t kGuardPageSize = 4096;
|
|
39
44
|
#endif
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
#ifndef INCLUDE_CPPGC_INTERNAL_COMPILER_SPECIFIC_H_
|
|
6
6
|
#define INCLUDE_CPPGC_INTERNAL_COMPILER_SPECIFIC_H_
|
|
7
7
|
|
|
8
|
+
#include "v8config.h" // NOLINT(build/include_directory)
|
|
9
|
+
|
|
8
10
|
namespace cppgc {
|
|
9
11
|
|
|
10
12
|
#if defined(__has_attribute)
|
|
@@ -21,7 +23,13 @@ namespace cppgc {
|
|
|
21
23
|
|
|
22
24
|
// [[no_unique_address]] comes in C++20 but supported in clang with -std >=
|
|
23
25
|
// c++11.
|
|
24
|
-
#if CPPGC_HAS_CPP_ATTRIBUTE(no_unique_address)
|
|
26
|
+
#if defined(V8_CC_MSVC) && CPPGC_HAS_CPP_ATTRIBUTE(msvc::no_unique_address)
|
|
27
|
+
// Unfortunately MSVC ignores [[no_unique_address]] (see
|
|
28
|
+
// https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#msvc-extensions-and-abi),
|
|
29
|
+
// and clang-cl matches it for ABI compatibility reasons. We need to prefer
|
|
30
|
+
// [[msvc::no_unique_address]] when available if we actually want any effect.
|
|
31
|
+
#define CPPGC_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
|
|
32
|
+
#elif CPPGC_HAS_CPP_ATTRIBUTE(no_unique_address)
|
|
25
33
|
#define CPPGC_NO_UNIQUE_ADDRESS [[no_unique_address]]
|
|
26
34
|
#else
|
|
27
35
|
#define CPPGC_NO_UNIQUE_ADDRESS
|
|
@@ -94,12 +94,11 @@ struct GCInfoTrait final {
|
|
|
94
94
|
return index;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
static constexpr
|
|
97
|
+
static constexpr void CheckCallbacksAreDefined() {
|
|
98
98
|
// No USE() macro available.
|
|
99
99
|
(void)static_cast<TraceCallback>(TraceTrait<T>::Trace);
|
|
100
100
|
(void)static_cast<FinalizationCallback>(FinalizerTrait<T>::kCallback);
|
|
101
101
|
(void)static_cast<NameCallback>(NameTrait<T>::GetName);
|
|
102
|
-
return true;
|
|
103
102
|
}
|
|
104
103
|
};
|
|
105
104
|
|
|
@@ -127,19 +126,22 @@ struct GCInfoFolding final {
|
|
|
127
126
|
// configuration. Only a single GCInfo (for `ResultType` below) will actually
|
|
128
127
|
// be instantiated but existence (and well-formedness) of all callbacks is
|
|
129
128
|
// checked.
|
|
130
|
-
static constexpr bool
|
|
131
|
-
|
|
129
|
+
static constexpr bool WantToFold() {
|
|
130
|
+
if constexpr ((kHasVirtualDestructorAtBase ||
|
|
131
|
+
kBothTypesAreTriviallyDestructible ||
|
|
132
|
+
kHasCustomFinalizerDispatchAtBase) &&
|
|
133
|
+
!kWantsDetailedObjectNames) {
|
|
134
|
+
GCInfoTrait<T>::CheckCallbacksAreDefined();
|
|
132
135
|
GCInfoTrait<ParentMostGarbageCollectedType>::CheckCallbacksAreDefined();
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
133
140
|
|
|
134
141
|
// Folding would regress name resolution when deriving names from C++
|
|
135
142
|
// class names as it would just folds a name to the base class name.
|
|
136
143
|
using ResultType =
|
|
137
|
-
std::conditional_t<
|
|
138
|
-
(kHasVirtualDestructorAtBase ||
|
|
139
|
-
kBothTypesAreTriviallyDestructible ||
|
|
140
|
-
kHasCustomFinalizerDispatchAtBase) &&
|
|
141
|
-
!kWantsDetailedObjectNames,
|
|
142
|
-
ParentMostGarbageCollectedType, T>;
|
|
144
|
+
std::conditional_t<WantToFold(), ParentMostGarbageCollectedType, T>;
|
|
143
145
|
};
|
|
144
146
|
|
|
145
147
|
} // namespace internal
|
|
@@ -158,6 +158,12 @@ class V8_TRIVIAL_ABI CompressedPointer final {
|
|
|
158
158
|
static V8_INLINE void* Decompress(IntegralType ptr) {
|
|
159
159
|
CPPGC_DCHECK(CageBaseGlobal::IsSet());
|
|
160
160
|
const uintptr_t base = CageBaseGlobal::Get();
|
|
161
|
+
return Decompress(ptr, base);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
static V8_INLINE void* Decompress(IntegralType ptr, uintptr_t base) {
|
|
165
|
+
CPPGC_DCHECK(CageBaseGlobal::IsSet());
|
|
166
|
+
CPPGC_DCHECK(base == CageBaseGlobal::Get());
|
|
161
167
|
// Treat compressed pointer as signed and cast it to uint64_t, which will
|
|
162
168
|
// sign-extend it.
|
|
163
169
|
#if defined(CPPGC_2GB_CAGE)
|
|
@@ -121,7 +121,11 @@ class NameTrait final : public NameTraitBase {
|
|
|
121
121
|
#undef PRETTY_FUNCTION_VALUE
|
|
122
122
|
|
|
123
123
|
#else // !CPPGC_SUPPORTS_OBJECT_NAMES
|
|
124
|
-
|
|
124
|
+
// We wanted to use a class name but were unable to provide one due to
|
|
125
|
+
// compiler limitations or build configuration. As such, return the hidden
|
|
126
|
+
// name with name_was_hidden=false, which will cause this object to be
|
|
127
|
+
// visible in the snapshot.
|
|
128
|
+
return {NameProvider::kHiddenName, false};
|
|
125
129
|
#endif // !CPPGC_SUPPORTS_OBJECT_NAMES
|
|
126
130
|
}
|
|
127
131
|
};
|
|
@@ -55,6 +55,13 @@ class V8_EXPORT NameProvider {
|
|
|
55
55
|
* Specifies a name for the garbage-collected object. Such names will never
|
|
56
56
|
* be hidden, as they are explicitly specified by the user of this API.
|
|
57
57
|
*
|
|
58
|
+
* V8 may call this function while generating a heap snapshot or at other
|
|
59
|
+
* times. If V8 is currently generating a heap snapshot (according to
|
|
60
|
+
* HeapProfiler::IsTakingSnapshot), then the returned string must stay alive
|
|
61
|
+
* until the snapshot generation has completed. Otherwise, the returned string
|
|
62
|
+
* must stay alive forever. If you need a place to store a temporary string
|
|
63
|
+
* during snapshot generation, use HeapProfiler::CopyNameForHeapSnapshot.
|
|
64
|
+
*
|
|
58
65
|
* @returns a human readable name for the object.
|
|
59
66
|
*/
|
|
60
67
|
virtual const char* GetHumanReadableName() const = 0;
|
package/include/node/node.h
CHANGED
|
@@ -1552,24 +1552,14 @@ void RegisterSignalHandler(int signal,
|
|
|
1552
1552
|
bool reset_handler = false);
|
|
1553
1553
|
#endif // _WIN32
|
|
1554
1554
|
|
|
1555
|
-
//
|
|
1556
|
-
//
|
|
1557
|
-
//
|
|
1558
|
-
//
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
// work.
|
|
1564
|
-
// If the CppHeap is owned by Node.js, which is usually the case for addon,
|
|
1565
|
-
// the object must be created with at least two internal fields available,
|
|
1566
|
-
// and the first two internal fields would be configured by Node.js.
|
|
1567
|
-
// This may be superseded by a V8 API in the future, see
|
|
1568
|
-
// https://bugs.chromium.org/p/v8/issues/detail?id=13960. Until then this
|
|
1569
|
-
// serves as a helper for Node.js isolates.
|
|
1570
|
-
NODE_EXTERN void SetCppgcReference(v8::Isolate* isolate,
|
|
1571
|
-
v8::Local<v8::Object> object,
|
|
1572
|
-
void* wrappable);
|
|
1555
|
+
// This is kept as a compatibility layer for addons to wrap cppgc-managed
|
|
1556
|
+
// objects on Node.js versions without v8::Object::Wrap(). Addons created to
|
|
1557
|
+
// work with only Node.js versions with v8::Object::Wrap() should use that
|
|
1558
|
+
// instead.
|
|
1559
|
+
NODE_DEPRECATED("Use v8::Object::Wrap()",
|
|
1560
|
+
NODE_EXTERN void SetCppgcReference(v8::Isolate* isolate,
|
|
1561
|
+
v8::Local<v8::Object> object,
|
|
1562
|
+
void* wrappable));
|
|
1573
1563
|
|
|
1574
1564
|
} // namespace node
|
|
1575
1565
|
|
package/include/node/node_api.h
CHANGED
|
@@ -135,6 +135,18 @@ napi_create_external_buffer(napi_env env,
|
|
|
135
135
|
void* finalize_hint,
|
|
136
136
|
napi_value* result);
|
|
137
137
|
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
|
|
138
|
+
|
|
139
|
+
#ifdef NAPI_EXPERIMENTAL
|
|
140
|
+
#define NODE_API_EXPERIMENTAL_HAS_CREATE_BUFFER_FROM_ARRAYBUFFER
|
|
141
|
+
|
|
142
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
143
|
+
node_api_create_buffer_from_arraybuffer(napi_env env,
|
|
144
|
+
napi_value arraybuffer,
|
|
145
|
+
size_t byte_offset,
|
|
146
|
+
size_t byte_length,
|
|
147
|
+
napi_value* result);
|
|
148
|
+
#endif // NAPI_EXPERIMENTAL
|
|
149
|
+
|
|
138
150
|
NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer_copy(napi_env env,
|
|
139
151
|
size_t length,
|
|
140
152
|
const void* data,
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
#ifndef SRC_NODE_VERSION_H_
|
|
23
23
|
#define SRC_NODE_VERSION_H_
|
|
24
24
|
|
|
25
|
-
#define NODE_MAJOR_VERSION
|
|
26
|
-
#define NODE_MINOR_VERSION
|
|
25
|
+
#define NODE_MAJOR_VERSION 23
|
|
26
|
+
#define NODE_MINOR_VERSION 1
|
|
27
27
|
#define NODE_PATCH_VERSION 0
|
|
28
28
|
|
|
29
29
|
#define NODE_VERSION_IS_LTS 0
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
#if defined(NODE_EMBEDDER_MODULE_VERSION)
|
|
96
96
|
#define NODE_MODULE_VERSION NODE_EMBEDDER_MODULE_VERSION
|
|
97
97
|
#else
|
|
98
|
-
#define NODE_MODULE_VERSION
|
|
98
|
+
#define NODE_MODULE_VERSION 131
|
|
99
99
|
#endif
|
|
100
100
|
|
|
101
101
|
// The NAPI_VERSION supported by the runtime. This is the inclusive range of
|