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.
Files changed (57) hide show
  1. package/CHANGELOG.md +527 -2239
  2. package/README.md +9 -14
  3. package/bin/node +0 -0
  4. package/include/node/common.gypi +3 -3
  5. package/include/node/config.gypi +5 -4
  6. package/include/node/cppgc/allocation.h +10 -11
  7. package/include/node/cppgc/garbage-collected.h +8 -0
  8. package/include/node/cppgc/heap-statistics.h +2 -0
  9. package/include/node/cppgc/internal/api-constants.h +6 -1
  10. package/include/node/cppgc/internal/compiler-specific.h +9 -1
  11. package/include/node/cppgc/internal/gc-info.h +12 -10
  12. package/include/node/cppgc/internal/member-storage.h +6 -0
  13. package/include/node/cppgc/internal/name-trait.h +5 -1
  14. package/include/node/cppgc/name-provider.h +7 -0
  15. package/include/node/node.h +8 -18
  16. package/include/node/node_api.h +12 -0
  17. package/include/node/node_version.h +3 -3
  18. package/include/node/uv/tree.h +3 -250
  19. package/include/node/uv/version.h +2 -2
  20. package/include/node/uv/win.h +2 -2
  21. package/include/node/uv.h +45 -17
  22. package/include/node/v8-array-buffer.h +44 -24
  23. package/include/node/v8-callbacks.h +10 -5
  24. package/include/node/v8-context.h +41 -9
  25. package/include/node/v8-cppgc.h +3 -55
  26. package/include/node/v8-date.h +9 -0
  27. package/include/node/v8-embedder-heap.h +4 -1
  28. package/include/node/v8-exception.h +70 -0
  29. package/include/node/v8-function-callback.h +203 -62
  30. package/include/node/v8-function.h +4 -3
  31. package/include/node/v8-handle-base.h +2 -2
  32. package/include/node/v8-initialization.h +18 -1
  33. package/include/node/v8-internal.h +303 -58
  34. package/include/node/v8-isolate.h +51 -39
  35. package/include/node/v8-local-handle.h +18 -19
  36. package/include/node/v8-message.h +0 -21
  37. package/include/node/v8-microtask-queue.h +0 -5
  38. package/include/node/v8-object.h +284 -35
  39. package/include/node/v8-persistent-handle.h +0 -19
  40. package/include/node/v8-platform.h +21 -35
  41. package/include/node/v8-primitive.h +92 -1
  42. package/include/node/v8-profiler.h +38 -1
  43. package/include/node/v8-promise.h +2 -2
  44. package/include/node/v8-sandbox.h +173 -0
  45. package/include/node/v8-script.h +44 -14
  46. package/include/node/v8-snapshot.h +38 -2
  47. package/include/node/v8-template.h +105 -263
  48. package/include/node/v8-traced-handle.h +4 -15
  49. package/include/node/v8-unwinder.h +2 -1
  50. package/include/node/v8-value.h +3 -2
  51. package/include/node/v8-version.h +3 -3
  52. package/include/node/v8-wasm.h +3 -0
  53. package/include/node/v8config.h +47 -7
  54. package/package.json +1 -1
  55. package/share/doc/node/gdbinit +41 -3
  56. package/share/doc/node/lldb_commands.py +7 -2
  57. package/share/man/man1/node.1 +0 -14
@@ -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 __cplusplus >= 201703L && !__has_include("v8-gn.h")
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 instead of actually adding annotations.
482
- # define V8_ASSUME DCHECK
483
- #elif V8_HAS_BUILTIN_ASSUME
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
- #if __cplusplus >= 202002L && defined(__cpp_lib_assume_aligned)
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 [[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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-linux-arm64",
3
- "version": "v22.10.0",
3
+ "version": "v23.1.0",
4
4
  "description": "node",
5
5
  "bin": {
6
6
  "node": "bin/node"
@@ -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 v8_enable_direct_local=true, v8::Local contains a ptr_.
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 of the given v8 Map.
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
- result = print_func(value)
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 v8_enable_direct_local=true, v8::Local contains a ptr_.
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)
@@ -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
  .