node-linux-arm64 17.0.1 → 17.3.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 (158) hide show
  1. package/CHANGELOG.md +651 -187
  2. package/LICENSE +192 -94
  3. package/README.md +263 -255
  4. package/bin/node +0 -0
  5. package/include/node/common.gypi +5 -0
  6. package/include/node/config.gypi +6 -2
  7. package/include/node/js_native_api.h +11 -0
  8. package/include/node/node_version.h +1 -1
  9. package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +1 -1
  10. package/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslv.h +5 -5
  11. package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +1 -1
  12. package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h +5 -5
  13. package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +1 -1
  14. package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslv.h +5 -5
  15. package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +1 -1
  16. package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslv.h +5 -5
  17. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  18. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
  19. package/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h +1 -1
  20. package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h +5 -5
  21. package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
  22. package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslv.h +5 -5
  23. package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
  24. package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h +5 -5
  25. package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
  26. package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslv.h +5 -5
  27. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
  28. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h +5 -5
  29. package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
  30. package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslv.h +5 -5
  31. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
  32. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h +5 -5
  33. package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
  34. package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h +5 -5
  35. package/include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h +1 -1
  36. package/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslv.h +5 -5
  37. package/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h +1 -1
  38. package/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  39. package/include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h +1 -1
  40. package/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslv.h +5 -5
  41. package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +1 -1
  42. package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/opensslv.h +5 -5
  43. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +1 -1
  44. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h +5 -5
  45. package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +1 -1
  46. package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h +5 -5
  47. package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +1 -1
  48. package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslv.h +5 -5
  49. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +1 -1
  50. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  51. package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +1 -1
  52. package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h +5 -5
  53. package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +1 -1
  54. package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h +5 -5
  55. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +1 -1
  56. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  57. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +1 -1
  58. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h +5 -5
  59. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +1 -1
  60. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h +5 -5
  61. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +1 -1
  62. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  63. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +1 -1
  64. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h +5 -5
  65. package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +1 -1
  66. package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslv.h +5 -5
  67. package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +1 -1
  68. package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h +5 -5
  69. package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +1 -1
  70. package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslv.h +5 -5
  71. package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +1 -1
  72. package/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslv.h +5 -5
  73. package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +1 -1
  74. package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h +5 -5
  75. package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +1 -1
  76. package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslv.h +5 -5
  77. package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +1 -1
  78. package/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslv.h +5 -5
  79. package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +1 -1
  80. package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslv.h +5 -5
  81. package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +1 -1
  82. package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslv.h +5 -5
  83. package/include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h +1 -1
  84. package/include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslv.h +5 -5
  85. package/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h +1 -1
  86. package/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslv.h +5 -5
  87. package/include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h +1 -1
  88. package/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslv.h +5 -5
  89. package/include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h +1 -1
  90. package/include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslv.h +5 -5
  91. package/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h +1 -1
  92. package/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslv.h +5 -5
  93. package/include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h +1 -1
  94. package/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslv.h +5 -5
  95. package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +1 -1
  96. package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslv.h +5 -5
  97. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +1 -1
  98. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h +5 -5
  99. package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +1 -1
  100. package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h +5 -5
  101. package/include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h +1 -1
  102. package/include/node/openssl/archs/linux-x32/asm/include/openssl/opensslv.h +5 -5
  103. package/include/node/openssl/archs/linux-x32/asm_avx2/crypto/buildinf.h +1 -1
  104. package/include/node/openssl/archs/linux-x32/asm_avx2/include/openssl/opensslv.h +5 -5
  105. package/include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h +1 -1
  106. package/include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslv.h +5 -5
  107. package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +1 -1
  108. package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslv.h +5 -5
  109. package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  110. package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
  111. package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +1 -1
  112. package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslv.h +5 -5
  113. package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +1 -1
  114. package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslv.h +5 -5
  115. package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +1 -1
  116. package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
  117. package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +1 -1
  118. package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslv.h +5 -5
  119. package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +1 -1
  120. package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslv.h +5 -5
  121. package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +1 -1
  122. package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h +5 -5
  123. package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +1 -1
  124. package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslv.h +5 -5
  125. package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +1 -1
  126. package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h +5 -5
  127. package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +1 -1
  128. package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslv.h +5 -5
  129. package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +1 -1
  130. package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
  131. package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +1 -1
  132. package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslv.h +5 -5
  133. package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +1 -1
  134. package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h +5 -5
  135. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +1 -1
  136. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  137. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +1 -1
  138. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h +5 -5
  139. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +1 -1
  140. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h +5 -5
  141. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +1 -1
  142. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  143. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +1 -1
  144. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h +5 -5
  145. package/include/node/openssl/core.h +1 -1
  146. package/include/node/openssl/cryptoerr.h +1 -0
  147. package/include/node/openssl/httperr.h +1 -0
  148. package/include/node/openssl/macros.h +1 -1
  149. package/include/node/v8-callbacks.h +3 -0
  150. package/include/node/v8-forward.h +5 -3
  151. package/include/node/v8-initialization.h +25 -9
  152. package/include/node/v8-internal.h +9 -20
  153. package/include/node/v8-isolate.h +3 -0
  154. package/include/node/v8-locker.h +7 -2
  155. package/include/node/v8-message.h +4 -1
  156. package/include/node/v8-template.h +1 -0
  157. package/include/node/v8-version.h +3 -3
  158. package/package.json +1 -1
