node-aix-ppc64 23.11.0 → 24.0.1

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 (71) hide show
  1. package/CHANGELOG.md +446 -1929
  2. package/LICENSE +2 -2
  3. package/README.md +4 -0
  4. package/bin/node +0 -0
  5. package/include/node/common.gypi +4 -11
  6. package/include/node/config.gypi +4 -6
  7. package/include/node/cppgc/allocation.h +1 -2
  8. package/include/node/cppgc/default-platform.h +3 -2
  9. package/include/node/cppgc/heap-consistency.h +1 -1
  10. package/include/node/cppgc/internal/api-constants.h +0 -17
  11. package/include/node/cppgc/internal/base-page-handle.h +2 -4
  12. package/include/node/cppgc/internal/caged-heap-local-data.h +0 -4
  13. package/include/node/cppgc/internal/caged-heap.h +0 -4
  14. package/include/node/cppgc/internal/conditional-stack-allocated.h +41 -0
  15. package/include/node/cppgc/internal/logging.h +3 -3
  16. package/include/node/cppgc/internal/member-storage.h +63 -20
  17. package/include/node/cppgc/internal/persistent-node.h +8 -3
  18. package/include/node/cppgc/internal/pointer-policies.h +48 -11
  19. package/include/node/cppgc/macros.h +21 -0
  20. package/include/node/cppgc/member.h +70 -36
  21. package/include/node/cppgc/name-provider.h +3 -0
  22. package/include/node/cppgc/platform.h +11 -0
  23. package/include/node/cppgc/type-traits.h +1 -0
  24. package/include/node/cppgc/visitor.h +25 -1
  25. package/include/node/libplatform/libplatform-export.h +2 -2
  26. package/include/node/libplatform/v8-tracing.h +0 -1
  27. package/include/node/node.exp +27719 -25103
  28. package/include/node/node.h +58 -15
  29. package/include/node/node_version.h +4 -4
  30. package/include/node/v8-array-buffer.h +111 -34
  31. package/include/node/v8-callbacks.h +84 -26
  32. package/include/node/v8-context.h +7 -6
  33. package/include/node/v8-cppgc.h +2 -1
  34. package/include/node/v8-data.h +5 -0
  35. package/include/node/v8-debug.h +11 -0
  36. package/include/node/v8-embedder-heap.h +1 -32
  37. package/include/node/v8-exception.h +2 -0
  38. package/include/node/v8-function-callback.h +4 -33
  39. package/include/node/v8-function.h +7 -0
  40. package/include/node/v8-handle-base.h +18 -0
  41. package/include/node/v8-initialization.h +9 -1
  42. package/include/node/v8-internal.h +477 -399
  43. package/include/node/v8-isolate.h +218 -151
  44. package/include/node/v8-local-handle.h +56 -28
  45. package/include/node/v8-maybe.h +2 -1
  46. package/include/node/v8-memory-span.h +149 -24
  47. package/include/node/v8-message.h +9 -1
  48. package/include/node/v8-object.h +7 -2
  49. package/include/node/v8-persistent-handle.h +17 -17
  50. package/include/node/v8-platform.h +48 -13
  51. package/include/node/v8-primitive.h +131 -6
  52. package/include/node/v8-profiler.h +13 -1
  53. package/include/node/v8-proxy.h +0 -1
  54. package/include/node/v8-regexp.h +0 -1
  55. package/include/node/v8-sandbox.h +3 -3
  56. package/include/node/v8-script.h +21 -3
  57. package/include/node/v8-source-location.h +6 -1
  58. package/include/node/v8-template.h +8 -2
  59. package/include/node/v8-traced-handle.h +16 -17
  60. package/include/node/v8-typed-array.h +6 -10
  61. package/include/node/v8-value.h +18 -0
  62. package/include/node/v8-version.h +4 -4
  63. package/include/node/v8-wasm.h +24 -0
  64. package/include/node/v8-weak-callback-info.h +20 -12
  65. package/include/node/v8.h +3 -3
  66. package/include/node/v8config.h +34 -40
  67. package/package.json +1 -1
  68. package/share/doc/node/gdbinit +94 -30
  69. package/share/doc/node/lldb_commands.py +107 -13
  70. package/share/man/man1/node.1 +3 -0
  71. package/include/node/cppgc/ephemeron-pair.h +0 -30
@@ -21,37 +21,10 @@ class Value;
21
21
  */
