libv8-node 21.7.2.0-aarch64-linux-musl → 24.12.0.0-aarch64-linux-musl

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libv8-node/location.rb +3 -5
  3. data/ext/libv8-node/paths.rb +2 -0
  4. data/lib/libv8/node/version.rb +7 -4
  5. data/lib/libv8/node.rb +2 -0
  6. data/lib/libv8-node.rb +2 -0
  7. data/vendor/v8/aarch64-linux-musl/libv8/obj/libv8_monolith.a +0 -0
  8. data/vendor/v8/include/cppgc/allocation.h +11 -13
  9. data/vendor/v8/include/cppgc/default-platform.h +3 -2
  10. data/vendor/v8/include/cppgc/garbage-collected.h +8 -0
  11. data/vendor/v8/include/cppgc/heap-consistency.h +1 -1
  12. data/vendor/v8/include/cppgc/heap-statistics.h +2 -0
  13. data/vendor/v8/include/cppgc/internal/api-constants.h +2 -14
  14. data/vendor/v8/include/cppgc/internal/base-page-handle.h +2 -4
  15. data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +0 -4
  16. data/vendor/v8/include/cppgc/internal/caged-heap.h +0 -4
  17. data/vendor/v8/include/cppgc/internal/compiler-specific.h +9 -1
  18. data/vendor/v8/include/cppgc/internal/conditional-stack-allocated.h +41 -0
  19. data/vendor/v8/include/cppgc/internal/gc-info.h +12 -10
  20. data/vendor/v8/include/cppgc/internal/logging.h +3 -3
  21. data/vendor/v8/include/cppgc/internal/member-storage.h +69 -20
  22. data/vendor/v8/include/cppgc/internal/name-trait.h +5 -1
  23. data/vendor/v8/include/cppgc/internal/persistent-node.h +8 -3
  24. data/vendor/v8/include/cppgc/internal/pointer-policies.h +48 -11
  25. data/vendor/v8/include/cppgc/macros.h +21 -0
  26. data/vendor/v8/include/cppgc/member.h +70 -36
  27. data/vendor/v8/include/cppgc/name-provider.h +10 -0
  28. data/vendor/v8/include/cppgc/platform.h +11 -0
  29. data/vendor/v8/include/cppgc/type-traits.h +26 -4
  30. data/vendor/v8/include/cppgc/visitor.h +25 -1
  31. data/vendor/v8/include/libplatform/libplatform-export.h +2 -2
  32. data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
  33. data/vendor/v8/include/v8-array-buffer.h +149 -46
  34. data/vendor/v8/include/v8-callbacks.h +100 -43
  35. data/vendor/v8/include/v8-container.h +54 -0
  36. data/vendor/v8/include/v8-context.h +92 -30
  37. data/vendor/v8/include/v8-cppgc.h +5 -56
  38. data/vendor/v8/include/v8-data.h +5 -0
  39. data/vendor/v8/include/v8-date.h +9 -0
  40. data/vendor/v8/include/v8-debug.h +11 -0
  41. data/vendor/v8/include/v8-embedder-heap.h +8 -20
  42. data/vendor/v8/include/v8-embedder-state-scope.h +2 -1
  43. data/vendor/v8/include/v8-exception.h +87 -9
  44. data/vendor/v8/include/v8-external-memory-accounter.h +60 -0
  45. data/vendor/v8/include/v8-fast-api-calls.h +67 -223
  46. data/vendor/v8/include/v8-forward.h +1 -0
  47. data/vendor/v8/include/v8-function-callback.h +296 -75
  48. data/vendor/v8/include/v8-function.h +11 -3
  49. data/vendor/v8/include/v8-handle-base.h +52 -82
  50. data/vendor/v8/include/v8-initialization.h +26 -1
  51. data/vendor/v8/include/v8-inspector.h +26 -27
  52. data/vendor/v8/include/v8-internal.h +960 -230
  53. data/vendor/v8/include/v8-isolate.h +347 -226
  54. data/vendor/v8/include/v8-local-handle.h +307 -55
  55. data/vendor/v8/include/v8-maybe.h +2 -1
  56. data/vendor/v8/include/v8-memory-span.h +284 -4
  57. data/vendor/v8/include/v8-message.h +11 -5
  58. data/vendor/v8/include/v8-metrics.h +15 -0
  59. data/vendor/v8/include/v8-microtask-queue.h +0 -5
  60. data/vendor/v8/include/v8-object.h +314 -41
  61. data/vendor/v8/include/v8-persistent-handle.h +29 -39
  62. data/vendor/v8/include/v8-platform.h +135 -77
  63. data/vendor/v8/include/v8-primitive.h +223 -5
  64. data/vendor/v8/include/v8-profiler.h +51 -2
  65. data/vendor/v8/include/v8-promise.h +2 -2
  66. data/vendor/v8/include/v8-proxy.h +0 -1
  67. data/vendor/v8/include/v8-regexp.h +0 -1
  68. data/vendor/v8/include/v8-sandbox.h +173 -0
  69. data/vendor/v8/include/v8-script.h +125 -27
  70. data/vendor/v8/include/v8-snapshot.h +130 -23
  71. data/vendor/v8/include/v8-source-location.h +6 -1
  72. data/vendor/v8/include/v8-statistics.h +10 -24
  73. data/vendor/v8/include/v8-template.h +320 -193
  74. data/vendor/v8/include/v8-trace-categories.h +23 -0
  75. data/vendor/v8/include/v8-traced-handle.h +99 -76
  76. data/vendor/v8/include/v8-typed-array.h +111 -7
  77. data/vendor/v8/include/v8-unwinder-state.h +2 -3
  78. data/vendor/v8/include/v8-unwinder.h +2 -1
  79. data/vendor/v8/include/v8-util.h +10 -125
  80. data/vendor/v8/include/v8-value-serializer-version.h +3 -3
  81. data/vendor/v8/include/v8-value.h +113 -6
  82. data/vendor/v8/include/v8-version.h +3 -3
  83. data/vendor/v8/include/v8-wasm.h +27 -0
  84. data/vendor/v8/include/v8-weak-callback-info.h +20 -12
  85. data/vendor/v8/include/v8.h +3 -3
  86. data/vendor/v8/include/v8config.h +116 -53
  87. metadata +55 -12
  88. data/vendor/v8/include/cppgc/ephemeron-pair.h +0 -30