@@ -20,7 +20,7 @@
20
20
  # define OPENSSL_MSTR(x) OPENSSL_MSTR_HELPER(x)
21
21
 
22
22
  /*
23
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
23
+ * Sometimes OPENSSL_NO_xxx ends up with an empty file and some compilers
24
24
  * don't like that. This will hopefully silence them.
25
25
  */
26
26
  # define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
@@ -308,6 +308,9 @@ using WasmSimdEnabledCallback = bool (*)(Local<Context> context);
308
308
  // --- Callback for checking if WebAssembly exceptions are enabled ---
309
309
  using WasmExceptionsEnabledCallback = bool (*)(Local<Context> context);
310
310
 
311
+ // --- Callback for checking if WebAssembly dynamic tiering is enabled ---
312
+ using WasmDynamicTieringEnabledCallback = bool (*)(Local<Context> context);
313
+
311
314
  // --- Callback for checking if the SharedArrayBuffer constructor is enabled ---
312
315
  using SharedArrayBufferConstructorEnabledCallback =
313
316
  bool (*)(Local<Context> context);
@@ -2,8 +2,8 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- #ifndef INCLUDE_V8_LOCAL_HANDLES_H_
6
- #define INCLUDE_V8_LOCAL_HANDLES_H_
5
+ #ifndef INCLUDE_V8_FORWARD_H_
6
+ #define INCLUDE_V8_FORWARD_H_
7
7
 
8
8
  // This header is intended to be used by headers that pass around V8 types,
9
9
  // either by pointer or using Local<Type>. The full definitions can be included
@@ -27,6 +27,7 @@ class Context;
27
27
  class DataView;
28
28
  class Data;
29
29
  class Date;
30
+ class Extension;
30
31
  class External;
31
32
  class FixedArray;
32
33
  class Float32Array;
@@ -63,6 +64,7 @@ class StringObject;
63
64
  class Symbol;
64
65
  class SymbolObject;
65
66
  class Template;
67
+ class TryCatch;
66
68
  class TypedArray;
67
69
  class Uint16Array;
68
70
  class Uint32;
@@ -76,4 +78,4 @@ class WasmModuleObject;
76
78
 
77
79
  } // namespace v8
78
80
 