22
22
  class V8_EXPORT EmbedderRootsHandler {
23
23
  public:
24
- enum class RootHandling {
25
- kQueryEmbedderForNonDroppableReferences,
26
- kDontQueryEmbedderForAnyReference,
27
- };
28
-
29
24
  virtual ~EmbedderRootsHandler() = default;
30
25
 
31
26
  EmbedderRootsHandler() = default;
32
27
 
33
- V8_DEPRECATED("Use the default constructor instead.")
34
- explicit EmbedderRootsHandler(RootHandling default_traced_reference_handling)
35
- : default_traced_reference_handling_(default_traced_reference_handling) {}
36
-
37
- /**
38
- * Returns true if the |TracedReference| handle should be considered as root
39
- * for the currently running non-tracing garbage collection and false
40
- * otherwise. The default implementation will keep all |TracedReference|
41
- * references as roots.
42
- *
43
- * If this returns false, then V8 may decide that the object referred to by
44
- * such a handle is reclaimed. In that case, V8 calls |ResetRoot()| for the
45
- * |TracedReference|.
46
- *
47
- * Note that the `handle` is different from the handle that the embedder holds
48
- * for retaining the object.
49
- *
50
- * The concrete implementations must be thread-safe.
51
- */
52
- V8_DEPRECATED("Use TracedReferenceHandling::kDroppable instead.")
53
- virtual bool IsRoot(const v8::TracedReference<v8::Value>& handle) = 0;
54
-
55
28
  /**
56
29
  * Used in combination with |IsRoot|. Called by V8 when an
57
30
  * object that is backed by a handle is reclaimed by a non-tracing garbage
@@ -69,14 +42,10 @@ class V8_EXPORT EmbedderRootsHandler {
69
42
  * |false| is returned, |ResetRoot()| will be recalled for the same handle.
70
43
  */
71
44
  virtual bool TryResetRoot(const v8::TracedReference<v8::Value>& handle) {
72
- ResetRoot(handle);
73
- return true;
45
+ return false;
74
46
  }
75
47
 
76
48
  private:
77
- const RootHandling default_traced_reference_handling_ =
78
- RootHandling::kDontQueryEmbedderForAnyReference;
79
-
80
49
  friend class internal::TracedHandles;
81
50
  };
82
51
 
@@ -45,6 +45,8 @@ class V8_EXPORT Exception {
45
45
  Local<Value> options = {});
46
46
  static Local<Value> WasmRuntimeError(Local<String> message,
47
47
  Local<Value> options = {});
48
+ static Local<Value> WasmSuspendError(Local<String> message,
49
+ Local<Value> options = {});
48
50
  static Local<Value> Error(Local<String> message, Local<Value> options = {});
49
51
 
50
52
  /**
@@ -126,23 +126,6 @@ class FunctionCallbackInfo {
126
126
  V8_INLINE Local<Value> operator[](int i) const;
127
127
  /** Returns the receiver. This corresponds to the "this" value. */
128
128
  V8_INLINE Local<Object> This() const;
129
- /**
130
- * If the callback was created without a Signature, this is the same
131
- * value as This(). If there is a signature, and the signature didn't match
132
- * This() but one of its hidden prototypes, this will be the respective
133
- * hidden prototype.
134
- *
135
- * Note that this is not the prototype of This() on which the accessor
136
- * referencing this callback was found (which in V8 internally is often
137
- * referred to as holder [sic]).
138
- */
139
- V8_DEPRECATED(
140
- "V8 will stop providing access to hidden prototype (i.e. "
141
- "JSGlobalObject). Use This() instead. \n"
142
- "DO NOT try to workaround this by accessing JSGlobalObject via "
143
- "v8::Object::GetPrototype() - it'll be deprecated soon too. \n"
144
- "See http://crbug.com/333672197. ")
145
- V8_INLINE Local<Object> Holder() const;
146
129
  /** For construct calls, this returns the "new.target" value. */
147
130
  V8_INLINE Local<Value> NewTarget() const;
148
131
  /** Indicates whether this is a regular call or a construct call. */
