node-linux-arm64 24.9.0 → 25.0.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 (162) hide show
  1. package/CHANGELOG.md +177 -1729
  2. package/README.md +2 -2
  3. package/bin/node +0 -0
  4. package/include/node/common.gypi +1 -13
  5. package/include/node/config.gypi +10 -9
  6. package/include/node/cppgc/allocation.h +3 -3
  7. package/include/node/cppgc/cross-thread-persistent.h +25 -29
  8. package/include/node/cppgc/internal/finalizer-trait.h +1 -1
  9. package/include/node/cppgc/internal/gc-info.h +3 -3
  10. package/include/node/cppgc/internal/logging.h +2 -2
  11. package/include/node/cppgc/internal/name-trait.h +1 -1
  12. package/include/node/cppgc/internal/pointer-policies.h +3 -3
  13. package/include/node/cppgc/member.h +10 -4
  14. package/include/node/cppgc/persistent.h +14 -15
  15. package/include/node/cppgc/platform.h +1 -1
  16. package/include/node/cppgc/trace-trait.h +1 -2
  17. package/include/node/cppgc/visitor.h +14 -9
  18. package/include/node/js_native_api.h +12 -0
  19. package/include/node/node.h +34 -78
  20. package/include/node/node_version.h +3 -3
  21. package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +1 -1
  22. package/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslv.h +7 -7
  23. package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +1 -1
  24. package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h +7 -7
  25. package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +1 -1
  26. package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslv.h +7 -7
  27. package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +1 -1
  28. package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslv.h +7 -7
  29. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  30. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h +7 -7
  31. package/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h +1 -1
  32. package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h +7 -7
  33. package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
  34. package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslv.h +7 -7
  35. package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
  36. package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h +7 -7
  37. package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
  38. package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslv.h +7 -7
  39. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
  40. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h +7 -7
  41. package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
  42. package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslv.h +7 -7
  43. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
  44. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h +7 -7
  45. package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
  46. package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h +7 -7
  47. package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +1 -1
  48. package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/opensslv.h +7 -7
  49. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +1 -1
  50. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h +7 -7
  51. package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +1 -1
  52. package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h +7 -7
  53. package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +1 -1
  54. package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslv.h +7 -7
  55. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +1 -1
  56. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h +7 -7
  57. package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +1 -1
  58. package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h +7 -7
  59. package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +1 -1
  60. package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h +7 -7
  61. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +1 -1
  62. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h +7 -7
  63. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +1 -1
  64. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h +7 -7
  65. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +1 -1
  66. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h +7 -7
  67. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +1 -1
  68. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h +7 -7
  69. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +1 -1
  70. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h +7 -7
  71. package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +1 -1
  72. package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslv.h +7 -7
  73. package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +1 -1
  74. package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h +7 -7
  75. package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +1 -1
  76. package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslv.h +7 -7
  77. package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +1 -1
  78. package/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslv.h +7 -7
  79. package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +1 -1
  80. package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h +7 -7
  81. package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +1 -1
  82. package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslv.h +7 -7
  83. package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +1 -1
  84. package/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslv.h +7 -7
  85. package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +1 -1
  86. package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslv.h +7 -7
  87. package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +1 -1
  88. package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslv.h +7 -7
  89. package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +1 -1
  90. package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslv.h +7 -7
  91. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +1 -1
  92. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h +7 -7
  93. package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +1 -1
  94. package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h +7 -7
  95. package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +1 -1
  96. package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslv.h +7 -7
  97. package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  98. package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h +7 -7
  99. package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +1 -1
  100. package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslv.h +7 -7
  101. package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +1 -1
  102. package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslv.h +7 -7
  103. package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +1 -1
  104. package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h +7 -7
  105. package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +1 -1
  106. package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslv.h +7 -7
  107. package/include/node/openssl/archs/linux64-loongarch64/no-asm/crypto/buildinf.h +1 -1
  108. package/include/node/openssl/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h +7 -7
  109. package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +1 -1
  110. package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslv.h +7 -7
  111. package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +1 -1
  112. package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h +7 -7
  113. package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +1 -1
  114. package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslv.h +7 -7
  115. package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +1 -1
  116. package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h +7 -7
  117. package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +1 -1
  118. package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslv.h +7 -7
  119. package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +1 -1
  120. package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h +7 -7
  121. package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +1 -1
  122. package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslv.h +7 -7
  123. package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +1 -1
  124. package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h +7 -7
  125. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +1 -1
  126. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h +7 -7
  127. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +1 -1
  128. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h +7 -7
  129. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +1 -1
  130. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h +7 -7
  131. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +1 -1
  132. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h +7 -7
  133. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +1 -1
  134. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h +7 -7
  135. package/include/node/v8-array-buffer.h +1 -1
  136. package/include/node/v8-callbacks.h +3 -4
  137. package/include/node/v8-context.h +15 -5
  138. package/include/node/v8-data.h +5 -0
  139. package/include/node/v8-debug.h +11 -0
  140. package/include/node/v8-function-callback.h +26 -26
  141. package/include/node/v8-internal.h +136 -36
  142. package/include/node/v8-isolate.h +75 -16
  143. package/include/node/v8-json.h +8 -1
  144. package/include/node/v8-local-handle.h +112 -13
  145. package/include/node/v8-maybe.h +34 -10
  146. package/include/node/v8-memory-span.h +9 -4
  147. package/include/node/v8-message.h +3 -0
  148. package/include/node/v8-object.h +87 -24
  149. package/include/node/v8-persistent-handle.h +4 -4
  150. package/include/node/v8-platform.h +92 -28
  151. package/include/node/v8-primitive.h +22 -9
  152. package/include/node/v8-profiler.h +4 -0
  153. package/include/node/v8-sandbox.h +16 -0
  154. package/include/node/v8-source-location.h +19 -26
  155. package/include/node/v8-template.h +37 -15
  156. package/include/node/v8-traced-handle.h +6 -6
  157. package/include/node/v8-unwinder.h +13 -0
  158. package/include/node/v8-version.h +4 -4
  159. package/include/node/v8config.h +65 -5
  160. package/package.json +5 -1
  161. package/share/doc/node/gdbinit +221 -4
  162. package/share/man/man1/node.1 +21 -4
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 5
32
- # define OPENSSL_VERSION_PATCH 3
32
+ # define OPENSSL_VERSION_PATCH 4
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,28 +74,28 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.5.3"
78
- # define OPENSSL_FULL_VERSION_STR "3.5.3"
77
+ # define OPENSSL_VERSION_STR "3.5.4"
78
+ # define OPENSSL_FULL_VERSION_STR "3.5.4"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "16 Sep 2025"
85
+ # define OPENSSL_RELEASE_DATE "30 Sep 2025"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.5.3 16 Sep 2025"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.5.4 30 Sep 2025"
92
92
 