79
- #endif // INCLUDE_V8_LOCAL_HANDLES_H_
81
+ #endif // INCLUDE_V8_FORWARD_H_
@@ -195,22 +195,38 @@ class V8_EXPORT V8 {
195
195
  * This must be invoked after the platform was initialized but before V8 is
196
196
  * initialized. The virtual memory cage is torn down during platform shutdown.
197
197
  * Returns true on success, false otherwise.
198
+ *
199
+ * TODO(saelo) Once it is no longer optional to create the virtual memory
200
+ * cage when compiling with V8_VIRTUAL_MEMORY_CAGE, the cage initialization
201
+ * will likely happen as part of V8::Initialize, at which point this function
202
+ * should be removed.
198
203
  */
199
204
  static bool InitializeVirtualMemoryCage();
200
205
 
201
206
  /**
202
- * Provides access to the data page allocator for the virtual memory cage.
207
+ * Provides access to the virtual memory cage page allocator.
208
+ *
209
+ * This allocator allocates pages inside the virtual memory cage. It can for
210
+ * example be used to obtain virtual memory for ArrayBuffer backing stores,
211
+ * which must be located inside the cage.
212
+ *
213
+ * It should be assumed that an attacker can corrupt data inside the cage,
214
+ * and so in particular the contents of pages returned by this allocator,
215
+ * arbitrarily and concurrently. Due to this, it is recommended to to only
216
+ * place pure data buffers in pages obtained through this allocator.
203
217
  *
204
- * This allocator allocates pages inside the data cage part of the virtual
205
- * memory cage in which data buffers such as ArrayBuffer backing stores must
206
- * be allocated. Objects in this region should generally consists purely of
207
- * data and not contain any pointers. It should be assumed that an attacker
208
- * can corrupt data inside the cage, and so in particular the contents of
209
- * pages returned by this allocator, arbitrarily and concurrently.
218
+ * This function must only be called after initializing the virtual memory
219
+ * cage and V8.
220
+ */
221
+ static PageAllocator* GetVirtualMemoryCagePageAllocator();
222
+
223
+ /**
224
+ * Returns the size of the virtual memory cage in bytes.
210
225
  *
211
- * The virtual memory cage must have been initialized before.
226
+ * If the cage has not been initialized, or if the initialization failed,
227
+ * this returns zero.
212
228
  */
213
- static PageAllocator* GetVirtualMemoryCageDataPageAllocator();
229
+ static size_t GetVirtualMemoryCageSizeInBytes();
214
230
  #endif
215
231
 
216
232
  /**
@@ -495,15 +495,10 @@ constexpr bool VirtualMemoryCageIsEnabled() {
495
495
  }
496
496
 
497
497
  #ifdef V8_VIRTUAL_MEMORY_CAGE
498
- // Size of the pointer compression cage located at the start of the virtual
499
- // memory cage.
500
- constexpr size_t kVirtualMemoryCagePointerCageSize =
501
- Internals::kPtrComprCageReservationSize;
502
-
503
498
  // Size of the virtual memory cage, excluding the guard regions surrounding it.
504
499
  constexpr size_t kVirtualMemoryCageSize = size_t{1} << 40; // 1 TB
505
500
 
506
- static_assert(kVirtualMemoryCageSize > kVirtualMemoryCagePointerCageSize,
501
+ static_assert(kVirtualMemoryCageSize > Internals::kPtrComprCageReservationSize,
507
502
  "The virtual memory cage must be larger than the pointer "
508
503
  "compression cage contained within it.");
509
504
 
@@ -525,19 +520,21 @@ static_assert((kVirtualMemoryCageGuardRegionSize %
525
520
  "The size of the virtual memory cage guard region must be a "
526
521
  "multiple of its required alignment.");
527
522
 
528
- // Minimum possible size of the virtual memory cage, excluding the guard regions
529
- // surrounding it. Used by unit tests.
530
- constexpr size_t kVirtualMemoryCageMinimumSize =
531
- 2 * kVirtualMemoryCagePointerCageSize;
523
+ // Minimum size of the virtual memory cage, excluding the guard regions
524
+ // surrounding it. If the cage reservation fails, its size is currently halved
525
+ // until either the reservation succeeds or the minimum size is reached. A
526
+ // minimum of 32GB allows the 4GB pointer compression region as well as the
527
+ // ArrayBuffer partition and two 10GB WASM memory cages to fit into the cage.
528
+ constexpr size_t kVirtualMemoryCageMinimumSize = size_t{32} << 30; // 32 GB
532
529
 
533
530
  // For now, even if the virtual memory cage is enabled, we still allow backing
534
531
  // stores to be allocated outside of it as fallback. This will simplify the
535
532
  // initial rollout. However, if the heap sandbox is also enabled, we already use
536
533
  // the "enforcing mode" of the virtual memory cage. This is useful for testing.
537
534
  #ifdef V8_HEAP_SANDBOX
538
- constexpr bool kAllowBackingStoresOutsideDataCage = false;
535
+ constexpr bool kAllowBackingStoresOutsideCage = false;
539
536
  #else
540
- constexpr bool kAllowBackingStoresOutsideDataCage = true;
537
+ constexpr bool kAllowBackingStoresOutsideCage = true;
541
538
  #endif // V8_HEAP_SANDBOX
542
539
 
543
540
  #endif // V8_VIRTUAL_MEMORY_CAGE
@@ -572,14 +569,6 @@ class BackingStoreBase {};
572
569
 
573
570
  } // namespace internal
574
571
 
575
- V8_EXPORT bool CopyAndConvertArrayToCppBufferInt32(Local<Array> src,
576
- int32_t* dst,
577
- uint32_t max_length);
578
-
579
- V8_EXPORT bool CopyAndConvertArrayToCppBufferFloat64(Local<Array> src,
580
- double* dst,
581
- uint32_t max_length);
582
-
583
572
  } // namespace v8
584
573
 
585
574
  #endif // INCLUDE_V8_INTERNAL_H_
@@ -1482,6 +1482,9 @@ class V8_EXPORT Isolate {
1482
1482
 
1483
1483
  void SetWasmExceptionsEnabledCallback(WasmExceptionsEnabledCallback callback);
1484
1484
 
1485
+ void SetWasmDynamicTieringEnabledCallback(
1486
+ WasmDynamicTieringEnabledCallback callback);
1487
+
1485
1488
  void SetSharedArrayBufferConstructorEnabledCallback(
1486
1489
  SharedArrayBufferConstructorEnabledCallback callback);
1487
1490
 
@@ -64,7 +64,7 @@ class Isolate;
64
64
  * given thread. This can be useful if you have code that can be called either
65
65
  * from code that holds the lock or from code that does not. The Unlocker is
66
66
  * not recursive so you can not have several Unlockers on the stack at once, and
67
- * you can not use an Unlocker in a thread that is not inside a Locker's scope.
67
+ * you cannot use an Unlocker in a thread that is not inside a Locker's scope.
68
68
  *
69
69
  * An unlocker will unlock several lockers if it has to and reinstate the
70
70
  * correct depth of locking on its destruction, e.g.:
@@ -122,8 +122,13 @@ class V8_EXPORT Locker {
122
122
  static bool IsLocked(Isolate* isolate);
123
123
 
124
124
  /**
125
- * Returns whether v8::Locker is being used by this V8 instance.
125
+ * Returns whether any v8::Locker has ever been used in this process.
126
+ * TODO(cbruni, chromium:1240851): Fix locking checks on a per-thread basis.
127
+ * The current implementation is quite confusing and leads to unexpected
128
+ * results if anybody uses v8::Locker in the current process.
126
129
  */
130
+ static bool WasEverUsed();
131
+ V8_DEPRECATE_SOON("Use WasEverUsed instead")
127
132
  static bool IsActive();
128
133
 
129
134
  // Disallow copying and assigning.
@@ -7,6 +7,8 @@
7
7
 
8
8
  #include <stdio.h>
9
9
 
10
+ #include <iosfwd>
11
+
10
12
  #include "v8-local-handle.h" // NOLINT(build/include_directory)
11
13
  #include "v8-maybe.h" // NOLINT(build/include_directory)
12
14
  #include "v8config.h" // NOLINT(build/include_directory)
@@ -210,8 +212,9 @@ class V8_EXPORT Message {
210
212
  bool IsSharedCrossOrigin() const;
211
213
  bool IsOpaque() const;
212
214
 
213
- // TODO(1245381): Print to a string instead of on a FILE.
215
+ V8_DEPRECATE_SOON("Use the version that takes a std::ostream&.")
214
216
  static void PrintCurrentStackTrace(Isolate* isolate, FILE* out);
217
+ static void PrintCurrentStackTrace(Isolate* isolate, std::ostream& out);
215
218
 
216
219
  static const int kNoLineNumberInfo = 0;
217
220
  static const int kNoColumnInfo = 0;
@@ -27,6 +27,7 @@ class Signature;
27
27
  F(ArrayProto_forEach, array_for_each_iterator) \
28
28
  F(ArrayProto_keys, array_keys_iterator) \
29
29
  F(ArrayProto_values, array_values_iterator) \
30
+ F(ArrayPrototype, initial_array_prototype) \
30
31
  F(AsyncIteratorPrototype, initial_async_iterator_prototype) \
31
32
  F(ErrorPrototype, initial_error_prototype) \
32
33
  F(IteratorPrototype, initial_iterator_prototype) \
@@ -9,9 +9,9 @@
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
11
  #define V8_MAJOR_VERSION 9
12
- #define V8_MINOR_VERSION 5
13
- #define V8_BUILD_NUMBER 172
14
- #define V8_PATCH_LEVEL 21
12
+ #define V8_MINOR_VERSION 6
13
+ #define V8_BUILD_NUMBER 180
14
+ #define V8_PATCH_LEVEL 15
15
15
 
16
16
  // Use 1 for candidates and 0 otherwise.
17
17
  // (Boolean macro values are not supported by all preprocessors.)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-linux-arm64",
3
- "version": "v17.0.1",
3
+ "version": "v17.3.1",
4
4
  "description": "node",
5
5
  "bin": {
6
6
  "node": "bin/node"