node-linux-s390x 17.9.1 → 18.2.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 (211) hide show
  1. package/CHANGELOG.md +418 -1554
  2. package/LICENSE +111 -9
  3. package/README.md +20 -11
  4. package/bin/node +0 -0
  5. package/include/node/common.gypi +2 -2
  6. package/include/node/config.gypi +238 -228
  7. package/include/node/js_native_api.h +367 -363
  8. package/include/node/js_native_api_types.h +13 -4
  9. package/include/node/libplatform/libplatform.h +0 -11
  10. package/include/node/libplatform/v8-tracing.h +0 -1
  11. package/include/node/node.h +17 -3
  12. package/include/node/node_api.h +110 -90
  13. package/include/node/node_api_types.h +8 -10
  14. package/include/node/node_version.h +4 -4
  15. package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +1 -1
  16. package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +1 -1
  17. package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +1 -1
  18. package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +1 -1
  19. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  20. package/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h +1 -1
  21. package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
  22. package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
  23. package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
  24. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
  25. package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
  26. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
  27. package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
  28. package/include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h +1 -1
  29. package/include/node/openssl/archs/aix-gcc/asm/include/openssl/crypto.h +0 -2
  30. package/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslv.h +5 -5
  31. package/include/node/openssl/archs/aix-gcc/asm/include/openssl/ssl.h +0 -11
  32. package/include/node/openssl/archs/aix-gcc/asm/include/openssl/x509.h +4 -4
  33. package/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h +1 -1
  34. package/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/crypto.h +0 -2
  35. package/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  36. package/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/ssl.h +0 -11
  37. package/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/x509.h +4 -4
  38. package/include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h +1 -1
  39. package/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/crypto.h +0 -2
  40. package/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslv.h +5 -5
  41. package/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/ssl.h +0 -11
  42. package/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/x509.h +4 -4
  43. package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +1 -1
  44. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +1 -1
  45. package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +1 -1
  46. package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +1 -1
  47. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +1 -1
  48. package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +1 -1
  49. package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +1 -1
  50. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +1 -1
  51. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +1 -1
  52. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +1 -1
  53. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +1 -1
  54. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +1 -1
  55. package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +1 -1
  56. package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +1 -1
  57. package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +1 -1
  58. package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +1 -1
  59. package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +1 -1
  60. package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +1 -1
  61. package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +1 -1
  62. package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +1 -1
  63. package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +1 -1
  64. package/include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h +1 -1
  65. package/include/node/openssl/archs/linux-ppc/asm/include/openssl/crypto.h +0 -2
  66. package/include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslv.h +5 -5
  67. package/include/node/openssl/archs/linux-ppc/asm/include/openssl/ssl.h +0 -11
  68. package/include/node/openssl/archs/linux-ppc/asm/include/openssl/x509.h +4 -4
  69. package/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h +1 -1
  70. package/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/crypto.h +0 -2
  71. package/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslv.h +5 -5
  72. package/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/ssl.h +0 -11
  73. package/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/x509.h +4 -4
  74. package/include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h +1 -1
  75. package/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/crypto.h +0 -2
  76. package/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslv.h +5 -5
  77. package/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/ssl.h +0 -11
  78. package/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/x509.h +4 -4
  79. package/include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h +1 -1
  80. package/include/node/openssl/archs/linux-ppc64/asm/include/openssl/crypto.h +0 -2
  81. package/include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslv.h +5 -5
  82. package/include/node/openssl/archs/linux-ppc64/asm/include/openssl/ssl.h +0 -11
  83. package/include/node/openssl/archs/linux-ppc64/asm/include/openssl/x509.h +4 -4
  84. package/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h +1 -1
  85. package/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/crypto.h +0 -2
  86. package/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslv.h +5 -5
  87. package/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/ssl.h +0 -11
  88. package/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/x509.h +4 -4
  89. package/include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h +1 -1
  90. package/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/crypto.h +0 -2
  91. package/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslv.h +5 -5
  92. package/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/ssl.h +0 -11
  93. package/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/x509.h +4 -4
  94. package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +1 -1
  95. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +1 -1
  96. package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +1 -1
  97. package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +1 -1
  98. package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  99. package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +1 -1
  100. package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +1 -1
  101. package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +1 -1
  102. package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +1 -1
  103. package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +1 -1
  104. package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +1 -1
  105. package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +1 -1
  106. package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +1 -1
  107. package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +1 -1
  108. package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +1 -1
  109. package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +1 -1
  110. package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +1 -1
  111. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +1 -1
  112. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +1 -1
  113. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +1 -1
  114. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +1 -1
  115. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +1 -1
  116. package/include/node/openssl/asn1_asm.h +0 -6
  117. package/include/node/openssl/asn1_no-asm.h +0 -6
  118. package/include/node/openssl/asn1t_asm.h +0 -6
  119. package/include/node/openssl/asn1t_no-asm.h +0 -6
  120. package/include/node/openssl/bio_asm.h +0 -6
  121. package/include/node/openssl/bio_no-asm.h +0 -6
  122. package/include/node/openssl/bn_conf_asm.h +0 -6
  123. package/include/node/openssl/bn_conf_no-asm.h +0 -6
  124. package/include/node/openssl/cmp_asm.h +0 -6
  125. package/include/node/openssl/cmp_no-asm.h +0 -6
  126. package/include/node/openssl/cms_asm.h +0 -6
  127. package/include/node/openssl/cms_no-asm.h +0 -6
  128. package/include/node/openssl/conf_asm.h +0 -6
  129. package/include/node/openssl/conf_no-asm.h +0 -6
  130. package/include/node/openssl/configuration_asm.h +0 -6
  131. package/include/node/openssl/configuration_no-asm.h +0 -6
  132. package/include/node/openssl/crmf_asm.h +0 -6
  133. package/include/node/openssl/crmf_no-asm.h +0 -6
  134. package/include/node/openssl/crypto_asm.h +0 -6
  135. package/include/node/openssl/crypto_no-asm.h +0 -6
  136. package/include/node/openssl/ct_asm.h +0 -6
  137. package/include/node/openssl/ct_no-asm.h +0 -6
  138. package/include/node/openssl/dso_conf_asm.h +0 -6
  139. package/include/node/openssl/dso_conf_no-asm.h +0 -6
  140. package/include/node/openssl/err_asm.h +0 -6
  141. package/include/node/openssl/err_no-asm.h +0 -6
  142. package/include/node/openssl/ess_asm.h +0 -6
  143. package/include/node/openssl/ess_no-asm.h +0 -6
  144. package/include/node/openssl/fipskey_asm.h +0 -6
  145. package/include/node/openssl/fipskey_no-asm.h +0 -6
  146. package/include/node/openssl/lhash_asm.h +0 -6
  147. package/include/node/openssl/lhash_no-asm.h +0 -6
  148. package/include/node/openssl/ocsp_asm.h +0 -6
  149. package/include/node/openssl/ocsp_no-asm.h +0 -6
  150. package/include/node/openssl/opensslconf.h +15 -21
  151. package/include/node/openssl/opensslv_asm.h +0 -6
  152. package/include/node/openssl/opensslv_no-asm.h +0 -6
  153. package/include/node/openssl/pkcs12_asm.h +0 -6
  154. package/include/node/openssl/pkcs12_no-asm.h +0 -6
  155. package/include/node/openssl/pkcs7_asm.h +0 -6
  156. package/include/node/openssl/pkcs7_no-asm.h +0 -6
  157. package/include/node/openssl/safestack_asm.h +0 -6
  158. package/include/node/openssl/safestack_no-asm.h +0 -6
  159. package/include/node/openssl/srp_asm.h +0 -6
  160. package/include/node/openssl/srp_no-asm.h +0 -6
  161. package/include/node/openssl/ssl_asm.h +0 -6
  162. package/include/node/openssl/ssl_no-asm.h +0 -6
  163. package/include/node/openssl/ui_asm.h +0 -6
  164. package/include/node/openssl/ui_no-asm.h +0 -6
  165. package/include/node/openssl/x509_asm.h +0 -6
  166. package/include/node/openssl/x509_no-asm.h +0 -6
  167. package/include/node/openssl/x509_vfy_asm.h +0 -6
  168. package/include/node/openssl/x509_vfy_no-asm.h +0 -6
  169. package/include/node/openssl/x509v3_asm.h +0 -6
  170. package/include/node/openssl/x509v3_no-asm.h +0 -6
  171. package/include/node/v8-array-buffer.h +2 -2
  172. package/include/node/v8-callbacks.h +26 -6
  173. package/include/node/v8-context.h +3 -14
  174. package/include/node/v8-data.h +15 -0
  175. package/include/node/v8-debug.h +21 -4
  176. package/include/node/v8-embedder-heap.h +10 -30
  177. package/include/node/v8-embedder-state-scope.h +51 -0
  178. package/include/node/v8-exception.h +0 -7
  179. package/include/node/v8-function.h +3 -0
  180. package/include/node/v8-initialization.h +64 -31
  181. package/include/node/v8-internal.h +189 -102
  182. package/include/node/v8-isolate.h +49 -2
  183. package/include/node/v8-local-handle.h +0 -4
  184. package/include/node/v8-locker.h +2 -1
  185. package/include/node/v8-message.h +19 -44
  186. package/include/node/v8-object.h +11 -6
  187. package/include/node/v8-platform.h +365 -6
  188. package/include/node/v8-primitive.h +14 -6
  189. package/include/node/v8-profiler.h +78 -2
  190. package/include/node/v8-script.h +27 -51
  191. package/include/node/v8-snapshot.h +0 -2
  192. package/include/node/v8-statistics.h +2 -0
  193. package/include/node/v8-template.h +31 -4
  194. package/include/node/v8-traced-handle.h +39 -224
  195. package/include/node/v8-unwinder.h +10 -7
  196. package/include/node/v8-value-serializer.h +32 -2
  197. package/include/node/v8-version.h +4 -4
  198. package/include/node/v8-wasm.h +13 -1
  199. package/include/node/v8-weak-callback-info.h +20 -6
  200. package/include/node/v8.h +0 -1
  201. package/include/node/v8config.h +56 -11
  202. package/package.json +1 -1
  203. package/share/doc/node/gdbinit +14 -6
  204. package/share/man/man1/node.1 +11 -4
  205. package/include/node/openssl/archs/aix64-gcc/asm/crypto/buildinf.h +0 -38
  206. package/include/node/openssl/archs/aix64-gcc/asm/include/progs.h +0 -507
  207. package/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/buildinf.h +0 -39
  208. package/include/node/openssl/archs/aix64-gcc/asm_avx2/include/progs.h +0 -507
  209. package/include/node/openssl/archs/aix64-gcc/no-asm/crypto/buildinf.h +0 -27
  210. package/include/node/openssl/archs/aix64-gcc/no-asm/include/progs.h +0 -507
  211. package/include/node/openssl/opensslconf_no-asm.h +0 -47