93
- /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
93
+ /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PP0L */
94
94
  # define OPENSSL_VERSION_NUMBER \
95
95
  ( (OPENSSL_VERSION_MAJOR<<28) \
96
96
  |(OPENSSL_VERSION_MINOR<<20) \
97
97
  |(OPENSSL_VERSION_PATCH<<4) \
98
- |0xfL )
98
+ |0x0L )
99
99
 
100
100
  # ifdef __cplusplus
101
101
  }
@@ -198,7 +198,7 @@ class V8_EXPORT ArrayBuffer : public Object {
198
198
  * Convenience allocator.
199
199
  *
200
200
  * When the sandbox is enabled, this allocator will allocate its backing
201
- * memory inside the sandbox that belongs to passed isolate group.
201
+ * memory inside the sandbox that belongs to the passed isolate group.
202
202
  * Otherwise, it will rely on malloc/free.
203
203
  *
204
204
  * Caller takes ownership, i.e. the returned object needs to be freed using
@@ -324,14 +324,13 @@ using WasmLoadSourceMapCallback = Local<String> (*)(Isolate* isolate,
324
324
  // --- Callback for checking if WebAssembly imported strings are enabled ---
325
325
  using WasmImportedStringsEnabledCallback = bool (*)(Local<Context> context);
326
326
 
327
+ // --- Callback for checking if WebAssembly Custom Descriptors are enabled ---
328
+ using WasmCustomDescriptorsEnabledCallback = bool (*)(Local<Context> context);
329
+
327
330
  // --- Callback for checking if the SharedArrayBuffer constructor is enabled ---
328
331
  using SharedArrayBufferConstructorEnabledCallback =
329
332
  bool (*)(Local<Context> context);
330
333
 
331
- // --- Callback for checking if the compile hints magic comments are enabled ---
332
- using JavaScriptCompileHintsMagicEnabledCallback =
333
- bool (*)(Local<Context> context);
334
-
335
334
  // --- Callback for checking if WebAssembly JSPI is enabled ---
336
335
  using WasmJSPIEnabledCallback = bool (*)(Local<Context> context);
337
336
 
@@ -256,6 +256,9 @@ class V8_EXPORT Context : public Data {
256
256
  Maybe<void> DeepFreeze(DeepFreezeDelegate* delegate = nullptr);
257
257
 
258
258
  /** Returns the isolate associated with a current context. */
259
+ V8_DEPRECATED(
260
+ "Use Isolate::GetCurrent() instead, which is guaranteed to return the "
261
+ "same isolate since https://crrev.com/c/6458560.")
259
262
  Isolate* GetIsolate();
260
263
 
261
264
  /** Returns the microtask queue associated with a current context. */
@@ -311,8 +314,14 @@ class V8_EXPORT Context : public Data {
311
314
  * index, growing the data as needed. Note that index 0 currently has a
312
315
  * special meaning for Chrome's debugger.
313
316
  */
317
+ V8_DEPRECATE_SOON(
318
+ "Use SetAlignedPointerInEmbedderData with EmbedderDataTypeTag parameter "
319
+ "instead.")
314
320
  void SetAlignedPointerInEmbedderData(int index, void* value);
315
321
 
322
+ void SetAlignedPointerInEmbedderData(int index, void* value,
323
+ EmbedderDataTypeTag slot);
324
+
316
325
  /**
317
326
  * Control whether code generation from strings is allowed. Calling
318
327
  * this method with false will disable 'eval' and the 'Function'
@@ -451,8 +460,7 @@ Local<Value> Context::GetEmbedderData(int index) {
451
460
  value = I::DecompressTaggedField(embedder_data, static_cast<uint32_t>(value));
452
461
  #endif
453
462
 
454
- auto isolate = reinterpret_cast<v8::Isolate*>(
455
- internal::IsolateFromNeverReadOnlySpaceObject(ctx));
463
+ auto* isolate = I::GetCurrentIsolate();
456
464
  return Local<Value>::New(isolate, value);
457
465
  #else
458
466
  return SlowGetEmbedderData(index);
@@ -470,7 +478,8 @@ void* Context::GetAlignedPointerFromEmbedderData(Isolate* isolate, int index) {
470
478
  (I::kEmbedderDataSlotSize * index) +
471
479
  I::kEmbedderDataSlotExternalPointerOffset;
472
480
  return reinterpret_cast<void*>(
473
- I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
481
+ I::ReadExternalPointerField<{internal::kFirstEmbedderDataTag,
482
+ internal::kLastEmbedderDataTag}>(
474
483
  isolate, embedder_data, value_offset));
475
484
  #else
476
485
  return SlowGetAlignedPointerFromEmbedderData(index);
@@ -487,9 +496,10 @@ void* Context::GetAlignedPointerFromEmbedderData(int index) {
487
496
  int value_offset = I::kEmbedderDataArrayHeaderSize +
488
497
  (I::kEmbedderDataSlotSize * index) +
489
498
  I::kEmbedderDataSlotExternalPointerOffset;
490
- Isolate* isolate = I::GetIsolateForSandbox(ctx);
499
+ Isolate* isolate = I::GetCurrentIsolateForSandbox();
491
500
  return reinterpret_cast<void*>(
492
- I::ReadExternalPointerField<internal::kEmbedderDataSlotPayloadTag>(
501
+ I::ReadExternalPointerField<{internal::kFirstEmbedderDataTag,
502
+ internal::kLastEmbedderDataTag}>(
493
503
  isolate, embedder_data, value_offset));
494
504
  #else
495
505
  return SlowGetAlignedPointerFromEmbedderData(index);
@@ -57,6 +57,11 @@ class V8_EXPORT Data {
57
57
  */
58
58
  bool IsContext() const;
59
59
 
60
+ /**
61
+ * Returns true if this value is a `CppHeapExternal` object.
62
+ */
63
+ bool IsCppHeapExternal() const;
64
+
60
65
  private:
61
66
  Data() = delete;
62
67
  };
@@ -172,6 +172,17 @@ class V8_EXPORT StackTrace {
172
172
  * a stack trace.
173
173
  */
174
174
  static Local<String> CurrentScriptNameOrSourceURL(Isolate* isolate);
175
+
176
+ /**
177
+ * Returns the first valid script id at the top of
178
+ * the JS stack. The returned value is Message::kNoScriptIdInfo if no id
179
+ * was found.
180
+ *
181
+ * This method is equivalent to calling StackTrace::CurrentStackTrace and
182
+ * walking the resulting frames from the beginning until a non-empty id is
183
+ * found. The difference is that this method won't allocate a stack trace.
184
+ */
185
+ static int CurrentScriptId(Isolate* isolate);
175
186
  };
176
187
 
177
188
  } // namespace v8
@@ -42,7 +42,7 @@ class ReturnValue {
42
42
  public:
43
43
  template <class S>
44
44
  V8_INLINE ReturnValue(const ReturnValue<S>& that) : value_(that.value_) {
45
- static_assert(std::is_base_of<T, S>::value, "type check");
45
+ static_assert(std::is_base_of_v<T, S>, "type check");
46
46
  }
47
47
  // Handle-based setters.
48
48
  template <typename S>
@@ -66,12 +66,12 @@ class ReturnValue {
66
66
  V8_INLINE void Set(uint16_t i);
67
67
  V8_INLINE void Set(uint32_t i);
68
68
  V8_INLINE void Set(uint64_t i);
69
- // Fast JS primitive setters
69
+ // Fast JS primitive setters.
70
70
  V8_INLINE void SetNull();
71
71
  V8_INLINE void SetUndefined();
72
72
  V8_INLINE void SetFalse();
73
73
  V8_INLINE void SetEmptyString();
74
- // Convenience getter for Isolate
74
+ // Convenience getter for the Isolate.
75
75
  V8_INLINE Isolate* GetIsolate() const;
76
76
 
77
77
  // Pointer setter: Uncompilable to prevent inadvertent misuse.
@@ -250,7 +250,7 @@ class PropertyCallbackInfo {
250
250
  *
251
251
  * \note For security reasons, do not pass the object back into the runtime.
252
252
  */
253
- V8_DEPRECATE_SOON(
253
+ V8_DEPRECATED(
254
254
  "V8 will stop providing access to hidden prototype (i.e. "
255
255
  "JSGlobalObject). Use HolderV2() instead. \n"
256
256
  "DO NOT try to workaround this by accessing JSGlobalObject via "
@@ -335,7 +335,7 @@ void ReturnValue<T>::SetInternal(internal::Address value) {
335
335
  template <typename T>
336
336
  template <typename S>
337
337
  void ReturnValue<T>::Set(const Global<S>& handle) {
338
- static_assert(std::is_base_of<T, S>::value, "type check");
338
+ static_assert(std::is_base_of_v<T, S>, "type check");
339
339
  if (V8_UNLIKELY(handle.IsEmpty())) {
340
340
  SetDefaultValue();
341
341
  } else {
@@ -346,7 +346,7 @@ void ReturnValue<T>::Set(const Global<S>& handle) {
346
346
  template <typename T>
347
347
  template <typename S>
348
348
  void ReturnValue<T>::SetNonEmpty(const Global<S>& handle) {
349
- static_assert(std::is_base_of<T, S>::value, "type check");
349
+ static_assert(std::is_base_of_v<T, S>, "type check");
350
350
  #ifdef V8_ENABLE_CHECKS
351
351
  internal::VerifyHandleIsNonEmpty(handle.IsEmpty());
352
352
  #endif // V8_ENABLE_CHECKS
@@ -356,7 +356,7 @@ void ReturnValue<T>::SetNonEmpty(const Global<S>& handle) {
356
356
  template <typename T>
357
357
  template <typename S>
358
358
  void ReturnValue<T>::Set(const BasicTracedReference<S>& handle) {
359
- static_assert(std::is_base_of<T, S>::value, "type check");
359
+ static_assert(std::is_base_of_v<T, S>, "type check");
360
360
  if (V8_UNLIKELY(handle.IsEmpty())) {
361
361
  SetDefaultValue();
362
362
  } else {
@@ -367,7 +367,7 @@ void ReturnValue<T>::Set(const BasicTracedReference<S>& handle) {
367
367
  template <typename T>
368
368
  template <typename S>
369
369
  void ReturnValue<T>::SetNonEmpty(const BasicTracedReference<S>& handle) {
370
- static_assert(std::is_base_of<T, S>::value, "type check");
370
+ static_assert(std::is_base_of_v<T, S>, "type check");
371
371
  #ifdef V8_ENABLE_CHECKS
372
372
  internal::VerifyHandleIsNonEmpty(handle.IsEmpty());
373
373
  #endif // V8_ENABLE_CHECKS
@@ -380,16 +380,16 @@ void ReturnValue<T>::Set(const Local<S> handle) {
380
380
  // "V8_DEPRECATE_SOON" this method if |T| is |void|.
381
381
  #ifdef V8_IMMINENT_DEPRECATION_WARNINGS
382
382
  static constexpr bool is_allowed_void = false;
383
- static_assert(!std::is_void<T>::value,
383
+ static_assert(!std::is_void_v<T>,
384
384
  "ReturnValue<void>::Set(const Local<S>) is deprecated. "
385
385
  "Do nothing to indicate that the operation succeeded or use "
386
386
  "SetFalse() to indicate that the operation failed (don't "
387
387
  "forget to handle info.ShouldThrowOnError()). "
388
388
  "See http://crbug.com/348660658 for details.");
389
389
  #else
390
- static constexpr bool is_allowed_void = std::is_void<T>::value;
390
+ static constexpr bool is_allowed_void = std::is_void_v<T>;
391
391
  #endif // V8_IMMINENT_DEPRECATION_WARNINGS
392
- static_assert(is_allowed_void || std::is_base_of<T, S>::value, "type check");
392
+ static_assert(is_allowed_void || std::is_base_of_v<T, S>, "type check");
393
393
  if (V8_UNLIKELY(handle.IsEmpty())) {
394
394
  SetDefaultValue();
395
395
  } else if constexpr (is_allowed_void) {
@@ -407,16 +407,16 @@ void ReturnValue<T>::SetNonEmpty(const Local<S> handle) {
407
407
  // "V8_DEPRECATE_SOON" this method if |T| is |void|.
408
408
  #ifdef V8_IMMINENT_DEPRECATION_WARNINGS
409
409
  static constexpr bool is_allowed_void = false;
410
- static_assert(!std::is_void<T>::value,
410
+ static_assert(!std::is_void_v<T>,
411
411
  "ReturnValue<void>::SetNonEmpty(const Local<S>) is deprecated. "
412
412
  "Do nothing to indicate that the operation succeeded or use "
413
413
  "SetFalse() to indicate that the operation failed (don't "
414
414
  "forget to handle info.ShouldThrowOnError()). "
415
415
  "See http://crbug.com/348660658 for details.");
416
416
  #else
417
- static constexpr bool is_allowed_void = std::is_void<T>::value;
417
+ static constexpr bool is_allowed_void = std::is_void_v<T>;
418
418
  #endif // V8_IMMINENT_DEPRECATION_WARNINGS
419
- static_assert(is_allowed_void || std::is_base_of<T, S>::value, "type check");
419
+ static_assert(is_allowed_void || std::is_base_of_v<T, S>, "type check");
420
420
  #ifdef V8_ENABLE_CHECKS
421
421
  internal::VerifyHandleIsNonEmpty(handle.IsEmpty());
422
422
  #endif // V8_ENABLE_CHECKS
@@ -431,13 +431,13 @@ void ReturnValue<T>::SetNonEmpty(const Local<S> handle) {
431
431
 
432
432
  template <typename T>
433
433
  void ReturnValue<T>::Set(double i) {
434
- static_assert(std::is_base_of<T, Number>::value, "type check");
434
+ static_assert(std::is_base_of_v<T, Number>, "type check");
435
435
  SetNonEmpty(Number::New(GetIsolate(), i));
436
436
  }
437
437
 
438
438
  template <typename T>
439
439
  void ReturnValue<T>::Set(int16_t i) {
440
- static_assert(std::is_base_of<T, Integer>::value, "type check");
440
+ static_assert(std::is_base_of_v<T, Integer>, "type check");
441
441
  using I = internal::Internals;
442
442
  static_assert(I::IsValidSmi(std::numeric_limits<int16_t>::min()));
443
443
  static_assert(I::IsValidSmi(std::numeric_limits<int16_t>::max()));
@@ -446,7 +446,7 @@ void ReturnValue<T>::Set(int16_t i) {
446
446
 
447
447
  template <typename T>
448
448
  void ReturnValue<T>::Set(int32_t i) {
449
- static_assert(std::is_base_of<T, Integer>::value, "type check");
449
+ static_assert(std::is_base_of_v<T, Integer>, "type check");
450
450
  if (const auto result = internal::Internals::TryIntegralToSmi(i)) {
451
451
  SetInternal(*result);
452
452
  return;
@@ -456,7 +456,7 @@ void ReturnValue<T>::Set(int32_t i) {
456
456
 
457
457
  template <typename T>
458
458
  void ReturnValue<T>::Set(int64_t i) {
459
- static_assert(std::is_base_of<T, Integer>::value, "type check");
459
+ static_assert(std::is_base_of_v<T, Integer>, "type check");
460
460
  if (const auto result = internal::Internals::TryIntegralToSmi(i)) {
461
461
  SetInternal(*result);
462
462
  return;
@@ -466,7 +466,7 @@ void ReturnValue<T>::Set(int64_t i) {
466
466
 
467
467
  template <typename T>
468
468
  void ReturnValue<T>::Set(uint16_t i) {
469
- static_assert(std::is_base_of<T, Integer>::value, "type check");
469
+ static_assert(std::is_base_of_v<T, Integer>, "type check");
470
470
  using I = internal::Internals;
471
471
  static_assert(I::IsValidSmi(std::numeric_limits<uint16_t>::min()));
472
472
  static_assert(I::IsValidSmi(std::numeric_limits<uint16_t>::max()));
@@ -475,7 +475,7 @@ void ReturnValue<T>::Set(uint16_t i) {
475
475
 
476
476
  template <typename T>
477
477
  void ReturnValue<T>::Set(uint32_t i) {
478
- static_assert(std::is_base_of<T, Integer>::value, "type check");
478
+ static_assert(std::is_base_of_v<T, Integer>, "type check");
479
479
  if (const auto result = internal::Internals::TryIntegralToSmi(i)) {
480
480
  SetInternal(*result);
481
481
  return;
@@ -485,7 +485,7 @@ void ReturnValue<T>::Set(uint32_t i) {
485
485
 
486
486
  template <typename T>
487
487
  void ReturnValue<T>::Set(uint64_t i) {
488
- static_assert(std::is_base_of<T, Integer>::value, "type check");
488
+ static_assert(std::is_base_of_v<T, Integer>, "type check");
489
489
  if (const auto result = internal::Internals::TryIntegralToSmi(i)) {
490
490
  SetInternal(*result);
491
491
  return;
@@ -495,7 +495,7 @@ void ReturnValue<T>::Set(uint64_t i) {
495
495
 
496
496
  template <typename T>
497
497
  void ReturnValue<T>::Set(bool value) {
498
- static_assert(std::is_void<T>::value || std::is_base_of<T, Boolean>::value,
498
+ static_assert(std::is_void_v<T> || std::is_base_of_v<T, Boolean>,
499
499
  "type check");
500
500
  using I = internal::Internals;
501
501
  #if V8_STATIC_ROOTS_BOOL
@@ -535,7 +535,7 @@ void ReturnValue<T>::SetDefaultValue() {
535
535
 
536
536
  template <typename T>
537
537
  void ReturnValue<T>::SetNull() {
538
- static_assert(std::is_base_of<T, Primitive>::value, "type check");
538
+ static_assert(std::is_base_of_v<T, Primitive>, "type check");
539
539
  using I = internal::Internals;
540
540
  #if V8_STATIC_ROOTS_BOOL
541
541
  #ifdef V8_ENABLE_CHECKS
@@ -550,7 +550,7 @@ void ReturnValue<T>::SetNull() {
550
550
 
551
551
  template <typename T>
552
552
  void ReturnValue<T>::SetUndefined() {
553
- static_assert(std::is_base_of<T, Primitive>::value, "type check");
553
+ static_assert(std::is_base_of_v<T, Primitive>, "type check");
554
554
  using I = internal::Internals;
555
555
  #if V8_STATIC_ROOTS_BOOL
556
556
  #ifdef V8_ENABLE_CHECKS
@@ -565,7 +565,7 @@ void ReturnValue<T>::SetUndefined() {
565
565
 
566
566
  template <typename T>
567
567
  void ReturnValue<T>::SetFalse() {
568
- static_assert(std::is_void<T>::value || std::is_base_of<T, Boolean>::value,
568
+ static_assert(std::is_void_v<T> || std::is_base_of_v<T, Boolean>,
569
569
  "type check");
570
570
  using I = internal::Internals;
571
571
  #if V8_STATIC_ROOTS_BOOL
@@ -581,7 +581,7 @@ void ReturnValue<T>::SetFalse() {
581
581
 
582
582
  template <typename T>
583
583
  void ReturnValue<T>::SetEmptyString() {
584
- static_assert(std::is_base_of<T, String>::value, "type check");
584
+ static_assert(std::is_base_of_v<T, String>, "type check");
585
585
  using I = internal::Internals;
586
586
  #if V8_STATIC_ROOTS_BOOL
587
587
  #ifdef V8_ENABLE_CHECKS