@@ -5,14 +5,23 @@
5
5
  #ifndef V8CONFIG_H_
6
6
  #define V8CONFIG_H_
7
7
 
8
+ // gcc 10 defines __cplusplus to "an unspecified value strictly larger than
9
+ // 201703L" for its experimental -std=gnu++2a config.
10
+ // TODO(leszeks): Change to `__cplusplus <= 202002L` once we only support
11
+ // compilers with full C++20 support.
12
+ #if __cplusplus <= 201703L
13
+ #error "C++20 or later required."
14
+ #endif
15
+
8
16
  #ifdef V8_GN_HEADER
9
- #if __cplusplus >= 201703L && !__has_include("v8-gn.h")
17
+ #if !__has_include("v8-gn.h")
10
18
  #error Missing v8-gn.h. The configuration for v8 is missing from the include \
11
19
  path. Add it with -I<path> to the command line
12
20
  #endif
13
21
  #include "v8-gn.h" // NOLINT(build/include_directory)
14
22
  #endif
15
23
 
24
+ #include <memory>
16
25
  // clang-format off
17
26
 
18
27
  // Platform headers for feature detection below.
@@ -22,6 +31,8 @@ path. Add it with -I<path> to the command line
22
31
  # include <TargetConditionals.h>
23
32
  #elif defined(__linux__)
24
33
  # include <features.h>
34
+ #elif defined(__MVS__)
35
+ # include "zos-base.h"
25
36
  #endif
26
37
 
27
38
 
@@ -82,6 +93,7 @@ path. Add it with -I<path> to the command line
82
93
  // V8_OS_STARBOARD - Starboard (platform abstraction for Cobalt)
83
94
  // V8_OS_AIX - AIX
84
95
  // V8_OS_WIN - Microsoft Windows
96
+ // V8_OS_ZOS - z/OS
85
97
 
86
98
  #if defined(__ANDROID__)
87
99
  # define V8_OS_ANDROID 1
@@ -162,6 +174,11 @@ path. Add it with -I<path> to the command line
162
174
  #elif defined(_WIN32)
163
175
  # define V8_OS_WIN 1
164
176
  # define V8_OS_STRING "windows"
177
+
178
+ #elif defined(__MVS__)
179
+ # define V8_OS_POSIX 1
180
+ # define V8_OS_ZOS 1
181
+ # define V8_OS_STRING "zos"
165
182
  #endif
166
183
 
167
184
  // -----------------------------------------------------------------------------