@@ -154,18 +137,16 @@ class FunctionCallbackInfo {
154
137
  /** The ReturnValue for the call. */
155
138
  V8_INLINE ReturnValue<T> GetReturnValue() const;
156
139
 
157
- // This is a temporary replacement for Holder() added just for the purpose
158
- // of testing the deprecated Holder() machinery until it's removed for real.
159
- // DO NOT use it.
160
- V8_INLINE Local<Object> HolderSoonToBeDeprecated() const;
161
-
162
140
  private:
163
141
  friend class internal::FunctionCallbackArguments;
164
142
  friend class internal::CustomArguments<FunctionCallbackInfo>;
165
143
  friend class debug::ConsoleCallArguments;
166
144
  friend void internal::PrintFunctionCallbackInfo(void*);
167
145
 
168
- static constexpr int kHolderIndex = 0;
146
+ // TODO(ishell, http://crbug.com/326505377): in case of non-constructor
147
+ // call, don't pass kNewTarget and kUnused. Add IsConstructCall flag to
148
+ // kIsolate field.
149
+ static constexpr int kUnusedIndex = 0;
169
150
  static constexpr int kIsolateIndex = 1;
170
151
  static constexpr int kContextIndex = 2;
171
152
  static constexpr int kReturnValueIndex = 3;
@@ -649,16 +630,6 @@ Local<Object> FunctionCallbackInfo<T>::This() const {
649
630
  return Local<Object>::FromSlot(values_ + kThisValuesIndex);
650
631
  }
651
632
 
652
- template <typename T>
653
- Local<Object> FunctionCallbackInfo<T>::HolderSoonToBeDeprecated() const {
654
- return Local<Object>::FromSlot(&implicit_args_[kHolderIndex]);
655
- }
656
-
657
- template <typename T>
658
- Local<Object> FunctionCallbackInfo<T>::Holder() const {
659
- return HolderSoonToBeDeprecated();
660
- }
661
-
662
633
  template <typename T>
663
634
  Local<Value> FunctionCallbackInfo<T>::NewTarget() const {
664
635
  return Local<Value>::FromSlot(&implicit_args_[kNewTargetIndex]);
@@ -18,6 +18,7 @@
18
18
  namespace v8 {
19
19
 
20
20
  class Context;
21
+ class Location;
21
22
  class UnboundScript;
22
23
 
23
24
  /**
@@ -88,6 +89,12 @@ class V8_EXPORT Function : public Object {
88
89
  */
89
90
  int GetScriptColumnNumber() const;
90
91
 
92
+ /**
93
+ * Returns zero based line and column number of function body, else returns
94
+ * {-1, -1}.
95
+ */
96
+ Location GetScriptLocation() const;
97
+
91
98
  /**
92
99
  * Returns zero based start position (character offset) of function body and
93
100
  * kLineOffsetNotFound if no information available.
@@ -43,7 +43,11 @@ class V8_TRIVIAL_ABI StackAllocated<true> : public StackAllocated<false> {
43
43
  no_checking_tag tag)
44
44
  : StackAllocated<false>(other, tag) {}
45
45
 
46
+ #ifdef ENABLE_SLOW_DCHECKS
46
47
  V8_EXPORT void VerifyOnStack() const;
48
+ #else
49
+ V8_INLINE V8_EXPORT void VerifyOnStack() const {}
50
+ #endif
47
51
  };
48
52
 
49
53
  /**
@@ -86,6 +90,16 @@ class IndirectHandleBase {
86
90
  return internal::ValueHelper::SlotAsValue<T, check_null>(slot());
87
91
  }
88
92
 
93
+ #ifdef V8_ENABLE_DIRECT_HANDLE
94
+ V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
95
+ return location_ ? *location_ : internal::ValueHelper::kEmpty;
96
+ }
97
+ #else
98
+ V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
99
+ return location_;
100
+ }
101
+ #endif // V8_ENABLE_DIRECT_HANDLE
102
+
89
103
  private:
90
104
  internal::Address* location_ = nullptr;
91
105
  };
@@ -126,6 +140,10 @@ class DirectHandleBase {
126
140
  return reinterpret_cast<T*>(ptr_);
127
141
  }
128
142
 
143
+ V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
144
+ return ptr_;
145
+ }
146
+
129
147
  private:
130
148
  internal::Address ptr_ = internal::ValueHelper::kEmpty;
131
149
  };
@@ -112,11 +112,18 @@ class V8_EXPORT V8 {
112
112
  const bool kV8TargetOsIsAndroid = false;
113
113
  #endif
114
114
 
115
+ #ifdef V8_ENABLE_CHECKS
116
+ const bool kV8EnableChecks = true;
117
+ #else
118
+ const bool kV8EnableChecks = false;
119
+ #endif
120
+
115
121
  const int kBuildConfiguration =
116
122
  (internal::PointerCompressionIsEnabled() ? kPointerCompression : 0) |
117
123
  (internal::SmiValuesAre31Bits() ? k31BitSmis : 0) |
118
124
  (internal::SandboxIsEnabled() ? kSandbox : 0) |
119
- (kV8TargetOsIsAndroid ? kTargetOsIsAndroid : 0);
125
+ (kV8TargetOsIsAndroid ? kTargetOsIsAndroid : 0) |
126
+ (kV8EnableChecks ? kEnableChecks : 0);
120
127
  return Initialize(kBuildConfiguration);
121
128
  }
122
129
 
@@ -288,6 +295,7 @@ class V8_EXPORT V8 {
288
295
  k31BitSmis = 1 << 1,
289
296
  kSandbox = 1 << 2,
290
297
  kTargetOsIsAndroid = 1 << 3,
298
+ kEnableChecks = 1 << 4,
291
299
  };
292
300
 
293
301
  /**