node-linux-s390x 19.1.0 → 19.3.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.
@@ -182,7 +182,7 @@ constexpr size_t kSandboxSizeLog2 = 37; // 128 GB
182
182
  #else
183
183
  // Everywhere else use a 1TB sandbox.
184
184
  constexpr size_t kSandboxSizeLog2 = 40; // 1 TB
185
- #endif // V8_OS_ANDROID
185
+ #endif // V8_TARGET_OS_ANDROID
186
186
  constexpr size_t kSandboxSize = 1ULL << kSandboxSizeLog2;
187
187
 
188
188
  // Required alignment of the sandbox. For simplicity, we require the
@@ -223,6 +223,21 @@ static_assert(kSandboxMinimumReservationSize > kPtrComprCageReservationSize,
223
223
  "The minimum reservation size for a sandbox must be larger than "
224
224
  "the pointer compression cage contained within it.");
225
225
 
226
+ // The maximum buffer size allowed inside the sandbox. This is mostly dependent
227
+ // on the size of the guard regions around the sandbox: an attacker must not be
228
+ // able to construct a buffer that appears larger than the guard regions and
229
+ // thereby "reach out of" the sandbox.
230
+ constexpr size_t kMaxSafeBufferSizeForSandbox = 32ULL * GB - 1;
231
+ static_assert(kMaxSafeBufferSizeForSandbox <= kSandboxGuardRegionSize,
232
+ "The maximum allowed buffer size must not be larger than the "
233
+ "sandbox's guard regions");
234
+
235
+ constexpr size_t kBoundedSizeShift = 29;
236
+ static_assert(1ULL << (64 - kBoundedSizeShift) ==
237
+ kMaxSafeBufferSizeForSandbox + 1,
238
+ "The maximum size of a BoundedSize must be synchronized with the "
239
+ "kMaxSafeBufferSizeForSandbox");
240
+
226
241
  #endif // V8_ENABLE_SANDBOX
227
242
 
228
243
  #ifdef V8_COMPRESS_POINTERS
@@ -536,6 +536,7 @@ class V8_EXPORT Isolate {
536
536
  kFunctionPrototypeCaller = 114,
537
537
  kTurboFanOsrCompileStarted = 115,
538
538
  kAsyncStackTaggingCreateTaskCall = 116,
539
+ kDurationFormat = 117,
539
540
 
540
541
  // If you add new values here, you'll also need to update Chromium's:
541
542
  // web_feature.mojom, use_counter_callback.cc, and enums.xml. V8 changes to
@@ -9,9 +9,9 @@
9
9
  // NOTE these macros are used by some of the tool scripts and the build
10
10
  // system so their names cannot be changed without changing the scripts.
11
11
  #define V8_MAJOR_VERSION 10
12
- #define V8_MINOR_VERSION 7
13
- #define V8_BUILD_NUMBER 193
14
- #define V8_PATCH_LEVEL 20
12
+ #define V8_MINOR_VERSION 8
13
+ #define V8_BUILD_NUMBER 168
14
+ #define V8_PATCH_LEVEL 21
15
15
 
16
16
  // Use 1 for candidates and 0 otherwise.
17
17
  // (Boolean macro values are not supported by all preprocessors.)
@@ -579,6 +579,37 @@ path. Add it with -I<path> to the command line
579
579
  #define V8_NO_UNIQUE_ADDRESS /* NOT SUPPORTED */
580
580
  #endif
581
581
 
582
+ // Marks a type as being eligible for the "trivial" ABI despite having a
583
+ // non-trivial destructor or copy/move constructor. Such types can be relocated
584
+ // after construction by simply copying their memory, which makes them eligible
585
+ // to be passed in registers. The canonical example is std::unique_ptr.
586
+ //
587
+ // Use with caution; this has some subtle effects on constructor/destructor
588
+ // ordering and will be very incorrect if the type relies on its address
589
+ // remaining constant. When used as a function argument (by value), the value
590
+ // may be constructed in the caller's stack frame, passed in a register, and
591
+ // then used and destructed in the callee's stack frame. A similar thing can
592
+ // occur when values are returned.
593
+ //
594
+ // TRIVIAL_ABI is not needed for types which have a trivial destructor and
595
+ // copy/move constructors, since those are automatically trivial by the ABI
596
+ // spec.
597
+ //
598
+ // It is also not likely to be effective on types too large to be passed in one
599
+ // or two registers on typical target ABIs.
600
+ //
601
+ // See also:
602
+ // https://clang.llvm.org/docs/AttributeReference.html#trivial-abi
603
+ // https://libcxx.llvm.org/docs/DesignDocs/UniquePtrTrivialAbi.html
604
+ #if defined(__clang__) && defined(__has_attribute)
605
+ #if __has_attribute(trivial_abi)
606
+ #define V8_TRIVIAL_ABI [[clang::trivial_abi]]
607
+ #endif // __has_attribute(trivial_abi)
608
+ #endif // defined(__clang__) && defined(__has_attribute)
609
+ #if !defined(V8_TRIVIAL_ABI)
610
+ #define V8_TRIVIAL_ABI
611
+ #endif //!defined(V8_TRIVIAL_ABI)
612
+
582
613
  // Helper macro to define no_sanitize attributes only with clang.
583
614
  #if defined(__clang__) && defined(__has_attribute)
584
615
  #if __has_attribute(no_sanitize)
@@ -50,6 +50,9 @@
50
50
  # define crc32 z_crc32
51
51
  # define crc32_combine z_crc32_combine
52
52
  # define crc32_combine64 z_crc32_combine64
53
+ # define crc32_combine_gen z_crc32_combine_gen
54
+ # define crc32_combine_gen64 z_crc32_combine_gen64
55
+ # define crc32_combine_op z_crc32_combine_op
53
56
  # define crc32_z z_crc32_z
54
57
  # define deflate z_deflate
55
58
  # define deflateBound z_deflateBound
@@ -361,6 +364,9 @@
361
364
  # ifdef FAR
362
365
  # undef FAR
363
366
  # endif
367
+ # ifndef WIN32_LEAN_AND_MEAN
368
+ # define WIN32_LEAN_AND_MEAN
369
+ # endif
364
370
  # include <windows.h>
365
371
  /* No need for _export, use ZLIB.DEF instead. */
366
372
  /* For complete Windows compatibility, use WINAPI, not __stdcall. */
@@ -482,11 +488,18 @@ typedef uLong FAR uLongf;
482
488
  # undef _LARGEFILE64_SOURCE
483
489
  #endif
484
490
 
485
- #if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
486
- # define Z_HAVE_UNISTD_H
491
+ #ifndef Z_HAVE_UNISTD_H
492
+ # ifdef __WATCOMC__
493
+ # define Z_HAVE_UNISTD_H
494
+ # endif
495
+ #endif
496
+ #ifndef Z_HAVE_UNISTD_H
497
+ # if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
498
+ # define Z_HAVE_UNISTD_H
499
+ # endif
487
500
  #endif
488
501
  #ifndef Z_SOLO
489
- # if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
502
+ # if defined(Z_HAVE_UNISTD_H)
490
503
  # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
491
504
  # ifdef VMS
492
505
  # include <unixio.h> /* for off_t */