@@ -297,12 +314,16 @@ path. Add it with -I<path> to the command line
297
314
  // V8_HAS_ATTRIBUTE_NONNULL - __attribute__((nonnull)) supported
298
315
  // V8_HAS_ATTRIBUTE_NOINLINE - __attribute__((noinline)) supported
299
316
  // V8_HAS_ATTRIBUTE_UNUSED - __attribute__((unused)) supported
317
+ // V8_HAS_ATTRIBUTE_USED - __attribute__((used)) supported
318
+ // V8_HAS_ATTRIBUTE_RETAIN - __attribute__((retain)) supported
300
319
  // V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
301
320
  // V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
302
321
  // supported
303
322
  // V8_HAS_CPP_ATTRIBUTE_NODISCARD - [[nodiscard]] supported
304
323
  // V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
305
324
  // - [[no_unique_address]] supported
325
+ // V8_HAS_BUILTIN_ADD_OVERFLOW - __builtin_add_overflow() supported
326
+ // V8_HAS_BUILTIN_BIT_CAST - __builtin_bit_cast() supported
306
327
  // V8_HAS_BUILTIN_BSWAP16 - __builtin_bswap16() supported
307
328
  // V8_HAS_BUILTIN_BSWAP32 - __builtin_bswap32() supported
308
329
  // V8_HAS_BUILTIN_BSWAP64 - __builtin_bswap64() supported
@@ -310,14 +331,13 @@ path. Add it with -I<path> to the command line
310
331
  // V8_HAS_BUILTIN_CTZ - __builtin_ctz() supported
311
332
  // V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported
312
333
  // V8_HAS_BUILTIN_FRAME_ADDRESS - __builtin_frame_address() supported
313
- // V8_HAS_BUILTIN_POPCOUNT - __builtin_popcount() supported
314
- // V8_HAS_BUILTIN_ADD_OVERFLOW - __builtin_add_overflow() supported
315
- // V8_HAS_BUILTIN_SUB_OVERFLOW - __builtin_sub_overflow() supported
316
334
  // V8_HAS_BUILTIN_MUL_OVERFLOW - __builtin_mul_overflow() supported
335
+ // V8_HAS_BUILTIN_POPCOUNT - __builtin_popcount() supported
317
336
  // V8_HAS_BUILTIN_SADD_OVERFLOW - __builtin_sadd_overflow() supported
337
+ // V8_HAS_BUILTIN_SMUL_OVERFLOW - __builtin_smul_overflow() supported
318
338
  // V8_HAS_BUILTIN_SSUB_OVERFLOW - __builtin_ssub_overflow() supported
339
+ // V8_HAS_BUILTIN_SUB_OVERFLOW - __builtin_sub_overflow() supported
319
340
  // V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
320
- // V8_HAS_BUILTIN_SMUL_OVERFLOW - __builtin_smul_overflow() supported
321
341
  // V8_HAS_COMPUTED_GOTO - computed goto/labels as values
322
342
  // supported
323
343
  // V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
@@ -349,6 +369,9 @@ path. Add it with -I<path> to the command line
349
369
  # define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
350
370
  # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
351
371
  # define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
372
+ # define V8_HAS_ATTRIBUTE_USED (__has_attribute(used))
373
+ # define V8_HAS_ATTRIBUTE_RETAIN (__has_attribute(retain))
374
+ # define V8_HAS_ATTRIBUTE_OPTNONE (__has_attribute(optnone))
352
375
  // Support for the "preserve_most" attribute is limited:
353
376
  // - 32-bit platforms do not implement it,
354
377
  // - component builds fail because _dl_runtime_resolve clobbers registers,
@@ -370,11 +393,19 @@ path. Add it with -I<path> to the command line
370
393
  # define V8_HAS_ATTRIBUTE_WEAK (__has_attribute(weak))
371
394
 
372
395
  # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
396
+ #if defined(V8_CC_MSVC)
397
+ # define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
398
+ (V8_HAS_CPP_ATTRIBUTE(msvc::no_unique_address) || \
399
+ V8_HAS_CPP_ATTRIBUTE(no_unique_address))
400
+ #else
373
401
  # define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
374
402
  (V8_HAS_CPP_ATTRIBUTE(no_unique_address))
403
+ #endif
375
404
 
405
+ # define V8_HAS_BUILTIN_ADD_OVERFLOW (__has_builtin(__builtin_add_overflow))
376
406
  # define V8_HAS_BUILTIN_ASSUME (__has_builtin(__builtin_assume))