@@ -7,7 +7,8 @@
7
7
 
8
8
  #include <memory>
9
9
 
10
- #include "v8config.h" // NOLINT(build/include_directory)
10
+ #include "v8-embedder-state-scope.h" // NOLINT(build/include_directory)
11
+ #include "v8config.h" // NOLINT(build/include_directory)
11
12
 
12
13
  namespace v8 {
13
14
  // Holds the callee saved registers needed for the stack unwinder. It is the
@@ -32,7 +33,7 @@ struct V8_EXPORT RegisterState {
32
33
  };
33
34
 
34
35
  // A StateTag represents a possible state of the VM.
35
- enum StateTag {
36
+ enum StateTag : int {
36
37
  JS,
37
38
  GC,
38
39
  PARSER,
@@ -46,11 +47,13 @@ enum StateTag {
46
47
 
47
48
  // The output structure filled up by GetStackSample API function.
48
49
  struct SampleInfo {
49
- size_t frames_count; // Number of frames collected.
50
- StateTag vm_state; // Current VM state.
51
- void* external_callback_entry; // External callback address if VM is
52
- // executing an external callback.
53
- void* context; // Incumbent native context address.
50
+ size_t frames_count; // Number of frames collected.
51
+ void* external_callback_entry; // External callback address if VM is
52
+ // executing an external callback.
53
+ void* context; // Incumbent native context address.
54
+ void* embedder_context; // Native context address for embedder state
55
+ StateTag vm_state; // Current VM state.
56
+ EmbedderStateTag embedder_state; // Current Embedder state
54
57
  };
55
58
 
56
59
  struct MemoryRange {
@@ -67,6 +67,23 @@ class V8_EXPORT ValueSerializer {
67
67
 
68
68
  virtual Maybe<uint32_t> GetWasmModuleTransferId(
69
69
  Isolate* isolate, Local<WasmModuleObject> module);
70
+
71
+ /**
72
+ * Returns whether shared values are supported. GetSharedValueId is only
73
+ * called if SupportsSharedValues() returns true.
74
+ */
75
+ virtual bool SupportsSharedValues() const;
76
+
77
+ /**
78
+ * Called when the ValueSerializer serializes a value that is shared across
79
+ * Isolates. The embedder must return an ID for the object. This function
80
+ * must be idempotent for the same object. When deserializing, the ID will
81
+ * be passed to ValueDeserializer::Delegate::GetSharedValueFromId as
82
+ * |shared_value_id|.
83
+ */
84
+ virtual Maybe<uint32_t> GetSharedValueId(Isolate* isolate,
85
+ Local<Value> shared_value);
86
+
70
87
  /**
71
88
  * Allocates memory for the buffer of at least the size provided. The actual
72
89
  * size (which may be greater or equal) is written to |actual_size|. If no
@@ -166,17 +183,30 @@ class V8_EXPORT ValueDeserializer {
166
183
 
167
184
  /**
168
185
  * Get a WasmModuleObject given a transfer_id previously provided
169
- * by ValueSerializer::GetWasmModuleTransferId
186
+ * by ValueSerializer::Delegate::GetWasmModuleTransferId
170
187
  */
171
188
  virtual MaybeLocal<WasmModuleObject> GetWasmModuleFromId(
172
189
  Isolate* isolate, uint32_t transfer_id);
173
190
 
174
191
  /**
175
192
  * Get a SharedArrayBuffer given a clone_id previously provided
176
- * by ValueSerializer::GetSharedArrayBufferId
193
+ * by ValueSerializer::Delegate::GetSharedArrayBufferId
177
194
  */
178
195
  virtual MaybeLocal<SharedArrayBuffer> GetSharedArrayBufferFromId(
179
196
  Isolate* isolate, uint32_t clone_id);
197
+
198
+ /**
199
+ * Returns whether shared values are supported. GetSharedValueFromId is only
200
+ * called if SupportsSharedValues() returns true.
201
+ */
202
+ virtual bool SupportsSharedValues() const;
203
+
204
+ /**
205
+ * Get a value shared across Isolates given a shared_value_id provided by
206
+ * ValueSerializer::Delegate::GetSharedValueId.
207
+ */
208
+ virtual MaybeLocal<Value> GetSharedValueFromId(Isolate* isolate,
209
+ uint32_t shared_value_id);
180
210
  };
181
211
 
182
212
  ValueDeserializer(Isolate* isolate, const uint8_t* data, size_t size);
@@ -8,10 +8,10 @@
8
8
  // These macros define the version number for the current version.
9
9
  // NOTE these macros are used by some of the tool scripts and the build
10
10
  // system so their names cannot be changed without changing the scripts.
11
- #define V8_MAJOR_VERSION 9
12
- #define V8_MINOR_VERSION 6
13
- #define V8_BUILD_NUMBER 180
14
- #define V8_PATCH_LEVEL 15
11
+ #define V8_MAJOR_VERSION 10
12
+ #define V8_MINOR_VERSION 1
13
+ #define V8_BUILD_NUMBER 124
14
+ #define V8_PATCH_LEVEL 8
15
15
 
16
16
  // Use 1 for candidates and 0 otherwise.
17
17
  // (Boolean macro values are not supported by all preprocessors.)
@@ -103,6 +103,12 @@ class V8_EXPORT WasmModuleObject : public Object {
103
103
  */
104
104
  CompiledWasmModule GetCompiledModule();
105
105
 
106
+ /**
107
+ * Compile a Wasm module from the provided uncompiled bytes.
108
+ */
109
+ static MaybeLocal<WasmModuleObject> Compile(
110
+ Isolate* isolate, MemorySpan<const uint8_t> wire_bytes);
111
+
106
112
  V8_INLINE static WasmModuleObject* Cast(Value* value) {
107
113
  #ifdef V8_ENABLE_CHECKS
108
114
  CheckCast(value);
@@ -151,8 +157,12 @@ class V8_EXPORT WasmStreaming final {
151
157
  * {Finish} should be called after all received bytes where passed to
152
158
  * {OnBytesReceived} to tell V8 that there will be no more bytes. {Finish}
153
159
  * does not have to be called after {Abort} has been called already.
160
+ * If {can_use_compiled_module} is true and {SetCompiledModuleBytes} was
161
+ * previously called, the compiled module bytes can be used.
162
+ * If {can_use_compiled_module} is false, the compiled module bytes previously
163
+ * set by {SetCompiledModuleBytes} should not be used.
154
164
  */
155
- void Finish();
165
+ void Finish(bool can_use_compiled_module = true);
156
166
 
157
167
  /**
158
168
  * Abort streaming compilation. If {exception} has a value, then the promise
@@ -167,6 +177,8 @@ class V8_EXPORT WasmStreaming final {
167
177
  * can be used, false otherwise. The buffer passed via {bytes} and {size}
168
178
  * is owned by the caller. If {SetCompiledModuleBytes} returns true, the
169
179
  * buffer must remain valid until either {Finish} or {Abort} completes.
180
+ * The compiled module bytes should not be used until {Finish(true)} is
181
+ * called, because they can be invalidated later by {Finish(false)}.
170
182
  */
171
183
  bool SetCompiledModuleBytes(const uint8_t* bytes, size_t size);
172
184
 
@@ -51,12 +51,26 @@ class WeakCallbackInfo {
51
51
  void* embedder_fields_[kEmbedderFieldsInWeakCallback];
52
52
  };
53
53
 
54
- // kParameter will pass a void* parameter back to the callback, kInternalFields
55
- // will pass the first two internal fields back to the callback, kFinalizer
56
- // will pass a void* parameter back, but is invoked before the object is
57
- // actually collected, so it can be resurrected. In the last case, it is not
58
- // possible to request a second pass callback.
59
- enum class WeakCallbackType { kParameter, kInternalFields, kFinalizer };
54
+ /**
55
+ * Weakness type for weak handles.
56
+ */
57
+ enum class WeakCallbackType {
58
+ /**
59
+ * Passes a user-defined void* parameter back to the callback.
60
+ */
61
+ kParameter,
62
+ /**
63
+ * Passes the first two internal fields of the object back to the callback.
64
+ */
65
+ kInternalFields,
66
+ /**
67
+ * Passes a user-defined void* parameter back to the callback. Will do so
68
+ * before the object is actually reclaimed, allowing it to be resurrected. In
69
+ * this case it is not possible to set a second-pass callback.
70
+ */
71
+ kFinalizer V8_ENUM_DEPRECATED("Resurrecting finalizers are deprecated "
72
+ "and will not be supported going forward.")
73
+ };
60
74
 
61
75
  template <class T>
62
76
  void* WeakCallbackInfo<T>::GetInternalField(int index) const {
package/include/node/v8.h CHANGED
@@ -19,7 +19,6 @@
19
19
  #include <stdint.h>
20
20
 
21
21
  #include <memory>
22
- #include <vector>
23
22
 
24
23
  #include "cppgc/common.h"
25
24
  #include "v8-array-buffer.h" // NOLINT(build/include_directory)
@@ -65,13 +65,14 @@ path. Add it with -I<path> to the command line
65
65
  // Operating system detection (host)
66
66
  //
67
67
  // V8_OS_ANDROID - Android
68
- // V8_OS_BSD - BSDish (Mac OS X, Net/Free/Open/DragonFlyBSD)
68
+ // V8_OS_BSD - BSDish (macOS, Net/Free/Open/DragonFlyBSD)
69
69
  // V8_OS_CYGWIN - Cygwin
70
70
  // V8_OS_DRAGONFLYBSD - DragonFlyBSD
71
71
  // V8_OS_FREEBSD - FreeBSD
72
72
  // V8_OS_FUCHSIA - Fuchsia
73
- // V8_OS_LINUX - Linux
74
- // V8_OS_MACOSX - Mac OS X
73
+ // V8_OS_LINUX - Linux (Android, ChromeOS, Linux, ...)
74
+ // V8_OS_DARWIN - Darwin (macOS, iOS)
75
+ // V8_OS_MACOS - macOS
75
76
  // V8_OS_IOS - iOS
76
77
  // V8_OS_NETBSD - NetBSD
77
78
  // V8_OS_OPENBSD - OpenBSD
@@ -89,13 +90,14 @@ path. Add it with -I<path> to the command line
89
90
  # define V8_OS_STRING "android"
90
91
 
91
92
  #elif defined(__APPLE__)
92
- # define V8_OS_BSD 1
93
- # define V8_OS_MACOSX 1
94
93
  # define V8_OS_POSIX 1
94
+ # define V8_OS_BSD 1
95
+ # define V8_OS_DARWIN 1
95
96
  # if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
96
97
  # define V8_OS_IOS 1
97
98
  # define V8_OS_STRING "ios"
98
99
  # else
100
+ # define V8_OS_MACOS 1
99
101
  # define V8_OS_STRING "macos"
100
102
  # endif // defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
101
103
 
@@ -169,7 +171,7 @@ path. Add it with -I<path> to the command line
169
171
  // V8_TARGET_OS_FUCHSIA
170
172
  // V8_TARGET_OS_IOS
171
173
  // V8_TARGET_OS_LINUX
172
- // V8_TARGET_OS_MACOSX
174
+ // V8_TARGET_OS_MACOS
173
175
  // V8_TARGET_OS_WIN
174
176
  //
175
177
  // If not set explicitly, these fall back to corresponding V8_OS_ values.
@@ -181,7 +183,7 @@ path. Add it with -I<path> to the command line
181
183
  && !defined(V8_TARGET_OS_FUCHSIA) \
182
184
  && !defined(V8_TARGET_OS_IOS) \
183
185
  && !defined(V8_TARGET_OS_LINUX) \
184
- && !defined(V8_TARGET_OS_MACOSX) \
186
+ && !defined(V8_TARGET_OS_MACOS) \
185
187
  && !defined(V8_TARGET_OS_WIN)
186
188
  # error No known target OS defined.
187
189
  # endif
@@ -192,7 +194,7 @@ path. Add it with -I<path> to the command line
192
194
  || defined(V8_TARGET_OS_FUCHSIA) \
193
195
  || defined(V8_TARGET_OS_IOS) \
194
196
  || defined(V8_TARGET_OS_LINUX) \
195
- || defined(V8_TARGET_OS_MACOSX) \
197
+ || defined(V8_TARGET_OS_MACOS) \
196
198
  || defined(V8_TARGET_OS_WIN)
197
199
  # error A target OS is defined but V8_HAVE_TARGET_OS is unset.
198
200
  # endif
@@ -214,8 +216,8 @@ path. Add it with -I<path> to the command line
214
216
  # define V8_TARGET_OS_LINUX
215
217
  #endif
216
218
 
217
- #ifdef V8_OS_MACOSX
218
- # define V8_TARGET_OS_MACOSX
219
+ #ifdef V8_OS_MACOS
220
+ # define V8_TARGET_OS_MACOS
219
221
  #endif
220
222
 
221
223
  #ifdef V8_OS_WIN
@@ -232,7 +234,7 @@ path. Add it with -I<path> to the command line
232
234
  # define V8_TARGET_OS_STRING "ios"
233
235
  #elif defined(V8_TARGET_OS_LINUX)
234
236
  # define V8_TARGET_OS_STRING "linux"
235
- #elif defined(V8_TARGET_OS_MACOSX)
237
+ #elif defined(V8_TARGET_OS_MACOS)
236
238
  # define V8_TARGET_OS_STRING "macos"
237
239
  #elif defined(V8_TARGET_OS_WINDOWS)
238
240
  # define V8_TARGET_OS_STRING "windows"
@@ -293,6 +295,8 @@ path. Add it with -I<path> to the command line
293
295
  // V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
294
296
  // supported
295
297
  // V8_HAS_CPP_ATTRIBUTE_NODISCARD - [[nodiscard]] supported
298
+ // V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
299
+ // - [[no_unique_address]] supported
296
300
  // V8_HAS_BUILTIN_BSWAP16 - __builtin_bswap16() supported
297
301
  // V8_HAS_BUILTIN_BSWAP32 - __builtin_bswap32() supported
298
302
  // V8_HAS_BUILTIN_BSWAP64 - __builtin_bswap64() supported
@@ -337,6 +341,8 @@ path. Add it with -I<path> to the command line
337
341
  (__has_attribute(warn_unused_result))
338
342
 
339
343
  # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
344
+ # define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
345
+ (V8_HAS_CPP_ATTRIBUTE(no_unique_address))
340
346
 
341
347
  # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
342
348
  # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
@@ -507,6 +513,27 @@ path. Add it with -I<path> to the command line
507
513
  #define V8_NODISCARD /* NOT SUPPORTED */
508
514
  #endif
509
515
 
516
+ // The no_unique_address attribute allows tail padding in a non-static data
517
+ // member to overlap other members of the enclosing class (and in the special
518
+ // case when the type is empty, permits it to fully overlap other members). The
519
+ // field is laid out as if a base class were encountered at the corresponding
520
+ // point within the class (except that it does not share a vptr with the
521
+ // enclosing object).
522
+ //
523
+ // Apply to a data member like:
524
+ //
525
+ // class Foo {
526
+ // V8_NO_UNIQUE_ADDRESS Bar bar_;
527
+ // };
528
+ //
529
+ // [[no_unique_address]] comes in C++20 but supported in clang with
530
+ // -std >= c++11.
531
+ #if V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
532
+ #define V8_NO_UNIQUE_ADDRESS [[no_unique_address]]
533
+ #else
534
+ #define V8_NO_UNIQUE_ADDRESS /* NOT SUPPORTED */
535
+ #endif
536
+
510
537
  // Helper macro to define no_sanitize attributes only with clang.
511
538
  #if defined(__clang__) && defined(__has_attribute)
512
539
  #if __has_attribute(no_sanitize)
@@ -553,6 +580,24 @@ V8 shared library set USING_V8_SHARED.
553
580
 
554
581
  #endif // V8_OS_WIN
555
582
 
583
+ // The sandbox is available (i.e. defined) when pointer compression
584
+ // is enabled, but it is only used when V8_SANDBOX is enabled as
585
+ // well. This allows better test coverage of the sandbox.
586
+ #if defined(V8_COMPRESS_POINTERS)
587
+ #define V8_SANDBOX_IS_AVAILABLE
588
+ #endif
589
+
590
+ #if defined(V8_SANDBOX) && !defined(V8_SANDBOX_IS_AVAILABLE)
591
+ #error Inconsistent configuration: sandbox is enabled but not available
592
+ #endif
593
+
594
+ // From C++17 onwards, static constexpr member variables are defined to be
595
+ // "inline", and adding a separate definition for them can trigger deprecation
596
+ // warnings. For C++14 and below, however, these definitions are required.
597
+ #if __cplusplus < 201703L && (!defined(_MSVC_LANG) || _MSVC_LANG < 201703L)
598
+ #define V8_STATIC_CONSTEXPR_VARIABLES_NEED_DEFINITIONS
599
+ #endif
600
+
556
601
  // clang-format on
557
602
 
558
603
  #undef V8_HAS_CPP_ATTRIBUTE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-linux-s390x",
3
- "version": "v17.9.1",
3
+ "version": "v18.2.0",
4
4
  "description": "node",
5
5
  "bin": {
6
6
  "node": "bin/node"
@@ -161,18 +161,24 @@ end
161
161
  set disable-randomization off
162
162
 
163
163
  # Install a handler whenever the debugger stops due to a signal. It walks up the
164
- # stack looking for V8_Dcheck and moves the frame to the one above it so it's
165
- # immediately at the line of code that triggered the DCHECK.
164
+ # stack looking for V8_Dcheck / V8_Fatal / OS::DebugBreak frame and moves the
165
+ # frame to the one above it so it's immediately at the line of code that
166
+ # triggered the stop condition.
166
167
  python
167
- def dcheck_stop_handler(event):
168
+ def v8_stop_handler(event):
168
169
  frame = gdb.selected_frame()
169
170
  select_frame = None
170
171
  message = None
171
172
  count = 0
172
- # limit stack scanning since they're usually shallow and otherwise stack
173
- # overflows can be very slow.
173
+ # Limit stack scanning since the frames we look for are near the top anyway,
174
+ # and otherwise stack overflows can be very slow.
174
175
  while frame is not None and count < 7:
175
176
  count += 1
177
+ # If we are in a frame created by gdb (e.g. for `(gdb) call foo()`), gdb
178
+ # emits a dummy frame between its stack and the program's stack. Abort the
179
+ # walk if we see this frame.
180
+ if frame.type() == gdb.DUMMY_FRAME: break
181
+
176
182
  if frame.name() == 'V8_Dcheck':
177
183
  frame_message = gdb.lookup_symbol('message', frame.block())[0]
178
184
  if frame_message:
@@ -181,6 +187,8 @@ def dcheck_stop_handler(event):
181
187
  break
182
188
  if frame.name() is not None and frame.name().startswith('V8_Fatal'):
183
189
  select_frame = frame.older()
190
+ if frame.name() == 'v8::base::OS::DebugBreak':
191
+ select_frame = frame.older()
184
192
  frame = frame.older()
185
193
 
186
194
  if select_frame is not None:
@@ -189,7 +197,7 @@ def dcheck_stop_handler(event):
189
197
  if message:
190
198
  print('DCHECK error: {}'.format(message))
191
199
 
192
- gdb.events.stop.connect(dcheck_stop_handler)
200
+ gdb.events.stop.connect(v8_stop_handler)
193
201
  end
194
202
 
195
203
  # Code imported from chromium/src/tools/gdb/gdbinit
@@ -139,9 +139,6 @@ Requires Node.js to be built with
139
139
  .It Fl -enable-source-maps
140
140
  Enable Source Map V3 support for stack traces.
141
141
  .
142
- .It Fl -experimental-fetch
143
- Enable experimental support for the Fetch API.
144
- .
145
142
  .It Fl -experimental-global-webcrypto
146
143
  Expose the Web Crypto API on the global scope.
147
144
  .
@@ -159,6 +156,9 @@ Enable experimental support for loading modules using `import` over `https:`.
159
156
  .It Fl -experimental-policy
160
157
  Use the specified file as a security policy.
161
158
  .
159
+ .It Fl -no-experimental-fetch
160
+ Disable experimental support for the Fetch API.
161
+ .
162
162
  .It Fl -no-experimental-repl-await
163
163
  Disable top-level await keyword support in REPL.
164
164
  .
@@ -270,7 +270,7 @@ This flag is inherited from V8 and is subject to change upstream. It may
270
270
  disappear in a non-semver-major release.
271
271
  .
272
272
  .It Fl -max-http-header-size Ns = Ns Ar size
273
- Specify the maximum size of HTTP headers in bytes. Defaults to 16 KB.
273
+ Specify the maximum size of HTTP headers in bytes. Defaults to 16 KiB.
274
274
  .
275
275
  .It Fl -napi-modules
276
276
  This option is a no-op.
@@ -381,6 +381,13 @@ the secure heap. The default is 0. The value must be a power of two.
381
381
  .It Fl -secure-heap-min Ns = Ns Ar n
382
382
  Specify the minimum allocation from the OpenSSL secure heap. The default is 2. The value must be a power of two.
383
383
  .
384
+ .It Fl -test
385
+ Starts the Node.js command line test runner.
386
+ .
387
+ .It Fl -test-only
388
+ Configures the test runner to only execute top level tests that have the `only`
389
+ option set.
390
+ .
384
391
  .It Fl -throw-deprecation
385
392
  Throw errors for deprecations.
386
393
  .
@@ -1,38 +0,0 @@
1
- /*
2
- * WARNING: do not edit!
3
- * Generated by util/mkbuildinf.pl
4
- *
5
- * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.
6
- *
7
- * Licensed under the OpenSSL license (the "License"). You may not use
8
- * this file except in compliance with the License. You can obtain a copy
9
- * in the file LICENSE in the source distribution or at
10
- * https://www.openssl.org/source/license.html
11
- */
12
-
13
- #define PLATFORM "platform: aix64-gcc"
14
- #define DATE "built on: Tue Aug 24 15:07:42 2021 UTC"
15
-
16
- /*
17
- * Generate compiler_flags as an array of individual characters. This is a
18
- * workaround for the situation where CFLAGS gets too long for a C90 string
19
- * literal
20
- */
21
- static const char compiler_flags[] = {
22
- 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','m',
23
- 'a','i','x','6','4',' ','-','p','t','h','r','e','a','d',' ','-',
24
- 'W','a',',','-','-','n','o','e','x','e','c','s','t','a','c','k',
25
- ' ','-','O',' ','-','D','B','_','E','N','D','I','A','N',' ','-',
26
- 'D','O','P','E','N','S','S','L','_','P','I','C',' ','-','D','O',
27
- 'P','E','N','S','S','L','_','C','P','U','I','D','_','O','B','J',
28
- ' ','-','D','O','P','E','N','S','S','L','_','B','N','_','A','S',
29
- 'M','_','M','O','N','T',' ','-','D','S','H','A','1','_','A','S',
30
- 'M',' ','-','D','S','H','A','2','5','6','_','A','S','M',' ','-',
31
- 'D','S','H','A','5','1','2','_','A','S','M',' ','-','D','K','E',
32
- 'C','C','A','K','1','6','0','0','_','A','S','M',' ','-','D','A',
33
- 'E','S','_','A','S','M',' ','-','D','V','P','A','E','S','_','A',
34
- 'S','M',' ','-','D','E','C','P','_','N','I','S','T','Z','2','5',
35
- '6','_','A','S','M',' ','-','D','X','2','5','5','1','9','_','A',
36
- 'S','M',' ','-','D','P','O','L','Y','1','3','0','5','_','A','S',
37
- 'M',' ','-','D','N','D','E','B','U','G','\0'
38
- };