node-linux-arm64 18.10.0 → 19.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.
- package/CHANGELOG.md +132 -1597
- package/README.md +11 -16
- package/bin/node +0 -0
- package/include/node/common.gypi +1 -1
- package/include/node/config.gypi +251 -248
- package/include/node/cppgc/common.h +0 -1
- package/include/node/node.h +96 -10
- package/include/node/node_version.h +3 -3
- package/include/node/v8-callbacks.h +19 -5
- package/include/node/v8-context.h +12 -8
- package/include/node/v8-date.h +5 -0
- package/include/node/v8-embedder-heap.h +8 -3
- package/include/node/v8-exception.h +1 -1
- package/include/node/v8-function.h +8 -0
- package/include/node/v8-initialization.h +23 -49
- package/include/node/v8-internal.h +312 -123
- package/include/node/v8-isolate.h +26 -42
- package/include/node/v8-local-handle.h +5 -5
- package/include/node/v8-locker.h +0 -11
- package/include/node/v8-maybe.h +24 -1
- package/include/node/v8-message.h +2 -4
- package/include/node/v8-microtask-queue.h +1 -1
- package/include/node/v8-object.h +8 -15
- package/include/node/v8-persistent-handle.h +0 -2
- package/include/node/v8-platform.h +54 -25
- package/include/node/v8-primitive.h +8 -8
- package/include/node/v8-profiler.h +84 -22
- package/include/node/v8-regexp.h +2 -1
- package/include/node/v8-script.h +62 -6
- package/include/node/v8-template.h +13 -76
- package/include/node/v8-value-serializer.h +46 -23
- package/include/node/v8-version.h +3 -3
- package/include/node/v8-wasm.h +5 -62
- package/include/node/v8-weak-callback-info.h +0 -7
- package/include/node/v8config.h +247 -13
- package/package.json +1 -1
- package/share/doc/node/gdbinit +9 -1
- package/share/man/man1/node.1 +13 -6
- package/share/systemtap/tapset/node.stp +0 -146
|
@@ -63,13 +63,6 @@ enum class WeakCallbackType {
|
|
|
63
63
|
* Passes the first two internal fields of the object back to the callback.
|
|
64
64
|
*/
|
|
65
65
|
kInternalFields,
|
|
66
|
-
/**
|
|
67
|
-
* Passes a user-defined void* parameter back to the callback. Will do so
|
|
68
|
-
* before the object is actually reclaimed, allowing it to be resurrected. In
|
|
69
|
-
* this case it is not possible to set a second-pass callback.
|
|
70
|
-
*/
|
|
71
|
-
kFinalizer V8_ENUM_DEPRECATED("Resurrecting finalizers are deprecated "
|
|
72
|
-
"and will not be supported going forward.")
|
|
73
66
|
};
|
|
74
67
|
|
|
75
68
|
template <class T>
|
package/include/node/v8config.h
CHANGED
|
@@ -308,6 +308,7 @@ path. Add it with -I<path> to the command line
|
|
|
308
308
|
// V8_HAS_BUILTIN_SADD_OVERFLOW - __builtin_sadd_overflow() supported
|
|
309
309
|
// V8_HAS_BUILTIN_SSUB_OVERFLOW - __builtin_ssub_overflow() supported
|
|
310
310
|
// V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
|
|
311
|
+
// V8_HAS_BUILTIN_SMUL_OVERFLOW - __builtin_smul_overflow() supported
|
|
311
312
|
// V8_HAS_COMPUTED_GOTO - computed goto/labels as values
|
|
312
313
|
// supported
|
|
313
314
|
// V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
|
|
@@ -344,6 +345,7 @@ path. Add it with -I<path> to the command line
|
|
|
344
345
|
# define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
|
|
345
346
|
(V8_HAS_CPP_ATTRIBUTE(no_unique_address))
|
|
346
347
|
|
|
348
|
+
# define V8_HAS_BUILTIN_ASSUME (__has_builtin(__builtin_assume))
|
|
347
349
|
# define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
|
|
348
350
|
# define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
|
|
349
351
|
# define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
|
|
@@ -356,6 +358,8 @@ path. Add it with -I<path> to the command line
|
|
|
356
358
|
# define V8_HAS_BUILTIN_SADD_OVERFLOW (__has_builtin(__builtin_sadd_overflow))
|
|
357
359
|
# define V8_HAS_BUILTIN_SSUB_OVERFLOW (__has_builtin(__builtin_ssub_overflow))
|
|
358
360
|
# define V8_HAS_BUILTIN_UADD_OVERFLOW (__has_builtin(__builtin_uadd_overflow))
|
|
361
|
+
# define V8_HAS_BUILTIN_SMUL_OVERFLOW (__has_builtin(__builtin_smul_overflow))
|
|
362
|
+
# define V8_HAS_BUILTIN_UNREACHABLE (__has_builtin(__builtin_unreachable))
|
|
359
363
|
|
|
360
364
|
// Clang has no __has_feature for computed gotos.
|
|
361
365
|
// GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
|
|
@@ -394,6 +398,7 @@ path. Add it with -I<path> to the command line
|
|
|
394
398
|
# define V8_HAS_BUILTIN_EXPECT 1
|
|
395
399
|
# define V8_HAS_BUILTIN_FRAME_ADDRESS 1
|
|
396
400
|
# define V8_HAS_BUILTIN_POPCOUNT 1
|
|
401
|
+
# define V8_HAS_BUILTIN_UNREACHABLE 1
|
|
397
402
|
|
|
398
403
|
// GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
|
|
399
404
|
#define V8_HAS_COMPUTED_GOTO 1
|
|
@@ -425,6 +430,18 @@ path. Add it with -I<path> to the command line
|
|
|
425
430
|
# define V8_INLINE inline
|
|
426
431
|
#endif
|
|
427
432
|
|
|
433
|
+
#ifdef DEBUG
|
|
434
|
+
// In debug mode, check assumptions instead of actually adding annotations.
|
|
435
|
+
# define V8_ASSUME(condition) DCHECK(condition)
|
|
436
|
+
#elif V8_HAS_BUILTIN_ASSUME
|
|
437
|
+
# define V8_ASSUME(condition) __builtin_assume(condition)
|
|
438
|
+
#elif V8_HAS_BUILTIN_UNREACHABLE
|
|
439
|
+
# define V8_ASSUME(condition) \
|
|
440
|
+
do { if (!(condition)) __builtin_unreachable(); } while (false)
|
|
441
|
+
#else
|
|
442
|
+
# define V8_ASSUME(condition)
|
|
443
|
+
#endif
|
|
444
|
+
|
|
428
445
|
#if V8_HAS_BUILTIN_ASSUME_ALIGNED
|
|
429
446
|
# define V8_ASSUME_ALIGNED(ptr, alignment) \
|
|
430
447
|
__builtin_assume_aligned((ptr), (alignment))
|
|
@@ -471,6 +488,34 @@ path. Add it with -I<path> to the command line
|
|
|
471
488
|
#endif
|
|
472
489
|
|
|
473
490
|
|
|
491
|
+
#if defined(V8_IMMINENT_DEPRECATION_WARNINGS) || \
|
|
492
|
+
defined(V8_DEPRECATION_WARNINGS)
|
|
493
|
+
#if defined(V8_CC_MSVC)
|
|
494
|
+
# define START_ALLOW_USE_DEPRECATED() \
|
|
495
|
+
__pragma(warning(push)) \
|
|
496
|
+
__pragma(warning(disable : 4996))
|
|
497
|
+
# define END_ALLOW_USE_DEPRECATED() __pragma(warning(pop))
|
|
498
|
+
#else // !defined(V8_CC_MSVC)
|
|
499
|
+
# define START_ALLOW_USE_DEPRECATED() \
|
|
500
|
+
_Pragma("GCC diagnostic push") \
|
|
501
|
+
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
|
|
502
|
+
#define END_ALLOW_USE_DEPRECATED() _Pragma("GCC diagnostic pop")
|
|
503
|
+
#endif // !defined(V8_CC_MSVC)
|
|
504
|
+
#else // !(defined(V8_IMMINENT_DEPRECATION_WARNINGS) ||
|
|
505
|
+
// defined(V8_DEPRECATION_WARNINGS))
|
|
506
|
+
#define START_ALLOW_USE_DEPRECATED()
|
|
507
|
+
#define END_ALLOW_USE_DEPRECATED()
|
|
508
|
+
#endif // !(defined(V8_IMMINENT_DEPRECATION_WARNINGS) ||
|
|
509
|
+
// defined(V8_DEPRECATION_WARNINGS))
|
|
510
|
+
#define ALLOW_COPY_AND_MOVE_WITH_DEPRECATED_FIELDS(ClassName) \
|
|
511
|
+
START_ALLOW_USE_DEPRECATED() \
|
|
512
|
+
ClassName(const ClassName&) = default; \
|
|
513
|
+
ClassName(ClassName&&) = default; \
|
|
514
|
+
ClassName& operator=(const ClassName&) = default; \
|
|
515
|
+
ClassName& operator=(ClassName&&) = default; \
|
|
516
|
+
END_ALLOW_USE_DEPRECATED()
|
|
517
|
+
|
|
518
|
+
|
|
474
519
|
#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 6)
|
|
475
520
|
# define V8_ENUM_DEPRECATED(message)
|
|
476
521
|
# define V8_ENUM_DEPRECATE_SOON(message)
|
|
@@ -580,25 +625,214 @@ V8 shared library set USING_V8_SHARED.
|
|
|
580
625
|
|
|
581
626
|
#endif // V8_OS_WIN
|
|
582
627
|
|
|
583
|
-
//
|
|
584
|
-
|
|
585
|
-
//
|
|
586
|
-
|
|
587
|
-
|
|
628
|
+
// clang-format on
|
|
629
|
+
|
|
630
|
+
// Processor architecture detection. For more info on what's defined, see:
|
|
631
|
+
// http://msdn.microsoft.com/en-us/library/b0084kay.aspx
|
|
632
|
+
// http://www.agner.org/optimize/calling_conventions.pdf
|
|
633
|
+
// or with gcc, run: "echo | gcc -E -dM -"
|
|
634
|
+
// The V8_HOST_ARCH_* macros correspond to the architecture on which V8, as a
|
|
635
|
+
// virtual machine and compiler, runs. Don't confuse this with the architecture
|
|
636
|
+
// on which V8 is built.
|
|
637
|
+
#if defined(_M_X64) || defined(__x86_64__)
|
|
638
|
+
#define V8_HOST_ARCH_X64 1
|
|
639
|
+
#if defined(__x86_64__) && __SIZEOF_POINTER__ == 4 // Check for x32.
|
|
640
|
+
#define V8_HOST_ARCH_32_BIT 1
|
|
641
|
+
#else
|
|
642
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
643
|
+
#endif
|
|
644
|
+
#elif defined(_M_IX86) || defined(__i386__)
|
|
645
|
+
#define V8_HOST_ARCH_IA32 1
|
|
646
|
+
#define V8_HOST_ARCH_32_BIT 1
|
|
647
|
+
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
|
|
648
|
+
#define V8_HOST_ARCH_ARM64 1
|
|
649
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
650
|
+
#elif defined(__ARMEL__)
|
|
651
|
+
#define V8_HOST_ARCH_ARM 1
|
|
652
|
+
#define V8_HOST_ARCH_32_BIT 1
|
|
653
|
+
#elif defined(__mips64)
|
|
654
|
+
#define V8_HOST_ARCH_MIPS64 1
|
|
655
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
656
|
+
#elif defined(__loongarch64)
|
|
657
|
+
#define V8_HOST_ARCH_LOONG64 1
|
|
658
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
659
|
+
#elif defined(__PPC64__) || defined(_ARCH_PPC64)
|
|
660
|
+
#define V8_HOST_ARCH_PPC64 1
|
|
661
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
662
|
+
#elif defined(__PPC__) || defined(_ARCH_PPC)
|
|
663
|
+
#define V8_HOST_ARCH_PPC 1
|
|
664
|
+
#define V8_HOST_ARCH_32_BIT 1
|
|
665
|
+
#elif defined(__s390__) || defined(__s390x__)
|
|
666
|
+
#define V8_HOST_ARCH_S390 1
|
|
667
|
+
#if defined(__s390x__)
|
|
668
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
669
|
+
#else
|
|
670
|
+
#define V8_HOST_ARCH_32_BIT 1
|
|
671
|
+
#endif
|
|
672
|
+
#elif defined(__riscv) || defined(__riscv__)
|
|
673
|
+
#if __riscv_xlen == 64
|
|
674
|
+
#define V8_HOST_ARCH_RISCV64 1
|
|
675
|
+
#define V8_HOST_ARCH_64_BIT 1
|
|
676
|
+
#elif __riscv_xlen == 32
|
|
677
|
+
#define V8_HOST_ARCH_RISCV32 1
|
|
678
|
+
#define V8_HOST_ARCH_32_BIT 1
|
|
679
|
+
#else
|
|
680
|
+
#error "Cannot detect Riscv's bitwidth"
|
|
681
|
+
#endif
|
|
682
|
+
#else
|
|
683
|
+
#error "Host architecture was not detected as supported by v8"
|
|
684
|
+
#endif
|
|
685
|
+
|
|
686
|
+
// Target architecture detection. This corresponds to the architecture for which
|
|
687
|
+
// V8's JIT will generate code (the last stage of the canadian cross-compiler).
|
|
688
|
+
// The macros may be set externally. If not, detect in the same way as the host
|
|
689
|
+
// architecture, that is, target the native environment as presented by the
|
|
690
|
+
// compiler.
|
|
691
|
+
#if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_ARM && \
|
|
692
|
+
!V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC && \
|
|
693
|
+
!V8_TARGET_ARCH_PPC64 && !V8_TARGET_ARCH_S390 && \
|
|
694
|
+
!V8_TARGET_ARCH_RISCV64 && !V8_TARGET_ARCH_LOONG64 && \
|
|
695
|
+
!V8_TARGET_ARCH_RISCV32
|
|
696
|
+
#if defined(_M_X64) || defined(__x86_64__)
|
|
697
|
+
#define V8_TARGET_ARCH_X64 1
|
|
698
|
+
#elif defined(_M_IX86) || defined(__i386__)
|
|
699
|
+
#define V8_TARGET_ARCH_IA32 1
|
|
700
|
+
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
|
|
701
|
+
#define V8_TARGET_ARCH_ARM64 1
|
|
702
|
+
#elif defined(__ARMEL__)
|
|
703
|
+
#define V8_TARGET_ARCH_ARM 1
|
|
704
|
+
#elif defined(__mips64)
|
|
705
|
+
#define V8_TARGET_ARCH_MIPS64 1
|
|
706
|
+
#elif defined(_ARCH_PPC64)
|
|
707
|
+
#define V8_TARGET_ARCH_PPC64 1
|
|
708
|
+
#elif defined(_ARCH_PPC)
|
|
709
|
+
#define V8_TARGET_ARCH_PPC 1
|
|
710
|
+
#elif defined(__s390__)
|
|
711
|
+
#define V8_TARGET_ARCH_S390 1
|
|
712
|
+
#if defined(__s390x__)
|
|
713
|
+
#define V8_TARGET_ARCH_S390X 1
|
|
714
|
+
#endif
|
|
715
|
+
#elif defined(__riscv) || defined(__riscv__)
|
|
716
|
+
#if __riscv_xlen == 64
|
|
717
|
+
#define V8_TARGET_ARCH_RISCV64 1
|
|
718
|
+
#elif __riscv_xlen == 32
|
|
719
|
+
#define V8_TARGET_ARCH_RISCV32 1
|
|
720
|
+
#endif
|
|
721
|
+
#else
|
|
722
|
+
#error Target architecture was not detected as supported by v8
|
|
723
|
+
#endif
|
|
588
724
|
#endif
|
|
589
725
|
|
|
590
|
-
|
|
591
|
-
#
|
|
726
|
+
// Determine architecture pointer size.
|
|
727
|
+
#if V8_TARGET_ARCH_IA32
|
|
728
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
729
|
+
#elif V8_TARGET_ARCH_X64
|
|
730
|
+
#if !V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_64_BIT
|
|
731
|
+
#if defined(__x86_64__) && __SIZEOF_POINTER__ == 4 // Check for x32.
|
|
732
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
733
|
+
#else
|
|
734
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
735
|
+
#endif
|
|
736
|
+
#endif
|
|
737
|
+
#elif V8_TARGET_ARCH_ARM
|
|
738
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
739
|
+
#elif V8_TARGET_ARCH_ARM64
|
|
740
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
741
|
+
#elif V8_TARGET_ARCH_MIPS
|
|
742
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
743
|
+
#elif V8_TARGET_ARCH_MIPS64
|
|
744
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
745
|
+
#elif V8_TARGET_ARCH_LOONG64
|
|
746
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
747
|
+
#elif V8_TARGET_ARCH_PPC
|
|
748
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
749
|
+
#elif V8_TARGET_ARCH_PPC64
|
|
750
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
751
|
+
#elif V8_TARGET_ARCH_S390
|
|
752
|
+
#if V8_TARGET_ARCH_S390X
|
|
753
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
754
|
+
#else
|
|
755
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
756
|
+
#endif
|
|
757
|
+
#elif V8_TARGET_ARCH_RISCV64
|
|
758
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
|
759
|
+
#elif V8_TARGET_ARCH_RISCV32
|
|
760
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
|
761
|
+
#else
|
|
762
|
+
#error Unknown target architecture pointer size
|
|
592
763
|
#endif
|
|
593
764
|
|
|
594
|
-
//
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
#
|
|
598
|
-
#
|
|
765
|
+
// Check for supported combinations of host and target architectures.
|
|
766
|
+
#if V8_TARGET_ARCH_IA32 && !V8_HOST_ARCH_IA32
|
|
767
|
+
#error Target architecture ia32 is only supported on ia32 host
|
|
768
|
+
#endif
|
|
769
|
+
#if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_64_BIT && \
|
|
770
|
+
!((V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64) && V8_HOST_ARCH_64_BIT))
|
|
771
|
+
#error Target architecture x64 is only supported on x64 and arm64 host
|
|
772
|
+
#endif
|
|
773
|
+
#if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_32_BIT && \
|
|
774
|
+
!(V8_HOST_ARCH_X64 && V8_HOST_ARCH_32_BIT))
|
|
775
|
+
#error Target architecture x32 is only supported on x64 host with x32 support
|
|
776
|
+
#endif
|
|
777
|
+
#if (V8_TARGET_ARCH_ARM && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_ARM))
|
|
778
|
+
#error Target architecture arm is only supported on arm and ia32 host
|
|
779
|
+
#endif
|
|
780
|
+
#if (V8_TARGET_ARCH_ARM64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64))
|
|
781
|
+
#error Target architecture arm64 is only supported on arm64 and x64 host
|
|
782
|
+
#endif
|
|
783
|
+
#if (V8_TARGET_ARCH_MIPS64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_MIPS64))
|
|
784
|
+
#error Target architecture mips64 is only supported on mips64 and x64 host
|
|
785
|
+
#endif
|
|
786
|
+
#if (V8_TARGET_ARCH_RISCV64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_RISCV64))
|
|
787
|
+
#error Target architecture riscv64 is only supported on riscv64 and x64 host
|
|
788
|
+
#endif
|
|
789
|
+
#if (V8_TARGET_ARCH_RISCV32 && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_RISCV32))
|
|
790
|
+
#error Target architecture riscv32 is only supported on riscv32 and ia32 host
|
|
791
|
+
#endif
|
|
792
|
+
#if (V8_TARGET_ARCH_LOONG64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_LOONG64))
|
|
793
|
+
#error Target architecture loong64 is only supported on loong64 and x64 host
|
|
599
794
|
#endif
|
|
600
795
|
|
|
601
|
-
//
|
|
796
|
+
// Determine architecture endianness.
|
|
797
|
+
#if V8_TARGET_ARCH_IA32
|
|
798
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
799
|
+
#elif V8_TARGET_ARCH_X64
|
|
800
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
801
|
+
#elif V8_TARGET_ARCH_ARM
|
|
802
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
803
|
+
#elif V8_TARGET_ARCH_ARM64
|
|
804
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
805
|
+
#elif V8_TARGET_ARCH_LOONG64
|
|
806
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
807
|
+
#elif V8_TARGET_ARCH_MIPS64
|
|
808
|
+
#if defined(__MIPSEB__) || defined(V8_TARGET_ARCH_MIPS64_BE)
|
|
809
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
|
810
|
+
#else
|
|
811
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
812
|
+
#endif
|
|
813
|
+
#elif defined(__BIG_ENDIAN__) // FOR PPCGR on AIX
|
|
814
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
|
815
|
+
#elif V8_TARGET_ARCH_PPC_LE
|
|
816
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
817
|
+
#elif V8_TARGET_ARCH_PPC_BE
|
|
818
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
|
819
|
+
#elif V8_TARGET_ARCH_S390
|
|
820
|
+
#if V8_TARGET_ARCH_S390_LE_SIM
|
|
821
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
822
|
+
#else
|
|
823
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
|
824
|
+
#endif
|
|
825
|
+
#elif V8_TARGET_ARCH_RISCV32 || V8_TARGET_ARCH_RISCV64
|
|
826
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
827
|
+
#elif defined(__BYTE_ORDER__)
|
|
828
|
+
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
|
829
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
|
830
|
+
#else
|
|
831
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
|
832
|
+
#endif
|
|
833
|
+
#else
|
|
834
|
+
#error Unknown target architecture endianness
|
|
835
|
+
#endif
|
|
602
836
|
|
|
603
837
|
#undef V8_HAS_CPP_ATTRIBUTE
|
|
604
838
|
|
package/package.json
CHANGED
package/share/doc/node/gdbinit
CHANGED
|
@@ -158,7 +158,15 @@ try:
|
|
|
158
158
|
except gdb.error:
|
|
159
159
|
pass
|
|
160
160
|
end
|
|
161
|
-
|
|
161
|
+
|
|
162
|
+
# Configuring ASLR may not be possible on some platforms, such running via the
|
|
163
|
+
# `rr` debuggger.
|
|
164
|
+
python
|
|
165
|
+
try:
|
|
166
|
+
gdb.execute("set disable-randomization off")
|
|
167
|
+
except gdb.error:
|
|
168
|
+
pass
|
|
169
|
+
end
|
|
162
170
|
|
|
163
171
|
# Install a handler whenever the debugger stops due to a signal. It walks up the
|
|
164
172
|
# stack looking for V8_Dcheck / V8_Fatal / OS::DebugBreak frame and moves the
|
package/share/man/man1/node.1
CHANGED
|
@@ -139,9 +139,6 @@ Requires Node.js to be built with
|
|
|
139
139
|
.It Fl -enable-source-maps
|
|
140
140
|
Enable Source Map V3 support for stack traces.
|
|
141
141
|
.
|
|
142
|
-
.It Fl -experimental-global-customevent
|
|
143
|
-
Expose the CustomEvent on the global scope.
|
|
144
|
-
.
|
|
145
142
|
.It Fl -experimental-global-webcrypto
|
|
146
143
|
Expose the Web Crypto API on the global scope.
|
|
147
144
|
.
|
|
@@ -159,15 +156,21 @@ Enable experimental support for loading modules using `import` over `https:`.
|
|
|
159
156
|
.It Fl -experimental-policy
|
|
160
157
|
Use the specified file as a security policy.
|
|
161
158
|
.
|
|
159
|
+
.It Fl -experimental-shadow-realm
|
|
160
|
+
Use this flag to enable ShadowRealm support.
|
|
161
|
+
.
|
|
162
162
|
.It Fl -no-experimental-fetch
|
|
163
163
|
Disable experimental support for the Fetch API.
|
|
164
164
|
.
|
|
165
|
+
.It Fl -no-experimental-global-customevent
|
|
166
|
+
Disable exposition of the CustomEvent on the global scope.
|
|
167
|
+
.
|
|
168
|
+
.It Fl -no-experimental-global-webcrypto
|
|
169
|
+
Disable exposition of the Web Crypto API on the global scope.
|
|
170
|
+
.
|
|
165
171
|
.It Fl -no-experimental-repl-await
|
|
166
172
|
Disable top-level await keyword support in REPL.
|
|
167
173
|
.
|
|
168
|
-
.It Fl -experimental-specifier-resolution
|
|
169
|
-
Select extension resolution algorithm for ES Modules; either 'explicit' (default) or 'node'.
|
|
170
|
-
.
|
|
171
174
|
.It Fl -experimental-vm-modules
|
|
172
175
|
Enable experimental ES module support in VM module.
|
|
173
176
|
.
|
|
@@ -387,6 +390,10 @@ Specify the minimum allocation from the OpenSSL secure heap. The default is 2. T
|
|
|
387
390
|
.It Fl -test
|
|
388
391
|
Starts the Node.js command line test runner.
|
|
389
392
|
.
|
|
393
|
+
.It Fl -test-name-pattern
|
|
394
|
+
A regular expression that configures the test runner to only execute tests
|
|
395
|
+
whose name matches the provided pattern.
|
|
396
|
+
.
|
|
390
397
|
.It Fl -test-only
|
|
391
398
|
Configures the test runner to only execute top level tests that have the `only`
|
|
392
399
|
option set.
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
// Copyright Joyent, Inc. and other Node contributors.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
-
// copy of this software and associated documentation files (the
|
|
5
|
-
// "Software"), to deal in the Software without restriction, including
|
|
6
|
-
// without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
-
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
-
// persons to whom the Software is furnished to do so, subject to the
|
|
9
|
-
// following conditions:
|
|
10
|
-
//
|
|
11
|
-
// The above copyright notice and this permission notice shall be included
|
|
12
|
-
// in all copies or substantial portions of the Software.
|
|
13
|
-
//
|
|
14
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
-
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
-
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
17
|
-
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
18
|
-
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
19
|
-
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
20
|
-
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
-
|
|
22
|
-
probe node_net_server_connection = process("node").mark("net__server__connection")
|
|
23
|
-
{
|
|
24
|
-
remote = user_string($arg2);
|
|
25
|
-
port = $arg3;
|
|
26
|
-
fd = $arg4;
|
|
27
|
-
|
|
28
|
-
probestr = sprintf("%s(remote=%s, port=%d, fd=%d)",
|
|
29
|
-
$$name,
|
|
30
|
-
remote,
|
|
31
|
-
port,
|
|
32
|
-
fd);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
probe node_net_stream_end = process("node").mark("net__stream__end")
|
|
36
|
-
{
|
|
37
|
-
remote = user_string($arg2);
|
|
38
|
-
port = $arg3;
|
|
39
|
-
fd = $arg4;
|
|
40
|
-
|
|
41
|
-
probestr = sprintf("%s(remote=%s, port=%d, fd=%d)",
|
|
42
|
-
$$name,
|
|
43
|
-
remote,
|
|
44
|
-
port,
|
|
45
|
-
fd);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
probe node_http_server_request = process("node").mark("http__server__request")
|
|
49
|
-
{
|
|
50
|
-
remote = user_string($arg3);
|
|
51
|
-
port = $arg4;
|
|
52
|
-
method = user_string($arg5);
|
|
53
|
-
url = user_string($arg6);
|
|
54
|
-
fd = $arg7;
|
|
55
|
-
|
|
56
|
-
probestr = sprintf("%s(remote=%s, port=%d, method=%s, url=%s, fd=%d)",
|
|
57
|
-
$$name,
|
|
58
|
-
remote,
|
|
59
|
-
port,
|
|
60
|
-
method,
|
|
61
|
-
url,
|
|
62
|
-
fd);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
probe node_http_server_response = process("node").mark("http__server__response")
|
|
66
|
-
{
|
|
67
|
-
remote = user_string($arg2);
|
|
68
|
-
port = $arg3;
|
|
69
|
-
fd = $arg4;
|
|
70
|
-
|
|
71
|
-
probestr = sprintf("%s(remote=%s, port=%d, fd=%d)",
|
|
72
|
-
$$name,
|
|
73
|
-
remote,
|
|
74
|
-
port,
|
|
75
|
-
fd);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
probe node_http_client_request = process("node").mark("http__client__request")
|
|
79
|
-
{
|
|
80
|
-
remote = user_string($arg3);
|
|
81
|
-
port = $arg4;
|
|
82
|
-
method = user_string($arg5);
|
|
83
|
-
url = user_string($arg6);
|
|
84
|
-
fd = $arg7;
|
|
85
|
-
|
|
86
|
-
probestr = sprintf("%s(remote=%s, port=%d, method=%s, url=%s, fd=%d)",
|
|
87
|
-
$$name,
|
|
88
|
-
remote,
|
|
89
|
-
port,
|
|
90
|
-
method,
|
|
91
|
-
url,
|
|
92
|
-
fd);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
probe node_http_client_response = process("node").mark("http__client__response")
|
|
96
|
-
{
|
|
97
|
-
remote = user_string($arg2);
|
|
98
|
-
port = $arg3;
|
|
99
|
-
fd = $arg4;
|
|
100
|
-
|
|
101
|
-
probestr = sprintf("%s(remote=%s, port=%d, fd=%d)",
|
|
102
|
-
$$name,
|
|
103
|
-
remote,
|
|
104
|
-
port,
|
|
105
|
-
fd);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
probe node_gc_start = process("node").mark("gc__start")
|
|
109
|
-
{
|
|
110
|
-
scavenge = 1 << 0;
|
|
111
|
-
compact = 1 << 1;
|
|
112
|
-
|
|
113
|
-
if ($arg1 == scavenge)
|
|
114
|
-
type = "kGCTypeScavenge";
|
|
115
|
-
else if ($arg1 == compact)
|
|
116
|
-
type = "kGCTypeMarkSweepCompact";
|
|
117
|
-
else
|
|
118
|
-
type = "kGCTypeAll";
|
|
119
|
-
|
|
120
|
-
flags = $arg2;
|
|
121
|
-
|
|
122
|
-
probestr = sprintf("%s(type=%s,flags=%d)",
|
|
123
|
-
$$name,
|
|
124
|
-
type,
|
|
125
|
-
flags);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
probe node_gc_stop = process("node").mark("gc__done")
|
|
129
|
-
{
|
|
130
|
-
scavenge = 1 << 0;
|
|
131
|
-
compact = 1 << 1;
|
|
132
|
-
|
|
133
|
-
if ($arg1 == scavenge)
|
|
134
|
-
type = "kGCTypeScavenge";
|
|
135
|
-
else if ($arg1 == compact)
|
|
136
|
-
type = "kGCTypeMarkSweepCompact";
|
|
137
|
-
else
|
|
138
|
-
type = "kGCTypeAll";
|
|
139
|
-
|
|
140
|
-
flags = $arg2;
|
|
141
|
-
|
|
142
|
-
probestr = sprintf("%s(type=%s,flags=%d)",
|
|
143
|
-
$$name,
|
|
144
|
-
type,
|
|
145
|
-
flags);
|
|
146
|
-
}
|