377
407
  # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
408
+ # define V8_HAS_BUILTIN_BIT_CAST (__has_builtin(__builtin_bit_cast))
378
409
  # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
379
410
  # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
380
411
  # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
@@ -382,14 +413,13 @@ path. Add it with -I<path> to the command line
382
413
  # define V8_HAS_BUILTIN_CTZ (__has_builtin(__builtin_ctz))
383
414
  # define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
384
415
  # define V8_HAS_BUILTIN_FRAME_ADDRESS (__has_builtin(__builtin_frame_address))
385
- # define V8_HAS_BUILTIN_POPCOUNT (__has_builtin(__builtin_popcount))
386
- # define V8_HAS_BUILTIN_ADD_OVERFLOW (__has_builtin(__builtin_add_overflow))
387
- # define V8_HAS_BUILTIN_SUB_OVERFLOW (__has_builtin(__builtin_sub_overflow))
388
416
  # define V8_HAS_BUILTIN_MUL_OVERFLOW (__has_builtin(__builtin_mul_overflow))
417
+ # define V8_HAS_BUILTIN_POPCOUNT (__has_builtin(__builtin_popcount))
389
418
  # define V8_HAS_BUILTIN_SADD_OVERFLOW (__has_builtin(__builtin_sadd_overflow))
419
+ # define V8_HAS_BUILTIN_SMUL_OVERFLOW (__has_builtin(__builtin_smul_overflow))
390
420
  # define V8_HAS_BUILTIN_SSUB_OVERFLOW (__has_builtin(__builtin_ssub_overflow))
421
+ # define V8_HAS_BUILTIN_SUB_OVERFLOW (__has_builtin(__builtin_sub_overflow))
391
422
  # define V8_HAS_BUILTIN_UADD_OVERFLOW (__has_builtin(__builtin_uadd_overflow))
392
- # define V8_HAS_BUILTIN_SMUL_OVERFLOW (__has_builtin(__builtin_smul_overflow))
393
423
  # define V8_HAS_BUILTIN_UNREACHABLE (__has_builtin(__builtin_unreachable))
394
424
 
395
425
  // Clang has no __has_feature for computed gotos.
@@ -410,6 +440,11 @@ path. Add it with -I<path> to the command line
410
440
  # endif
411
441
  # define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64)
412
442
 
443
+ // FYI: __has_builtin is only available with GCC 10 and later, so explicitly
444
+ // check GCC version numbers to enable features. TODO(leszeks): Merge feature
445
+ // enabling for GCC 10 and later into the Clang section above, and leave this
446
+ // section for GCC 9 and earlier.
447
+
413
448
  // always_inline is available in gcc 4.0 but not very reliable until 4.4.
414
449
  // Works around "sorry, unimplemented: inlining failed" build errors with
415
450
  // older compilers.
@@ -425,6 +460,9 @@ path. Add it with -I<path> to the command line
425
460
  // for V8_HAS_CPP_ATTRIBUTE_NODISCARD. See https://crbug.com/v8/11707.
426
461
 
427
462
  # define V8_HAS_BUILTIN_ASSUME_ALIGNED 1
463
+ # if __GNUC__ >= 11
464
+ # define V8_HAS_BUILTIN_BIT_CAST 1
465
+ # endif
428
466
  # define V8_HAS_BUILTIN_CLZ 1
429
467
  # define V8_HAS_BUILTIN_CTZ 1
430
468
  # define V8_HAS_BUILTIN_EXPECT 1
@@ -462,28 +500,51 @@ path. Add it with -I<path> to the command line
462
500
  # define V8_INLINE inline
463
501
  #endif
464
502
 
503
+ // A macro to force better inlining of calls in a statement. Don't bother for
504
+ // debug builds.
505
+ // Use like:
506
+ // V8_INLINE_STATEMENT foo = bar(); // Will force inlining the bar() call.
507
+ #if !defined(DEBUG) && defined(__clang__) && V8_HAS_ATTRIBUTE_ALWAYS_INLINE
508
+ # define V8_INLINE_STATEMENT [[clang::always_inline]]
509
+ #else
510
+ # define V8_INLINE_STATEMENT
511
+ #endif
512
+
513
+ #if V8_HAS_BUILTIN_ASSUME
465
514
  #ifdef DEBUG
