node-linux-arm64 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 +5 -4
- 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/include/node/v8config.h
CHANGED
|
@@ -5,8 +5,16 @@
|
|
|
5
5
|
#ifndef V8CONFIG_H_
|
|
6
6
|
#define V8CONFIG_H_
|
|
7
7
|
|
|
8
|
+
// gcc 10 defines __cplusplus to "an unspecified value strictly larger than
|
|
9
|
+
// 201703L" for its experimental -std=gnu++2a config.
|
|
10
|
+
// TODO(leszeks): Change to `__cplusplus <= 202002L` once we only support
|
|
11
|
+
// compilers with full C++20 support.
|
|
12
|
+
#if __cplusplus <= 201703L
|
|
13
|
+
#error "C++20 or later required."
|
|
14
|
+
#endif
|
|
15
|
+
|
|
8
16
|
#ifdef V8_GN_HEADER
|
|
9
|
-
#if
|
|
17
|
+
#if !__has_include("v8-gn.h")
|
|
10
18
|
#error Missing v8-gn.h. The configuration for v8 is missing from the include \
|
|
11
19
|
path. Add it with -I<path> to the command line
|
|
12
20
|
#endif
|
|
@@ -23,6 +31,8 @@ path. Add it with -I<path> to the command line
|
|
|
23
31
|
# include <TargetConditionals.h>
|
|
24
32
|
#elif defined(__linux__)
|
|
25
33
|
# include <features.h>
|
|
34
|
+
#elif defined(__MVS__)
|
|
35
|
+
# include "zos-base.h"
|
|
26
36
|
#endif
|
|
27
37
|
|
|
28
38
|
|
|
@@ -83,6 +93,7 @@ path. Add it with -I<path> to the command line
|
|
|
83
93
|
// V8_OS_STARBOARD - Starboard (platform abstraction for Cobalt)
|
|
84
94
|
// V8_OS_AIX - AIX
|
|
85
95
|
// V8_OS_WIN - Microsoft Windows
|
|
96
|
+
// V8_OS_ZOS - z/OS
|
|
86
97
|
|
|
87
98
|
#if defined(__ANDROID__)
|
|
88
99
|
# define V8_OS_ANDROID 1
|
|
@@ -163,6 +174,11 @@ path. Add it with -I<path> to the command line
|
|
|
163
174
|
#elif defined(_WIN32)
|
|
164
175
|
# define V8_OS_WIN 1
|
|
165
176
|
# define V8_OS_STRING "windows"
|
|
177
|
+
|
|
178
|
+
#elif defined(__MVS__)
|
|
179
|
+
# define V8_OS_POSIX 1
|
|
180
|
+
# define V8_OS_ZOS 1
|
|
181
|
+
# define V8_OS_STRING "zos"
|
|
166
182
|
#endif
|
|
167
183
|
|
|
168
184
|
// -----------------------------------------------------------------------------
|
|
@@ -376,8 +392,14 @@ path. Add it with -I<path> to the command line
|
|
|
376
392
|
# define V8_HAS_ATTRIBUTE_WEAK (__has_attribute(weak))
|
|
377
393
|
|
|
378
394
|
# define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
|
|
395
|
+
#if defined(V8_CC_MSVC)
|
|
396
|
+
# define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
|
|
397
|
+
(V8_HAS_CPP_ATTRIBUTE(msvc::no_unique_address) || \
|
|
398
|
+
V8_HAS_CPP_ATTRIBUTE(no_unique_address))
|
|
399
|
+
#else
|
|
379
400
|
# define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
|
|
380
401
|
(V8_HAS_CPP_ATTRIBUTE(no_unique_address))
|
|
402
|
+
#endif
|
|
381
403
|
|
|
382
404
|
# define V8_HAS_BUILTIN_ADD_OVERFLOW (__has_builtin(__builtin_add_overflow))
|
|
383
405
|
# define V8_HAS_BUILTIN_ASSUME (__has_builtin(__builtin_assume))
|
|
@@ -477,22 +499,32 @@ path. Add it with -I<path> to the command line
|
|
|
477
499
|
# define V8_INLINE inline
|
|
478
500
|
#endif
|
|
479
501
|
|
|
502
|
+
#if V8_HAS_BUILTIN_ASSUME
|
|
480
503
|
#ifdef DEBUG
|
|
481
|
-
// In debug mode, check assumptions
|
|
482
|
-
|
|
483
|
-
|
|
504
|
+
// In debug mode, check assumptions in addition to adding annotations.
|
|
505
|
+
// This helps GCC (and maybe other compilers) figure out that certain
|
|
506
|
+
// situations are unreachable.
|
|
507
|
+
# define V8_ASSUME(condition) \
|
|
508
|
+
do { \
|
|
509
|
+
DCHECK(condition); \
|
|
510
|
+
__builtin_assume(condition); \
|
|
511
|
+
} while (false)
|
|
512
|
+
#else // DEBUG
|
|
484
513
|
# define V8_ASSUME __builtin_assume
|
|
514
|
+
#endif // DEBUG
|
|
485
515
|
#elif V8_HAS_BUILTIN_UNREACHABLE
|
|
486
516
|
# define V8_ASSUME(condition) \
|
|
487
517
|
do { \
|
|
518
|
+
DCHECK(condition); \
|
|
488
519
|
if (!(condition)) __builtin_unreachable(); \
|
|
489
520
|
} while (false)
|
|
490
521
|
#else
|
|
491
522
|
# define V8_ASSUME USE
|
|
492
523
|
#endif
|
|
493
524
|
|
|
494
|
-
// Prefer c++20 std::assume_aligned
|
|
495
|
-
|
|
525
|
+
// Prefer c++20 std::assume_aligned. Don't use it on MSVC though, because it's
|
|
526
|
+
// not happy with our large 4GB alignment values.
|
|
527
|
+
#if __cplusplus >= 202002L && defined(__cpp_lib_assume_aligned) && !V8_CC_MSVC
|
|
496
528
|
# define V8_ASSUME_ALIGNED(ptr, alignment) \
|
|
497
529
|
std::assume_aligned<(alignment)>(ptr)
|
|
498
530
|
#elif V8_HAS_BUILTIN_ASSUME_ALIGNED
|
|
@@ -645,7 +677,7 @@ path. Add it with -I<path> to the command line
|
|
|
645
677
|
// V8_NODISCARD Foo() { ... };
|
|
646
678
|
// [[nodiscard]] comes in C++17 but supported in clang with -std >= c++11.
|
|
647
679
|
#if V8_HAS_CPP_ATTRIBUTE_NODISCARD
|
|
648
|
-
#define V8_NODISCARD
|
|
680
|
+
#define V8_NODISCARD
|
|
649
681
|
#else
|
|
650
682
|
#define V8_NODISCARD /* NOT SUPPORTED */
|
|
651
683
|
#endif
|
|
@@ -666,7 +698,15 @@ path. Add it with -I<path> to the command line
|
|
|
666
698
|
// [[no_unique_address]] comes in C++20 but supported in clang with
|
|
667
699
|
// -std >= c++11.
|
|
668
700
|
#if V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
|
|
701
|
+
#if defined(V8_CC_MSVC) && V8_HAS_CPP_ATTRIBUTE(msvc::no_unique_address)
|
|
702
|
+
// Unfortunately MSVC ignores [[no_unique_address]] (see
|
|
703
|
+
// https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#msvc-extensions-and-abi),
|
|
704
|
+
// and clang-cl matches it for ABI compatibility reasons. We need to prefer
|
|
705
|
+
// [[msvc::no_unique_address]] when available if we actually want any effect.
|
|
706
|
+
#define V8_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
|
|
707
|
+
#else
|
|
669
708
|
#define V8_NO_UNIQUE_ADDRESS [[no_unique_address]]
|
|
709
|
+
#endif
|
|
670
710
|
#else
|
|
671
711
|
#define V8_NO_UNIQUE_ADDRESS /* NOT SUPPORTED */
|
|
672
712
|
#endif
|
package/package.json
CHANGED
package/share/doc/node/gdbinit
CHANGED
|
@@ -63,7 +63,7 @@ class PrintV8LocalCommand(PrintV8HandleCommand):
|
|
|
63
63
|
# Before https://crrev.com/c/4335544, v8::Local contained a val_.
|
|
64
64
|
if gdb.types.has_field(value.type, "val_"):
|
|
65
65
|
return self.print_indirect(value["val_"], from_tty)
|
|
66
|
-
# With
|
|
66
|
+
# With v8_enable_direct_handle=true, v8::Local contains a ptr_.
|
|
67
67
|
if gdb.types.has_field(value.type, "ptr_"):
|
|
68
68
|
return self.print_direct(value["ptr_"], from_tty)
|
|
69
69
|
# We don't know how to print this...
|
|
@@ -127,13 +127,22 @@ end
|
|
|
127
127
|
|
|
128
128
|
# Print TransitionTree.
|
|
129
129
|
define jtt
|
|
130
|
-
call (void) _v8_internal_Print_TransitionTree((void*)($arg0))
|
|
130
|
+
call (void) _v8_internal_Print_TransitionTree((void*)($arg0), false)
|
|
131
131
|
end
|
|
132
132
|
document jtt
|
|
133
|
-
Print the complete transition tree
|
|
133
|
+
Print the complete transition tree starting at the given v8 map.
|
|
134
134
|
Usage: jtt tagged_ptr
|
|
135
135
|
end
|
|
136
136
|
|
|
137
|
+
# Print TransitionTree starting from the root map.
|
|
138
|
+
define jttr
|
|
139
|
+
call (void) _v8_internal_Print_TransitionTree((void*)($arg0), true)
|
|
140
|
+
end
|
|
141
|
+
document jttr
|
|
142
|
+
Print the complete transition tree starting at the root map of the given v8 map.
|
|
143
|
+
Usage: jttr tagged_ptr
|
|
144
|
+
end
|
|
145
|
+
|
|
137
146
|
# Print JavaScript stack trace.
|
|
138
147
|
define jst
|
|
139
148
|
call (void) _v8_internal_Print_StackTrace()
|
|
@@ -164,6 +173,35 @@ Skip the jitted stack on x64 to where we entered JS last.
|
|
|
164
173
|
Usage: jss
|
|
165
174
|
end
|
|
166
175
|
|
|
176
|
+
# Print v8::FunctionCallbackInfo<T>& info.
|
|
177
|
+
define jfci
|
|
178
|
+
call _v8_internal_Print_FunctionCallbackInfo((void*)(&$arg0))
|
|
179
|
+
end
|
|
180
|
+
document jfci
|
|
181
|
+
Print v8::FunctionCallbackInfo<T>& info.
|
|
182
|
+
Usage: jfci info
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# Print v8::PropertyCallbackInfo<T>& info.
|
|
186
|
+
define jpci
|
|
187
|
+
call _v8_internal_Print_PropertyCallbackInfo((void*)(&$arg0))
|
|
188
|
+
end
|
|
189
|
+
document jpci
|
|
190
|
+
Print v8::PropertyCallbackInfo<T>& info.
|
|
191
|
+
Usage: jpci info
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Print whether the object is marked, the mark-bit cell and index. The address
|
|
195
|
+
# of the cell is handy for reverse debugging to check when the object was
|
|
196
|
+
# marked/unmarked.
|
|
197
|
+
define jomb
|
|
198
|
+
call _v8_internal_Print_Object_MarkBit((void*)($arg0))
|
|
199
|
+
end
|
|
200
|
+
document jomb
|
|
201
|
+
Print whether the object is marked, the markbit cell and index.
|
|
202
|
+
Usage: jomb tagged_ptr
|
|
203
|
+
end
|
|
204
|
+
|
|
167
205
|
# Execute a simulator command.
|
|
168
206
|
python
|
|
169
207
|
import gdb
|
|
@@ -52,7 +52,12 @@ def ptr_arg_cmd(debugger, name, param, cmd, print_error=True):
|
|
|
52
52
|
|
|
53
53
|
def print_handle(debugger, command_name, param, print_func):
|
|
54
54
|
value = current_frame(debugger).EvaluateExpression(param)
|
|
55
|
-
|
|
55
|
+
error = value.GetError()
|
|
56
|
+
if error.fail:
|
|
57
|
+
print("Error evaluating {}\n{}".format(param, error))
|
|
58
|
+
return (False, error, "")
|
|
59
|
+
# Attempt to print, ignoring visualizers if they are enabled
|
|
60
|
+
result = print_func(value.GetNonSyntheticValue())
|
|
56
61
|
if not result[0]:
|
|
57
62
|
print("{} cannot print a value of type {}".format(command_name,
|
|
58
63
|
value.type.name))
|
|
@@ -123,7 +128,7 @@ def jlh(debugger, param, *args):
|
|
|
123
128
|
field = value.GetValueForExpressionPath(".val_")
|
|
124
129
|
if field.IsValid():
|
|
125
130
|
return print_indirect(debugger, 'jlh', field.value)
|
|
126
|
-
# With
|
|
131
|
+
# With v8_enable_direct_handle=true, v8::Local contains a ptr_.
|
|
127
132
|
field = value.GetValueForExpressionPath(".ptr_")
|
|
128
133
|
if field.IsValid():
|
|
129
134
|
return print_direct(debugger, 'jlh', field.value)
|
package/share/man/man1/node.1
CHANGED
|
@@ -206,21 +206,12 @@ Enable transformation of TypeScript-only syntax into JavaScript code.
|
|
|
206
206
|
.It Fl -experimental-eventsource
|
|
207
207
|
Enable experimental support for the EventSource Web API.
|
|
208
208
|
.
|
|
209
|
-
.It Fl -no-experimental-fetch
|
|
210
|
-
Disable experimental support for the Fetch API.
|
|
211
|
-
.
|
|
212
209
|
.It Fl -no-experimental-websocket
|
|
213
210
|
Disable experimental support for the WebSocket API.
|
|
214
211
|
.
|
|
215
212
|
.It Fl -experimental-webstorage
|
|
216
213
|
Enable experimental support for the Web Storage API.
|
|
217
214
|
.
|
|
218
|
-
.It Fl -no-experimental-global-customevent
|
|
219
|
-
Disable exposition of the CustomEvent on the global scope.
|
|
220
|
-
.
|
|
221
|
-
.It Fl -no-experimental-global-webcrypto
|
|
222
|
-
Disable exposition of the Web Crypto API on the global scope.
|
|
223
|
-
.
|
|
224
215
|
.It Fl -no-experimental-repl-await
|
|
225
216
|
Disable top-level await keyword support in REPL.
|
|
226
217
|
.
|
|
@@ -536,11 +527,6 @@ but the option is supported for compatibility with older Node.js versions.
|
|
|
536
527
|
Set default minVersion to 'TLSv1.3'. Use to disable support for TLSv1.2 in
|
|
537
528
|
favour of TLSv1.3, which is more secure.
|
|
538
529
|
.
|
|
539
|
-
.It Fl -trace-atomics-wait
|
|
540
|
-
Print short summaries of calls to
|
|
541
|
-
.Sy Atomics.wait() .
|
|
542
|
-
.
|
|
543
|
-
This flag is deprecated.
|
|
544
530
|
.It Fl -trace-deprecation
|
|
545
531
|
Print stack traces for deprecations.
|
|
546
532
|
.
|