node-bin-darwin-arm64 25.9.0 → 26.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/CHANGELOG.md +514 -1426
  2. package/README.md +4 -10
  3. package/bin/node +0 -0
  4. package/include/node/common.gypi +78 -2
  5. package/include/node/config.gypi +20 -10
  6. package/include/node/cppgc/allocation.h +6 -7
  7. package/include/node/cppgc/heap-statistics.h +6 -2
  8. package/include/node/cppgc/internal/api-constants.h +1 -1
  9. package/include/node/cppgc/visitor.h +1 -0
  10. package/include/node/js_native_api.h +10 -0
  11. package/include/node/js_native_api_types.h +4 -0
  12. package/include/node/libplatform/v8-tracing.h +13 -2
  13. package/include/node/node.h +1 -1
  14. package/include/node/node_object_wrap.h +4 -2
  15. package/include/node/node_version.h +3 -3
  16. package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +1 -1
  17. package/include/node/openssl/archs/BSD-x86/asm/include/openssl/cmp.h +3 -1
  18. package/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslv.h +5 -5
  19. package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +1 -1
  20. package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/cmp.h +3 -1
  21. package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h +5 -5
  22. package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +1 -1
  23. package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/cmp.h +3 -1
  24. package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslv.h +5 -5
  25. package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +1 -1
  26. package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/cmp.h +3 -1
  27. package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslv.h +5 -5
  28. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  29. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/cmp.h +3 -1
  30. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
  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/cmp.h +3 -1
  33. package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h +5 -5
  34. package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
  35. package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/cmp.h +3 -1
  36. package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslv.h +5 -5
  37. package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
  38. package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/cmp.h +3 -1
  39. package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h +5 -5
  40. package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
  41. package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/cmp.h +3 -1
  42. package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslv.h +5 -5
  43. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
  44. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/cmp.h +3 -1
  45. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h +5 -5
  46. package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
  47. package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/cmp.h +3 -1
  48. package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslv.h +5 -5
  49. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
  50. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/cmp.h +3 -1
  51. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h +5 -5
  52. package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
  53. package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/cmp.h +3 -1
  54. package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h +5 -5
  55. package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +1 -1
  56. package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/cmp.h +3 -1
  57. package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/opensslv.h +5 -5
  58. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +1 -1
  59. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/cmp.h +3 -1
  60. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h +5 -5
  61. package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +1 -1
  62. package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/cmp.h +3 -1
  63. package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h +5 -5
  64. package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +1 -1
  65. package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/cmp.h +3 -1
  66. package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslv.h +5 -5
  67. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +1 -1
  68. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/cmp.h +3 -1
  69. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  70. package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +1 -1
  71. package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/cmp.h +3 -1
  72. package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h +5 -5
  73. package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +1 -1
  74. package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/cmp.h +3 -1
  75. package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h +5 -5
  76. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +1 -1
  77. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/cmp.h +3 -1
  78. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  79. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +1 -1
  80. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/cmp.h +3 -1
  81. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h +5 -5
  82. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +1 -1
  83. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/cmp.h +3 -1
  84. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h +5 -5
  85. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +1 -1
  86. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/cmp.h +3 -1
  87. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  88. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +1 -1
  89. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/cmp.h +3 -1
  90. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h +5 -5
  91. package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +1 -1
  92. package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/cmp.h +3 -1
  93. package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslv.h +5 -5
  94. package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +1 -1
  95. package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/cmp.h +3 -1
  96. package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h +5 -5
  97. package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +1 -1
  98. package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/cmp.h +3 -1
  99. package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslv.h +5 -5
  100. package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +1 -1
  101. package/include/node/openssl/archs/linux-armv4/asm/include/openssl/cmp.h +3 -1
  102. package/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslv.h +5 -5
  103. package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +1 -1
  104. package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/cmp.h +3 -1
  105. package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h +5 -5
  106. package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +1 -1
  107. package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/cmp.h +3 -1
  108. package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslv.h +5 -5
  109. package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +1 -1
  110. package/include/node/openssl/archs/linux-elf/asm/include/openssl/cmp.h +3 -1
  111. package/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslv.h +5 -5
  112. package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +1 -1
  113. package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/cmp.h +3 -1
  114. package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslv.h +5 -5
  115. package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +1 -1
  116. package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/cmp.h +3 -1
  117. package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslv.h +5 -5
  118. package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +1 -1
  119. package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/cmp.h +3 -1
  120. package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslv.h +5 -5
  121. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +1 -1
  122. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/cmp.h +3 -1
  123. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h +5 -5
  124. package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +1 -1
  125. package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/cmp.h +3 -1
  126. package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h +5 -5
  127. package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +1 -1
  128. package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/cmp.h +3 -1
  129. package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslv.h +5 -5
  130. package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  131. package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/cmp.h +3 -1
  132. package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
  133. package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +1 -1
  134. package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/cmp.h +3 -1
  135. package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslv.h +5 -5
  136. package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +1 -1
  137. package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/cmp.h +3 -1
  138. package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslv.h +5 -5
  139. package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +1 -1
  140. package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/cmp.h +3 -1
  141. package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
  142. package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +1 -1
  143. package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/cmp.h +3 -1
  144. package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslv.h +5 -5
  145. package/include/node/openssl/archs/linux64-loongarch64/no-asm/crypto/buildinf.h +1 -1
  146. package/include/node/openssl/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h +3 -1
  147. package/include/node/openssl/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h +5 -5
  148. package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +1 -1
  149. package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/cmp.h +3 -1
  150. package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslv.h +5 -5
  151. package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +1 -1
  152. package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/cmp.h +3 -1
  153. package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h +5 -5
  154. package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +1 -1
  155. package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/cmp.h +3 -1
  156. package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslv.h +5 -5
  157. package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +1 -1
  158. package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/cmp.h +3 -1
  159. package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h +5 -5
  160. package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +1 -1
  161. package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/cmp.h +3 -1
  162. package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslv.h +5 -5
  163. package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +1 -1
  164. package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/cmp.h +3 -1
  165. package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
  166. package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +1 -1
  167. package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/cmp.h +3 -1
  168. package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslv.h +5 -5
  169. package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +1 -1
  170. package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/cmp.h +3 -1
  171. package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h +5 -5
  172. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +1 -1
  173. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/cmp.h +3 -1
  174. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  175. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +1 -1
  176. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/cmp.h +3 -1
  177. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h +5 -5
  178. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +1 -1
  179. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/cmp.h +3 -1
  180. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h +5 -5
  181. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +1 -1
  182. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/cmp.h +3 -1
  183. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  184. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +1 -1
  185. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/cmp.h +3 -1
  186. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h +5 -5
  187. package/include/node/openssl/core_dispatch.h +17 -17
  188. package/include/node/openssl/httperr.h +2 -1
  189. package/include/node/openssl/macros.h +2 -1
  190. package/include/node/openssl/rsa.h +3 -3
  191. package/include/node/openssl/types.h +3 -1
  192. package/include/node/uv/unix.h +1 -4
  193. package/include/node/uv/version.h +2 -2
  194. package/include/node/uv/win.h +1 -1
  195. package/include/node/uv.h +12 -8
  196. package/include/node/v8-array-buffer.h +10 -0
  197. package/include/node/v8-callbacks.h +15 -6
  198. package/include/node/v8-context.h +79 -27
  199. package/include/node/v8-data.h +7 -1
  200. package/include/node/v8-debug.h +23 -3
  201. package/include/node/v8-exception.h +7 -4
  202. package/include/node/v8-extension.h +0 -2
  203. package/include/node/v8-external.h +40 -4
  204. package/include/node/v8-function-callback.h +172 -183
  205. package/include/node/v8-function.h +2 -2
  206. package/include/node/v8-initialization.h +29 -0
  207. package/include/node/v8-internal.h +149 -142
  208. package/include/node/v8-isolate.h +35 -22
  209. package/include/node/v8-local-handle.h +1 -1
  210. package/include/node/v8-memory-span.h +4 -59
  211. package/include/node/v8-message.h +0 -8
  212. package/include/node/v8-object.h +85 -92
  213. package/include/node/v8-persistent-handle.h +2 -9
  214. package/include/node/v8-platform.h +167 -58
  215. package/include/node/v8-primitive.h +5 -57
  216. package/include/node/v8-profiler.h +69 -3
  217. package/include/node/v8-promise.h +16 -5
  218. package/include/node/v8-sandbox.h +34 -53
  219. package/include/node/v8-script.h +27 -0
  220. package/include/node/v8-source-location.h +9 -8
  221. package/include/node/v8-statistics.h +8 -0
  222. package/include/node/v8-template.h +44 -122
  223. package/include/node/v8-version.h +3 -3
  224. package/include/node/v8-wasm.h +118 -21
  225. package/include/node/v8config.h +10 -8
  226. package/package.json +1 -1
  227. package/share/doc/node/gdbinit +79 -0
  228. package/share/doc/node/lldb_commands.py +6 -0
  229. package/share/man/man1/node.1 +60 -10
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2001-2025 The OpenSSL Project Authors. All Rights Reserved.
2
+ * Copyright 2001-2026 The OpenSSL Project Authors. All Rights Reserved.
3
3
  *