466
- // In debug mode, check assumptions instead of actually adding annotations.
467
- # define V8_ASSUME DCHECK
468
- #elif V8_HAS_BUILTIN_ASSUME
515
+ // In debug mode, check assumptions in addition to adding annotations.
516
+ // This helps GCC (and maybe other compilers) figure out that certain
517
+ // situations are unreachable.
518
+ # define V8_ASSUME(condition) \
519
+ do { \
520
+ DCHECK(condition); \
521
+ __builtin_assume(condition); \
522
+ } while (false)
523
+ #else // DEBUG
469
524
  # define V8_ASSUME __builtin_assume
525
+ #endif // DEBUG
470
526
  #elif V8_HAS_BUILTIN_UNREACHABLE
471
527
  # define V8_ASSUME(condition) \
472
528
  do { \
529
+ DCHECK(condition); \
473
530
  if (!(condition)) __builtin_unreachable(); \
474
531
  } while (false)
475
532
  #else
476
533
  # define V8_ASSUME USE
477
534
  #endif
478
535
 
479
- #if V8_HAS_BUILTIN_ASSUME_ALIGNED
536
+ // Prefer c++20 std::assume_aligned. Don't use it on MSVC though, because it's
537
+ // not happy with our large 4GB alignment values.
538
+ #if __cplusplus >= 202002L && defined(__cpp_lib_assume_aligned) && !V8_CC_MSVC
539
+ # define V8_ASSUME_ALIGNED(ptr, alignment) \
540
+ std::assume_aligned<(alignment)>(ptr)
541
+ #elif V8_HAS_BUILTIN_ASSUME_ALIGNED
480
542
  # define V8_ASSUME_ALIGNED(ptr, alignment) \
481
543
  __builtin_assume_aligned((ptr), (alignment))
482
544
  #else
483
545
  # define V8_ASSUME_ALIGNED(ptr, alignment) (ptr)
484
546
  #endif
485
547
 
486
-
487
548
  // A macro to mark functions whose values don't change (e.g. across calls)
488
549
  // and thereby compiler is free to hoist and fold multiple calls together.
489
550
  // Use like:
@@ -531,11 +592,15 @@ path. Add it with -I<path> to the command line
531
592
  // functions.
532
593
  // Use like:
533
594
  // V8_NOINLINE V8_PRESERVE_MOST void UnlikelyMethod();
595
+ #if V8_OS_WIN
596
+ # define V8_PRESERVE_MOST
597
+ #else
534
598
  #if V8_HAS_ATTRIBUTE_PRESERVE_MOST
535
599
  # define V8_PRESERVE_MOST __attribute__((preserve_most))
536
600
  #else
537
601
  # define V8_PRESERVE_MOST /* NOT SUPPORTED */
538
602
  #endif
603
+ #endif
539
604
 
540
605
 
541
606
  // A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
@@ -648,7 +713,15 @@ path. Add it with -I<path> to the command line
648
713
  // [[no_unique_address]] comes in C++20 but supported in clang with
649
714
  // -std >= c++11.
650
715
  #if V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
716
+ #if defined(V8_CC_MSVC) && V8_HAS_CPP_ATTRIBUTE(msvc::no_unique_address)
717
+ // Unfortunately MSVC ignores [[no_unique_address]] (see
718
+ // https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#msvc-extensions-and-abi),
719
+ // and clang-cl matches it for ABI compatibility reasons. We need to prefer
720
+ // [[msvc::no_unique_address]] when available if we actually want any effect.
721
+ #define V8_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
722
+ #else
651
723
  #define V8_NO_UNIQUE_ADDRESS [[no_unique_address]]
724
+ #endif
652
725
  #else
653
726
  #define V8_NO_UNIQUE_ADDRESS /* NOT SUPPORTED */
654
727
  #endif
@@ -678,10 +751,12 @@ path. Add it with -I<path> to the command line
678
751
  #if defined(__clang__) && defined(__has_attribute)
679
752
  #if __has_attribute(trivial_abi)
680
753
  #define V8_TRIVIAL_ABI [[clang::trivial_abi]]
754
+ #define V8_HAS_ATTRIBUTE_TRIVIAL_ABI 1
681
755
  #endif // __has_attribute(trivial_abi)
682
756
  #endif // defined(__clang__) && defined(__has_attribute)
683
757
  #if !defined(V8_TRIVIAL_ABI)
684
758
  #define V8_TRIVIAL_ABI
759
+ #define V8_HAS_ATTRIBUTE_TRIVIAL_ABI 0
685
760
  #endif //!defined(V8_TRIVIAL_ABI)
686
761
 
687
762
  // Helper macro to define no_sanitize attributes only with clang.
@@ -694,6 +769,11 @@ path. Add it with -I<path> to the command line
694
769
  #define V8_CLANG_NO_SANITIZE(what)
695
770
  #endif
696
771
 
772
+ // Exposing private symbols requires exposing public symbols too.
773
+ #ifdef BUILDING_V8_SHARED_PRIVATE
774
+ #define BUILDING_V8_SHARED
775
+ #endif
776
+
697
777
  #if defined(BUILDING_V8_SHARED) && defined(USING_V8_SHARED)
698
778
  #error Inconsistent build configuration: To build the V8 shared library \
699
779
  set BUILDING_V8_SHARED, to include its headers for linking against the \
@@ -718,15 +798,11 @@ V8 shared library set USING_V8_SHARED.
718
798
  #else // V8_OS_WIN
719
799
 
720
800
  // Setup for Linux shared library export.
721
- #if V8_HAS_ATTRIBUTE_VISIBILITY
722
- # ifdef BUILDING_V8_SHARED
723
- # define V8_EXPORT __attribute__ ((visibility("default")))
724
- # else
725
- # define V8_EXPORT
726
- # endif
801
+ #if V8_HAS_ATTRIBUTE_VISIBILITY && (defined(BUILDING_V8_SHARED) || USING_V8_SHARED)
802
+ # define V8_EXPORT __attribute__((visibility("default")))
727
803
  #else
728
804
  # define V8_EXPORT
729
- #endif
805
+ # endif // V8_HAS_ATTRIBUTE_VISIBILITY && ...
730
806
 
731
807
  #endif // V8_OS_WIN
732
808
 
@@ -764,16 +840,9 @@ V8 shared library set USING_V8_SHARED.
764
840
  #elif defined(__PPC64__) || defined(_ARCH_PPC64)
765
841
  #define V8_HOST_ARCH_PPC64 1
766
842
  #define V8_HOST_ARCH_64_BIT 1
767
- #elif defined(__PPC__) || defined(_ARCH_PPC)
768
- #define V8_HOST_ARCH_PPC 1
769
- #define V8_HOST_ARCH_32_BIT 1
770
- #elif defined(__s390__) || defined(__s390x__)
771
- #define V8_HOST_ARCH_S390 1
772
- #if defined(__s390x__)
843
+ #elif defined(__s390x__)
844
+ #define V8_HOST_ARCH_S390X 1
773
845
  #define V8_HOST_ARCH_64_BIT 1
774
- #else
775
- #define V8_HOST_ARCH_32_BIT 1
776
- #endif
777
846
  #elif defined(__riscv) || defined(__riscv__)
778
847
  #if __riscv_xlen == 64
779
848
  #define V8_HOST_ARCH_RISCV64 1
@@ -793,10 +862,10 @@ V8 shared library set USING_V8_SHARED.
793
862
  // The macros may be set externally. If not, detect in the same way as the host
794
863
  // architecture, that is, target the native environment as presented by the
795
864
  // compiler.
796
- #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_ARM && \
797
- !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC && \
798
- !V8_TARGET_ARCH_PPC64 && !V8_TARGET_ARCH_S390 && \
799
- !V8_TARGET_ARCH_RISCV64 && !V8_TARGET_ARCH_LOONG64 && \
865
+ #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_ARM && \
866
+ !V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS64 && \
867
+ !V8_TARGET_ARCH_PPC64 && !V8_TARGET_ARCH_S390X && \
868
+ !V8_TARGET_ARCH_RISCV64 && !V8_TARGET_ARCH_LOONG64 && \
800
869
  !V8_TARGET_ARCH_RISCV32
801
870
  #if defined(_M_X64) || defined(__x86_64__)
802
871
  #define V8_TARGET_ARCH_X64 1
@@ -812,13 +881,8 @@ V8 shared library set USING_V8_SHARED.
812
881
  #define V8_TARGET_ARCH_LOONG64 1
813
882
  #elif defined(_ARCH_PPC64)
814
883
  #define V8_TARGET_ARCH_PPC64 1
815
- #elif defined(_ARCH_PPC)
816
- #define V8_TARGET_ARCH_PPC 1
817
- #elif defined(__s390__)
818
- #define V8_TARGET_ARCH_S390 1
819
- #if defined(__s390x__)
884
+ #elif defined(__s390x__)
820
885
  #define V8_TARGET_ARCH_S390X 1