4
4
  * Licensed under the Apache License 2.0 (the "License"). You may not use
5
5
  * this file except in compliance with the License. You can obtain a copy
@@ -155,7 +155,9 @@ typedef struct dsa_method DSA_METHOD;
155
155
  typedef struct rsa_st RSA;
156
156
  typedef struct rsa_meth_st RSA_METHOD;
157
157
  #endif
158
+
158
159
  typedef struct rsa_pss_params_st RSA_PSS_PARAMS;
160
+ typedef struct rsa_oaep_params_st RSA_OAEP_PARAMS;
159
161
 
160
162
  #ifndef OPENSSL_NO_DEPRECATED_3_0
161
163
  typedef struct ec_key_st EC_KEY;
@@ -85,13 +85,10 @@
85
85
  struct uv__io_s;
86
86
  struct uv_loop_s;
87
87
 
88
- typedef void (*uv__io_cb)(struct uv_loop_s* loop,
89
- struct uv__io_s* w,
90
- unsigned int events);
91
88
  typedef struct uv__io_s uv__io_t;
92
89
 
93
90
  struct uv__io_s {
94
- uv__io_cb cb;
91
+ uintptr_t bits;
95
92
  struct uv__queue pending_queue;
96
93
  struct uv__queue watcher_queue;
97
94
  unsigned int pevents; /* Pending event mask i.e. mask at next tick. */
@@ -31,8 +31,8 @@
31
31
  */
32
32
 
33
33
  #define UV_VERSION_MAJOR 1
34
- #define UV_VERSION_MINOR 51
35
- #define UV_VERSION_PATCH 0
34
+ #define UV_VERSION_MINOR 52
35
+ #define UV_VERSION_PATCH 1
36
36
  #define UV_VERSION_IS_RELEASE 1
37
37
  #define UV_VERSION_SUFFIX ""
38
38
 
@@ -279,7 +279,7 @@ typedef struct {
279
279
  DWORD tls_index;
280
280
  } uv_key_t;
281
281
 
282
- #define UV_ONCE_INIT { 0, NULL }
282
+ #define UV_ONCE_INIT { 0, { NULL } }
283
283
 
284
284
  typedef struct uv_once_s {
285
285
  unsigned char unused;
package/include/node/uv.h CHANGED
@@ -44,10 +44,8 @@ extern "C" {
44
44
  /* Building static library. */
45
45
  # define UV_EXTERN /* nothing */
46
46
  # endif
47
- #elif __GNUC__ >= 4
47
+ #elif defined(__GNUC__)
48
48
  # define UV_EXTERN __attribute__((visibility("default")))
49
- #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) /* Sun Studio >= 8 */
50
- # define UV_EXTERN __global
51
49
  #else
52
50
  # define UV_EXTERN /* nothing */
53
51
  #endif
@@ -604,6 +602,11 @@ UV_EXTERN int uv_tcp_nodelay(uv_tcp_t* handle, int enable);
604
602
  UV_EXTERN int uv_tcp_keepalive(uv_tcp_t* handle,
605
603
  int enable,
606
604
  unsigned int delay);
605
+ UV_EXTERN int uv_tcp_keepalive_ex(uv_tcp_t* handle,
606
+ int on,
607
+ unsigned int idle,
608
+ unsigned int intvl,
609
+ unsigned int cnt);
607
610
  UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
608
611
 
609
612
  enum uv_tcp_flags {
@@ -741,6 +744,9 @@ struct uv_udp_send_s {
741
744
  UV_EXTERN int uv_udp_init(uv_loop_t*, uv_udp_t* handle);
742
745
  UV_EXTERN int uv_udp_init_ex(uv_loop_t*, uv_udp_t* handle, unsigned int flags);
743
746
  UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock);
747
+ UV_EXTERN int uv_udp_open_ex(uv_udp_t* handle,
748
+ uv_os_sock_t sock,
749
+ unsigned int flags);
744
750
  UV_EXTERN int uv_udp_bind(uv_udp_t* handle,
745
751
  const struct sockaddr* addr,
746
752
  unsigned int flags);
@@ -1203,7 +1209,7 @@ struct uv_cpu_times_s {
1203
1209
  };
1204
1210
 
1205
1211
  struct uv_cpu_info_s {
1206
- char* model;
1212
+ const char* model;
1207
1213
  int speed;
1208
1214
  struct uv_cpu_times_s cpu_times;
1209
1215
  };
@@ -1254,7 +1260,8 @@ struct uv_statfs_s {
1254
1260
  uint64_t f_bavail;
1255
1261
  uint64_t f_files;
1256
1262
  uint64_t f_ffree;
1257
- uint64_t f_spare[4];
1263
+ uint64_t f_frsize;
1264
+ uint64_t f_spare[3];
1258
1265
  };
1259
1266
 
1260
1267
  typedef enum {
@@ -1964,7 +1971,6 @@ UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
1964
1971
  size_t utf16_len);
1965
1972
 
1966
1973
  /* Don't export the private CPP symbols. */
1967
- #undef UV_HANDLE_TYPE_PRIVATE
1968
1974
  #undef UV_REQ_TYPE_PRIVATE
1969
1975
  #undef UV_REQ_PRIVATE_FIELDS
1970
1976
  #undef UV_STREAM_PRIVATE_FIELDS
@@ -1976,12 +1982,10 @@ UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
1976
1982
  #undef UV_TIMER_PRIVATE_FIELDS
1977
1983
  #undef UV_GETADDRINFO_PRIVATE_FIELDS
1978
1984
  #undef UV_GETNAMEINFO_PRIVATE_FIELDS
1979
- #undef UV_FS_REQ_PRIVATE_FIELDS
1980
1985
  #undef UV_WORK_PRIVATE_FIELDS
1981
1986
  #undef UV_FS_EVENT_PRIVATE_FIELDS
1982
1987
  #undef UV_SIGNAL_PRIVATE_FIELDS
1983
1988
  #undef UV_LOOP_PRIVATE_FIELDS
1984
- #undef UV_LOOP_PRIVATE_PLATFORM_FIELDS
1985
1989
  #undef UV__ERR
1986
1990
 
1987
1991
  #ifdef __cplusplus
@@ -77,6 +77,11 @@ class V8_EXPORT BackingStore : public v8::internal::BackingStoreBase {
77
77
  */
78
78
  bool IsShared() const;
79
79
 
80
+ /**
81
+ * Indicates whether the backing store is immutable.
82
+ */
83
+ bool IsImmutable() const;
84
+
80
85
  /**
81
86
  * Indicates whether the backing store was created for a resizable ArrayBuffer
82
87
  * or a growable SharedArrayBuffer, and thus may be resized by user JavaScript
@@ -328,6 +333,11 @@ class V8_EXPORT ArrayBuffer : public Object {
328
333
  */
329
334
  bool WasDetached() const;
330
335
 
336
+ /**
337
+ * Returns true if this ArrayBuffer is immutable.
338
+ */
339
+ bool IsImmutable() const;
340
+
331
341
  /**
332
342
  * Detaches this ArrayBuffer and all its views (typed arrays).
333
343
  * Detaching sets the byte length of the buffer and all typed arrays to zero,
@@ -184,6 +184,7 @@ enum GCCallbackFlags {
184
184
  kGCCallbackFlagCollectAllAvailableGarbage = 1 << 4,
185
185
  kGCCallbackFlagCollectAllExternalMemory = 1 << 5,
186
186
  kGCCallbackScheduleIdleGarbageCollection = 1 << 6,
187
+ kGCCallbackFlagLastResort = 1 << 7,
187
188
  };
188
189
 
189
190
  using GCCallback = void (*)(GCType type, GCCallbackFlags flags);
@@ -232,6 +233,10 @@ struct OOMDetails {
232
233
  using OOMErrorCallback = void (*)(const char* location,
233
234
  const OOMDetails& details);
234
235
 
236
+ using OOMErrorCallbackWithData = void (*)(const char* location,
237
+ const OOMDetails& details,
238
+ void* data);
239
+
235
240
  using MessageCallback = void (*)(Local<Message> message, Local<Value> data);
236
241
 
237
242
  // --- Tracing ---
@@ -255,6 +260,15 @@ enum class CrashKeyId {
255
260
 
256
261
  using AddCrashKeyCallback = void (*)(CrashKeyId id, const std::string& value);
257
262
 
263
+ // --- CrashKeyString Callbacks ---
264
+ using CrashKey = void*;
265
+ enum class CrashKeySize { Size32, Size64, Size256, Size1024 };
266
+
267
+ using AllocateCrashKeyStringCallback =
268
+ std::function<CrashKey(const char key[], CrashKeySize size)>;
269
+ using SetCrashKeyStringCallback =
270
+ std::function<void(CrashKey key, const std::string_view value)>;
271
+
258
272
  // --- Enter/Leave Script Callback ---
259
273
  using BeforeCallEnteredCallback = void (*)(Isolate*);
260
274
  using CallCompletedCallback = void (*)(Isolate*);
@@ -321,9 +335,6 @@ using WasmAsyncResolvePromiseCallback = void (*)(
321
335
  using WasmLoadSourceMapCallback = Local<String> (*)(Isolate* isolate,
322
336
  const char* name);
323
337
 
324
- // --- Callback for checking if WebAssembly imported strings are enabled ---
325
- using WasmImportedStringsEnabledCallback = bool (*)(Local<Context> context);
326
-
327
338
  // --- Callback for checking if WebAssembly Custom Descriptors are enabled ---
328
339
  using WasmCustomDescriptorsEnabledCallback = bool (*)(Local<Context> context);
329
340
 
@@ -331,14 +342,12 @@ using WasmCustomDescriptorsEnabledCallback = bool (*)(Local<Context> context);
331
342
  using SharedArrayBufferConstructorEnabledCallback =
332
343
  bool (*)(Local<Context> context);
333
344
 
334
- // --- Callback for checking if WebAssembly JSPI is enabled ---
335
- using WasmJSPIEnabledCallback = bool (*)(Local<Context> context);
336
-
337
345
  /**
338
346
  * Import phases in import requests.
339
347
  */
340
348
  enum class ModuleImportPhase {
341
349
  kSource,
350
+ kDefer,
342
351
  kEvaluation,
343
352
  };
344
353
 
@@ -255,12 +255,6 @@ class V8_EXPORT Context : public Data {
255
255
  */
256
256
  Maybe<void> DeepFreeze(DeepFreezeDelegate* delegate = nullptr);
257
257
 
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.")
262
- Isolate* GetIsolate();
263
-
264
258
  /** Returns the microtask queue associated with a current context. */
265
259
  MicrotaskQueue* GetMicrotaskQueue();
266
260
 
@@ -282,6 +276,20 @@ class V8_EXPORT Context : public Data {
282
276
  * Gets the embedder data with the given index, which must have been set by a
283
277
  * previous call to SetEmbedderData with the same index.
284
278
  */
279
+ V8_INLINE Local<Data> GetEmbedderDataV2(int index);
280
+
281
+ /**
282
+ * Sets the embedder data with the given index, growing the data as
283
+ * needed. Note that index 0 currently has a special meaning for Chrome's
284
+ * debugger.
285
+ */
286
+ void SetEmbedderDataV2(int index, Local<Data> value);
287
+
288
+ /**
289
+ * Gets the embedder data with the given index, which must have been set by a
290
+ * previous call to SetEmbedderData with the same index.
291
+ */
292
+ V8_DEPRECATE_SOON("Use GetEmbedderDataV2 instead")
285
293
  V8_INLINE Local<Value> GetEmbedderData(int index);
286
294
 
287
295
  /**
@@ -297,6 +305,7 @@ class V8_EXPORT Context : public Data {
297
305
  * needed. Note that index 0 currently has a special meaning for Chrome's
298
306
  * debugger.
299
307
  */
308
+ V8_DEPRECATE_SOON("Use SetEmbedderDataV2 instead")
300
309
  void SetEmbedderData(int index, Local<Value> value);
301
310
 
302
311
  /**
@@ -305,22 +314,42 @@ class V8_EXPORT Context : public Data {
305
314
  * SetAlignedPointerInEmbedderData with the same index. Note that index 0
306
315
  * currently has a special meaning for Chrome's debugger.
307
316
  */
317
+ V8_INLINE void* GetAlignedPointerFromEmbedderData(Isolate* isolate, int index,
318
+ EmbedderDataTypeTag tag);
319
+ V8_INLINE void* GetAlignedPointerFromEmbedderData(int index,
320
+ EmbedderDataTypeTag tag);
321
+
322
+ V8_DEPRECATED(
323
+ "Use GetAlignedPointerFromEmbedderData with EmbedderDataTypeTag "
324
+ "parameter instead.")
308
325
  V8_INLINE void* GetAlignedPointerFromEmbedderData(Isolate* isolate,
309
- int index);
310
- V8_INLINE void* GetAlignedPointerFromEmbedderData(int index);
326
+ int index) {
327
+ return GetAlignedPointerFromEmbedderData(isolate, index,
328
+ kEmbedderDataTypeTagDefault);
329
+ }
330
+
331
+ V8_DEPRECATED(
332
+ "Use GetAlignedPointerFromEmbedderData with EmbedderDataTypeTag "
333
+ "parameter instead.")
334
+ V8_INLINE void* GetAlignedPointerFromEmbedderData(int index) {
335
+ return GetAlignedPointerFromEmbedderData(index,
336
+ kEmbedderDataTypeTagDefault);
337
+ }
338
+
339
+ void SetAlignedPointerInEmbedderData(int index, void* value,
340
+ EmbedderDataTypeTag tag);
311
341
 
312
342
  /**
313
343
  * Sets a 2-byte-aligned native pointer in the embedder data with the given
314
344
  * index, growing the data as needed. Note that index 0 currently has a
315
345
  * special meaning for Chrome's debugger.
316
346
  */
317
- V8_DEPRECATE_SOON(
347
+ V8_DEPRECATED(
318
348
  "Use SetAlignedPointerInEmbedderData with EmbedderDataTypeTag parameter "
319
349
  "instead.")
320
- void SetAlignedPointerInEmbedderData(int index, void* value);
321
-
322
- void SetAlignedPointerInEmbedderData(int index, void* value,
323
- EmbedderDataTypeTag slot);
350
+ void SetAlignedPointerInEmbedderData(int index, void* value) {
351
+ SetAlignedPointerInEmbedderData(index, value, kEmbedderDataTypeTagDefault);
352
+ }
324
353
 
325
354
  /**
326
355
  * Control whether code generation from strings is allowed. Calling
@@ -439,7 +468,9 @@ class V8_EXPORT Context : public Data {
439
468
  internal::ValueHelper::InternalRepresentationType GetDataFromSnapshotOnce(
440
469
  size_t index);
441
470
  Local<Value> SlowGetEmbedderData(int index);
442
- void* SlowGetAlignedPointerFromEmbedderData(int index);
471
+ Local<Data> SlowGetEmbedderDataV2(int index);
472
+ void* SlowGetAlignedPointerFromEmbedderData(int index,
473
+ EmbedderDataTypeTag tag);
443
474
  };
444
475
 
445
476
  // --- Implementation ---
@@ -456,7 +487,7 @@ Local<Value> Context::GetEmbedderData(int index) {
456
487
  A value = I::ReadRawField<A>(embedder_data, value_offset);
457
488
  #ifdef V8_COMPRESS_POINTERS
458
489
  // We read the full pointer value and then decompress it in order to avoid
459
- // dealing with potential endiannes issues.
490
+ // dealing with potential endianness issues.
460
491
  value = I::DecompressTaggedField(embedder_data, static_cast<uint32_t>(value));
461
492
  #endif
462
493
 
@@ -467,7 +498,31 @@ Local<Value> Context::GetEmbedderData(int index) {
467
498
  #endif
468
499
  }
469
500
 
470
- void* Context::GetAlignedPointerFromEmbedderData(Isolate* isolate, int index) {
501
+ V8_INLINE Local<Data> Context::GetEmbedderDataV2(int index) {
502
+ #ifndef V8_ENABLE_CHECKS
503
+ using A = internal::Address;
504
+ using I = internal::Internals;
505
+ A ctx = internal::ValueHelper::ValueAsAddress(this);
506
+ A embedder_data =
507
+ I::ReadTaggedPointerField(ctx, I::kNativeContextEmbedderDataOffset);
508
+ int value_offset =
509
+ I::kEmbedderDataArrayHeaderSize + (I::kEmbedderDataSlotSize * index);
510
+ A value = I::ReadRawField<A>(embedder_data, value_offset);
511
+ #ifdef V8_COMPRESS_POINTERS
512
+ // We read the full pointer value and then decompress it in order to avoid
513
+ // dealing with potential endianness issues.
514
+ value = I::DecompressTaggedField(embedder_data, static_cast<uint32_t>(value));
515
+ #endif
516
+
517
+ auto* isolate = I::GetCurrentIsolate();
518
+ return Local<Data>::New(isolate, value);
519
+ #else
520
+ return SlowGetEmbedderDataV2(index);
521
+ #endif
522
+ }
523
+
524
+ void* Context::GetAlignedPointerFromEmbedderData(Isolate* isolate, int index,
525
+ EmbedderDataTypeTag tag) {
471
526
  #if !defined(V8_ENABLE_CHECKS)
472
527
  using A = internal::Address;
473
528
  using I = internal::Internals;
@@ -477,16 +532,15 @@ void* Context::GetAlignedPointerFromEmbedderData(Isolate* isolate, int index) {
477
532
  int value_offset = I::kEmbedderDataArrayHeaderSize +
478
533
  (I::kEmbedderDataSlotSize * index) +
479
534
  I::kEmbedderDataSlotExternalPointerOffset;
480
- return reinterpret_cast<void*>(
481
- I::ReadExternalPointerField<{internal::kFirstEmbedderDataTag,
482
- internal::kLastEmbedderDataTag}>(
483
- isolate, embedder_data, value_offset));
535
+ return reinterpret_cast<void*>(I::ReadExternalPointerField(
536
+ isolate, embedder_data, value_offset, ToExternalPointerTag(tag)));
484
537
  #else
485
- return SlowGetAlignedPointerFromEmbedderData(index);
538
+ return SlowGetAlignedPointerFromEmbedderData(index, tag);
486
539
  #endif
487
540
  }
488
541
 
489
- void* Context::GetAlignedPointerFromEmbedderData(int index) {
542
+ void* Context::GetAlignedPointerFromEmbedderData(int index,
543
+ EmbedderDataTypeTag tag) {
490
544
  #if !defined(V8_ENABLE_CHECKS)
491
545
  using A = internal::Address;
492
546
  using I = internal::Internals;
@@ -497,12 +551,10 @@ void* Context::GetAlignedPointerFromEmbedderData(int index) {
497
551
  (I::kEmbedderDataSlotSize * index) +
498
552
  I::kEmbedderDataSlotExternalPointerOffset;
499
553
  Isolate* isolate = I::GetCurrentIsolateForSandbox();
500
- return reinterpret_cast<void*>(
501
- I::ReadExternalPointerField<{internal::kFirstEmbedderDataTag,
502
- internal::kLastEmbedderDataTag}>(
503
- isolate, embedder_data, value_offset));
554
+ return reinterpret_cast<void*>(I::ReadExternalPointerField(
555
+ isolate, embedder_data, value_offset, ToExternalPointerTag(tag)));
504
556
  #else
505
- return SlowGetAlignedPointerFromEmbedderData(index);
557
+ return SlowGetAlignedPointerFromEmbedderData(index, tag);
506
558
  #endif
507
559
  }
508
560
 
@@ -52,6 +52,11 @@ class V8_EXPORT Data {
52
52
  */
53
53
  bool IsFunctionTemplate() const;
54
54
 
55
+ /**
56
+ * Returns true if this data is a |v8::DictionaryTemplate|.
57
+ */
58
+ bool IsDictionaryTemplate() const;
59
+
55
60
  /**
56
61
  * Returns true if this data is a |v8::Context|.
57
62
  */
@@ -72,7 +77,8 @@ class V8_EXPORT Data {
72
77
  class V8_EXPORT FixedArray : public Data {
73
78
  public:
74
79
  int Length() const;
75
- Local<Data> Get(Local<Context> context, int i) const;
80
+
81
+ Local<Data> Get(int i) const;
76
82
 
77
83
  V8_INLINE static FixedArray* Cast(Data* data) {
78
84
  #ifdef V8_ENABLE_CHECKS
@@ -136,6 +136,11 @@ class V8_EXPORT StackTrace {
136
136
  kDetailed = kOverview | kIsEval | kIsConstructor | kScriptNameOrSourceURL
137
137
  };
138
138
 
139
+ struct ScriptIdAndContext {
140
+ int id;
141
+ v8::Local<v8::Context> context;
142
+ };
143
+
139
144
  /**
140
145
  * Returns the (unique) ID of this stack trace.
141
146
  */
@@ -174,15 +179,30 @@ class V8_EXPORT StackTrace {
174
179
  static Local<String> CurrentScriptNameOrSourceURL(Isolate* isolate);
175
180
 
176
181
  /**
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.
182
+ * Returns the first valid script id at the top of the JS stack. The returned
183
+ * value is Message::kNoScriptIdInfo if no id was found.
180
184
  *
181
185
  * This method is equivalent to calling StackTrace::CurrentStackTrace and
182
186
  * walking the resulting frames from the beginning until a non-empty id is
183
187
  * found. The difference is that this method won't allocate a stack trace.
184
188
  */
185
189
  static int CurrentScriptId(Isolate* isolate);
190
+
191
+ /**
192
+ * Writes up to the first `frame_data.size()` valid script ids and function
193
+ * contexts at the top of the JS stack into the given span. Returns a span
194
+ * sized to the number of frames worth of data written. It's similar to the
195
+ * CurrentStackTrace method but doesn't allocate a stack trace. Further, it
196
+ * skips frames that don't have valid script ids or function contexts. The
197
+ * final difference is that the script id written for evals or regexp is that
198
+ * of the script that ran eval() or regexp, not the current context.
199
+ *
200
+ * WARNING: This is an unfinished experimental feature. Semantics and
201
+ * implementation may change frequently.
202
+ */
203
+ static v8::MemorySpan<v8::StackTrace::ScriptIdAndContext>
204
+ CurrentScriptIdsAndContexts(Isolate* isolate,
205
+ v8::MemorySpan<ScriptIdAndContext> frame_data);
186
206
  };
187
207
 
188
208
  } // namespace v8
@@ -276,15 +276,18 @@ class V8_EXPORT TryCatch {
276
276
 
277
277
  void ResetInternal();
278
278
 
279
+ // Helper methods for internal::Isolate.
280
+ bool capture_message() const;
281
+ void set_can_continue(bool value);
282
+ bool rethrow() const;
283
+ void set_rethrow(bool value);
284
+
279
285
  internal::Isolate* i_isolate_;
280
286
  TryCatch* next_;
281
287
  void* exception_;
282
288
  void* message_obj_;
283
289
  internal::Address js_stack_comparable_address_;
284
- bool is_verbose_ : 1;
285
- bool can_continue_ : 1;
286
- bool capture_message_ : 1;
287
- bool rethrow_ : 1;
290
+ uint8_t flags_;
288
291
 
289
292
  friend class internal::Isolate;
290
293
  friend class internal::ThreadLocalTop;
@@ -33,7 +33,6 @@ class V8_EXPORT Extension {
33
33
  }
34
34
 
35
35
  const char* name() const { return name_; }
36
- size_t source_length() const { return source_length_; }
37
36
  const String::ExternalOneByteStringResource* source() const {
38
37
  return source_;
39
38
  }
@@ -48,7 +47,6 @@ class V8_EXPORT Extension {
48
47
 
49
48
  private:
50
49
  const char* name_;
51
- size_t source_length_; // expected to initialize before source_
52
50
  String::ExternalOneByteStringResource* source_;
53
51
  int dep_count_;
54
52
  const char** deps_;
@@ -12,24 +12,60 @@ namespace v8 {
12
12
 
13
13
  class Isolate;
14
14
 
15
+ /**
16
+ * A tag for external pointers. Objects with different C++ types should use
17
+ * different values of ExternalPointerTypeTag when using v8::External. The
18
+ * allowed range is 0..V8_EXTERNAL_POINTER_TAG_COUNT - 1. If this is not
19
+ * sufficient, V8_EXTERNAL_POINTER_TAG_COUNT can be increased.
20
+ */
21
+ using ExternalPointerTypeTag = uint16_t;
22
+
23
+ constexpr ExternalPointerTypeTag kExternalPointerTypeTagDefault = 0;
24
+
15
25
  /**
16
26
  * A JavaScript value that wraps a C++ void*. This type of value is mainly used
17
27
  * to associate C++ data structures with JavaScript objects.
18
28
  */
19
29
  class V8_EXPORT External : public Value {
20
30
  public:
21
- static Local<External> New(Isolate* isolate, void* value);
22
- V8_INLINE static External* Cast(Value* value) {
31
+ V8_DEPRECATED("Use the version with the type tag.")
32
+ static Local<External> New(Isolate* isolate, void* value) {
33
+ return New(isolate, value, kExternalPointerTypeTagDefault);
34
+ }
35
+ /**
36
+ * Creates a new External object.
37
+ *
38
+ * \param isolate The isolate for the external object.
39
+ * \param value The C++ pointer value.
40
+ * \param tag The type tag of the external pointer. If type tags are not used
41
+ * in the embedder, the default value `kExternalPointerTypeTagDefault` can be
42
+ * used.
43
+ * \return The new External object.
44
+ */
45
+ static Local<External> New(Isolate* isolate, void* value,
46
+ ExternalPointerTypeTag tag);
47
+ V8_INLINE static External* Cast(Data* value) {
23
48
  #ifdef V8_ENABLE_CHECKS
24
49
  CheckCast(value);
25
50
  #endif
26
51
  return static_cast<External*>(value);
27
52
  }
28
53
 
29
- void* Value() const;
54
+ V8_DEPRECATED("Use the version with the type tag.")
55
+ void* Value() const { return Value(kExternalPointerTypeTagDefault); }
56
+
57
+ /**
58
+ * Returns the value of the external pointer.
59
+ *
60
+ * \param tag The type tag of the external pointer. If type tags are not used
61
+ * in the embedder, the default value `kExternalPointerTypeTagDefault` can be
62
+ * used.
63
+ * \return The value of the external pointer.
64
+ */
65
+ void* Value(ExternalPointerTypeTag tag) const;
30
66
 
31
67
  private:
32
- static void CheckCast(v8::Value* obj);
68
+ static void CheckCast(v8::Data* obj);
33
69
  };
34
70
 
35
71
  } // namespace v8