821
- #endif
822
886
  #elif defined(__riscv) || defined(__riscv__)
823
887
  #if __riscv_xlen == 64
824
888
  #define V8_TARGET_ARCH_RISCV64 1
@@ -851,16 +915,10 @@ V8 shared library set USING_V8_SHARED.
851
915
  #define V8_TARGET_ARCH_64_BIT 1
852
916
  #elif V8_TARGET_ARCH_LOONG64
853
917
  #define V8_TARGET_ARCH_64_BIT 1
854
- #elif V8_TARGET_ARCH_PPC
855
- #define V8_TARGET_ARCH_32_BIT 1
856
918
  #elif V8_TARGET_ARCH_PPC64
857
919
  #define V8_TARGET_ARCH_64_BIT 1
858
- #elif V8_TARGET_ARCH_S390
859
- #if V8_TARGET_ARCH_S390X
920
+ #elif V8_TARGET_ARCH_S390X
860
921
  #define V8_TARGET_ARCH_64_BIT 1
861
- #else
862
- #define V8_TARGET_ARCH_32_BIT 1
863
- #endif
864
922
  #elif V8_TARGET_ARCH_RISCV64
865
923
  #define V8_TARGET_ARCH_64_BIT 1
866
924
  #elif V8_TARGET_ARCH_RISCV32
@@ -917,14 +975,14 @@ V8 shared library set USING_V8_SHARED.
917
975
  #else
918
976
  #define V8_TARGET_LITTLE_ENDIAN 1
919
977
  #endif
920
- #elif defined(__BIG_ENDIAN__) // FOR PPCGR on AIX
978
+ #elif V8_TARGET_ARCH_PPC64
979
+ #if V8_OS_AIX
921
980
  #define V8_TARGET_BIG_ENDIAN 1
922
- #elif V8_TARGET_ARCH_PPC_LE
981
+ #else
923
982
  #define V8_TARGET_LITTLE_ENDIAN 1
924
- #elif V8_TARGET_ARCH_PPC_BE
925
- #define V8_TARGET_BIG_ENDIAN 1
926
- #elif V8_TARGET_ARCH_S390
927
- #if V8_TARGET_ARCH_S390_LE_SIM
983
+ #endif
984
+ #elif V8_TARGET_ARCH_S390X
985
+ #if V8_TARGET_ARCH_S390X_LE_SIM
928
986
  #define V8_TARGET_LITTLE_ENDIAN 1
929
987
  #else
930
988
  #define V8_TARGET_BIG_ENDIAN 1
@@ -948,5 +1006,10 @@ V8 shared library set USING_V8_SHARED.
948
1006
  #else
949
1007
  #define V8_STATIC_ROOTS_BOOL true
950
1008
  #endif
1009
+ #ifdef V8_TARGET_BIG_ENDIAN
1010
+ #define V8_TARGET_BIG_ENDIAN_BOOL true
1011
+ #else
1012
+ #define V8_TARGET_BIG_ENDIAN_BOOL false
1013
+ #endif
951
1014
 
952
1015
  #endif // V8CONFIG_H_
metadata CHANGED
@@ -1,15 +1,56 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8-node
3
3
  version: !ruby/object:Gem::Version
4
- version: 21.7.2.0
4
+ version: 24.12.0.0
5
5
  platform: aarch64-linux-musl
6
6
  authors:
7
7
  - ''
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-04-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: base64
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: logger
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: mutex_m
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
13
54
  - !ruby/object:Gem::Dependency
14
55
  name: rake
15
56
  requirement: !ruby/object:Gem::Requirement
@@ -28,16 +69,16 @@ dependencies:
28
69
  name: rubocop
29
70
  requirement: !ruby/object:Gem::Requirement
30
71
  requirements:
31
- - - "~>"
72
+ - - ">="
32
73
  - !ruby/object:Gem::Version
33
- version: 1.44.0
74
+ version: 1.8.0
34
75
  type: :development
35
76
  prerelease: false
36
77
  version_requirements: !ruby/object:Gem::Requirement
37
78
  requirements:
38
- - - "~>"
79
+ - - ">="
39
80
  - !ruby/object:Gem::Version
40
- version: 1.44.0
81
+ version: 1.8.0
41
82
  description: Node.JS's V8 JavaScript engine for multiplatform goodness
42
83
  email:
43
84
  - ''
@@ -57,7 +98,6 @@ files:
57
98
  - vendor/v8/include/cppgc/cross-thread-persistent.h
58
99
  - vendor/v8/include/cppgc/custom-space.h
59
100
  - vendor/v8/include/cppgc/default-platform.h
60
- - vendor/v8/include/cppgc/ephemeron-pair.h
61
101
  - vendor/v8/include/cppgc/explicit-management.h
62
102
  - vendor/v8/include/cppgc/garbage-collected.h
63
103
  - vendor/v8/include/cppgc/heap-consistency.h
@@ -71,6 +111,7 @@ files:
71
111
  - vendor/v8/include/cppgc/internal/caged-heap-local-data.h
72
112
  - vendor/v8/include/cppgc/internal/caged-heap.h
73
113
  - vendor/v8/include/cppgc/internal/compiler-specific.h
114
+ - vendor/v8/include/cppgc/internal/conditional-stack-allocated.h
74
115
  - vendor/v8/include/cppgc/internal/finalizer-trait.h
75
116
  - vendor/v8/include/cppgc/internal/gc-info.h
76
117
  - vendor/v8/include/cppgc/internal/logging.h
@@ -109,6 +150,7 @@ files:
109
150
  - vendor/v8/include/v8-embedder-state-scope.h
110
151
  - vendor/v8/include/v8-exception.h
111
152
  - vendor/v8/include/v8-extension.h
153
+ - vendor/v8/include/v8-external-memory-accounter.h
112
154
  - vendor/v8/include/v8-external.h
113
155
  - vendor/v8/include/v8-fast-api-calls.h
114
156
  - vendor/v8/include/v8-forward.h
@@ -138,11 +180,13 @@ files:
138
180
  - vendor/v8/include/v8-promise.h
139
181
  - vendor/v8/include/v8-proxy.h
140
182
  - vendor/v8/include/v8-regexp.h
183
+ - vendor/v8/include/v8-sandbox.h
141
184
  - vendor/v8/include/v8-script.h
142
185
  - vendor/v8/include/v8-snapshot.h
143
186
  - vendor/v8/include/v8-source-location.h
144
187
  - vendor/v8/include/v8-statistics.h
145
188
  - vendor/v8/include/v8-template.h
189
+ - vendor/v8/include/v8-trace-categories.h
146
190
  - vendor/v8/include/v8-traced-handle.h
147
191
  - vendor/v8/include/v8-typed-array.h
148
192
  - vendor/v8/include/v8-unwinder-state.h
@@ -162,8 +206,8 @@ files:
162
206
  homepage: https://github.com/rubyjs/libv8-node
163
207
  licenses:
164
208
  - MIT
165
- metadata: {}
166
- post_install_message:
209
+ metadata:
210
+ rubygems_mfa_required: 'true'
167
211
  rdoc_options: []
168
212
  require_paths:
169
213
  - lib
@@ -179,8 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
223
  - !ruby/object:Gem::Version
180
224
  version: '0'
181
225
  requirements: []
182
- rubygems_version: 3.3.26
183
- signing_key:
226
+ rubygems_version: 4.0.3
184
227
  specification_version: 4
185
228
  summary: Node.JS's V8 JavaScript engine
186
229
  test_files: []
@@ -1,30 +0,0 @@
1
- // Copyright 2020 the V8 project authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- #ifndef INCLUDE_CPPGC_EPHEMERON_PAIR_H_
6
- #define INCLUDE_CPPGC_EPHEMERON_PAIR_H_
7
-
8
- #include "cppgc/liveness-broker.h"
9
- #include "cppgc/member.h"
10
-
11
- namespace cppgc {
12
-
13
- /**
14
- * An ephemeron pair is used to conditionally retain an object.
15
- * The `value` will be kept alive only if the `key` is alive.
16
- */
17
- template <typename K, typename V>
18
- struct EphemeronPair {
19
- EphemeronPair(K* k, V* v) : key(k), value(v) {}
20
- WeakMember<K> key;
21
- Member<V> value;
22
-
23
- void ClearValueIfKeyIsDead(const LivenessBroker& broker) {
24
- if (!broker.IsHeapObjectAlive(key)) value = nullptr;
25
- }
26
- };
27
-
28
- } // namespace cppgc
29
-
30
- #endif // INCLUDE_CPPGC_EPHEMERON_PAIR_H_