libv8-node 18.19.1.0-arm64-darwin → 19.9.0.0-arm64-darwin
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.
- checksums.yaml +4 -4
- data/lib/libv8/node/version.rb +3 -3
- data/vendor/v8/arm64-darwin/libv8/obj/libv8_monolith.a +0 -0
- data/vendor/v8/include/cppgc/common.h +0 -1
- data/vendor/v8/include/cppgc/cross-thread-persistent.h +7 -8
- data/vendor/v8/include/cppgc/heap-consistency.h +46 -3
- data/vendor/v8/include/cppgc/heap-handle.h +43 -0
- data/vendor/v8/include/cppgc/heap-statistics.h +2 -2
- data/vendor/v8/include/cppgc/heap.h +3 -7
- data/vendor/v8/include/cppgc/internal/api-constants.h +11 -1
- data/vendor/v8/include/cppgc/internal/base-page-handle.h +45 -0
- data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +40 -8
- data/vendor/v8/include/cppgc/internal/caged-heap.h +61 -0
- data/vendor/v8/include/cppgc/internal/gc-info.h +0 -1
- data/vendor/v8/include/cppgc/internal/member-storage.h +236 -0
- data/vendor/v8/include/cppgc/internal/name-trait.h +21 -6
- data/vendor/v8/include/cppgc/internal/persistent-node.h +11 -13
- data/vendor/v8/include/cppgc/internal/pointer-policies.h +28 -7
- data/vendor/v8/include/cppgc/internal/write-barrier.h +143 -101
- data/vendor/v8/include/cppgc/liveness-broker.h +8 -7
- data/vendor/v8/include/cppgc/member.h +364 -89
- data/vendor/v8/include/cppgc/name-provider.h +4 -4
- data/vendor/v8/include/cppgc/persistent.h +5 -9
- data/vendor/v8/include/cppgc/platform.h +2 -2
- data/vendor/v8/include/cppgc/sentinel-pointer.h +1 -1
- data/vendor/v8/include/cppgc/trace-trait.h +4 -0
- data/vendor/v8/include/cppgc/type-traits.h +9 -0
- data/vendor/v8/include/cppgc/visitor.h +89 -57
- data/vendor/v8/include/v8-callbacks.h +19 -5
- data/vendor/v8/include/v8-context.h +13 -8
- data/vendor/v8/include/v8-cppgc.h +12 -0
- data/vendor/v8/include/v8-date.h +5 -0
- data/vendor/v8/include/v8-embedder-heap.h +8 -3
- data/vendor/v8/include/v8-exception.h +1 -1
- data/vendor/v8/include/v8-fast-api-calls.h +46 -32
- data/vendor/v8/include/v8-function.h +8 -0
- data/vendor/v8/include/v8-initialization.h +23 -49
- data/vendor/v8/include/v8-inspector.h +13 -7
- data/vendor/v8/include/v8-internal.h +328 -123
- data/vendor/v8/include/v8-isolate.h +27 -42
- data/vendor/v8/include/v8-local-handle.h +5 -5
- data/vendor/v8/include/v8-locker.h +0 -11
- data/vendor/v8/include/v8-maybe.h +24 -1
- data/vendor/v8/include/v8-message.h +2 -4
- data/vendor/v8/include/v8-metrics.h +20 -38
- data/vendor/v8/include/v8-microtask-queue.h +1 -1
- data/vendor/v8/include/v8-object.h +8 -15
- data/vendor/v8/include/v8-persistent-handle.h +0 -2
- data/vendor/v8/include/v8-platform.h +54 -25
- data/vendor/v8/include/v8-primitive.h +8 -8
- data/vendor/v8/include/v8-profiler.h +84 -22
- data/vendor/v8/include/v8-regexp.h +2 -1
- data/vendor/v8/include/v8-script.h +62 -6
- data/vendor/v8/include/v8-template.h +13 -76
- data/vendor/v8/include/v8-unwinder-state.h +4 -4
- data/vendor/v8/include/v8-util.h +2 -4
- data/vendor/v8/include/v8-value-serializer.h +46 -23
- data/vendor/v8/include/v8-version.h +3 -3
- data/vendor/v8/include/v8-wasm.h +5 -62
- data/vendor/v8/include/v8-weak-callback-info.h +0 -7
- data/vendor/v8/include/v8config.h +280 -13
- metadata +7 -3
data/vendor/v8/include/v8-wasm.h
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
#ifndef INCLUDE_V8_WASM_H_
|
6
6
|
#define INCLUDE_V8_WASM_H_
|
7
7
|
|
8
|
+
#include <functional>
|
8
9
|
#include <memory>
|
9
10
|
#include <string>
|
10
11
|
|
@@ -130,19 +131,6 @@ class V8_EXPORT WasmStreaming final {
|
|
130
131
|
public:
|
131
132
|
class WasmStreamingImpl;
|
132
133
|
|
133
|
-
/**
|
134
|
-
* Client to receive streaming event notifications.
|
135
|
-
*/
|
136
|
-
class Client {
|
137
|
-
public:
|
138
|
-
virtual ~Client() = default;
|
139
|
-
/**
|
140
|
-
* Passes the fully compiled module to the client. This can be used to
|
141
|
-
* implement code caching.
|
142
|
-
*/
|
143
|
-
virtual void OnModuleCompiled(CompiledWasmModule compiled_module) = 0;
|
144
|
-
};
|
145
|
-
|
146
134
|
explicit WasmStreaming(std::unique_ptr<WasmStreamingImpl> impl);
|
147
135
|
|
148
136
|
~WasmStreaming();
|
@@ -183,10 +171,11 @@ class V8_EXPORT WasmStreaming final {
|
|
183
171
|
bool SetCompiledModuleBytes(const uint8_t* bytes, size_t size);
|
184
172
|
|
185
173
|
/**
|
186
|
-
* Sets
|
187
|
-
*
|
174
|
+
* Sets a callback which is called whenever a significant number of new
|
175
|
+
* functions are ready for serialization.
|
188
176
|
*/
|
189
|
-
void
|
177
|
+
void SetMoreFunctionsCanBeSerializedCallback(
|
178
|
+
std::function<void(CompiledWasmModule)>);
|
190
179
|
|
191
180
|
/*
|
192
181
|
* Sets the UTF-8 encoded source URL for the {Script} object. This must be
|
@@ -206,52 +195,6 @@ class V8_EXPORT WasmStreaming final {
|
|
206
195
|
std::unique_ptr<WasmStreamingImpl> impl_;
|
207
196
|
};
|
208
197
|
|
209
|
-
// TODO(mtrofin): when streaming compilation is done, we can rename this
|
210
|
-
// to simply WasmModuleObjectBuilder
|
211
|
-
class V8_EXPORT WasmModuleObjectBuilderStreaming final {
|
212
|
-
public:
|
213
|
-
explicit WasmModuleObjectBuilderStreaming(Isolate* isolate);
|
214
|
-
/**
|
215
|
-
* The buffer passed into OnBytesReceived is owned by the caller.
|
216
|
-
*/
|
217
|
-
void OnBytesReceived(const uint8_t*, size_t size);
|
218
|
-
void Finish();
|
219
|
-
/**
|
220
|
-
* Abort streaming compilation. If {exception} has a value, then the promise
|
221
|
-
* associated with streaming compilation is rejected with that value. If
|
222
|
-
* {exception} does not have value, the promise does not get rejected.
|
223
|
-
*/
|
224
|
-
void Abort(MaybeLocal<Value> exception);
|
225
|
-
Local<Promise> GetPromise();
|
226
|
-
|
227
|
-
~WasmModuleObjectBuilderStreaming() = default;
|
228
|
-
|
229
|
-
private:
|
230
|
-
WasmModuleObjectBuilderStreaming(const WasmModuleObjectBuilderStreaming&) =
|
231
|
-
delete;
|
232
|
-
WasmModuleObjectBuilderStreaming(WasmModuleObjectBuilderStreaming&&) =
|
233
|
-
default;
|
234
|
-
WasmModuleObjectBuilderStreaming& operator=(
|
235
|
-
const WasmModuleObjectBuilderStreaming&) = delete;
|
236
|
-
WasmModuleObjectBuilderStreaming& operator=(
|
237
|
-
WasmModuleObjectBuilderStreaming&&) = default;
|
238
|
-
Isolate* isolate_ = nullptr;
|
239
|
-
|
240
|
-
#if V8_CC_MSVC
|
241
|
-
/**
|
242
|
-
* We don't need the static Copy API, so the default
|
243
|
-
* NonCopyablePersistentTraits would be sufficient, however,
|
244
|
-
* MSVC eagerly instantiates the Copy.
|
245
|
-
* We ensure we don't use Copy, however, by compiling with the
|
246
|
-
* defaults everywhere else.
|
247
|
-
*/
|
248
|
-
Persistent<Promise, CopyablePersistentTraits<Promise>> promise_;
|
249
|
-
#else
|
250
|
-
Persistent<Promise> promise_;
|
251
|
-
#endif
|
252
|
-
std::shared_ptr<internal::wasm::StreamingDecoder> streaming_decoder_;
|
253
|
-
};
|
254
|
-
|
255
198
|
} // namespace v8
|
256
199
|
|
257
200
|
#endif // INCLUDE_V8_WASM_H_
|
@@ -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>
|
@@ -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)
|
@@ -534,6 +579,37 @@ path. Add it with -I<path> to the command line
|
|
534
579
|
#define V8_NO_UNIQUE_ADDRESS /* NOT SUPPORTED */
|
535
580
|
#endif
|
536
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
|
+
|
537
613
|
// Helper macro to define no_sanitize attributes only with clang.
|
538
614
|
#if defined(__clang__) && defined(__has_attribute)
|
539
615
|
#if __has_attribute(no_sanitize)
|
@@ -580,25 +656,216 @@ V8 shared library set USING_V8_SHARED.
|
|
580
656
|
|
581
657
|
#endif // V8_OS_WIN
|
582
658
|
|
583
|
-
//
|
584
|
-
|
585
|
-
//
|
586
|
-
|
587
|
-
|
659
|
+
// clang-format on
|
660
|
+
|
661
|
+
// Processor architecture detection. For more info on what's defined, see:
|
662
|
+
// http://msdn.microsoft.com/en-us/library/b0084kay.aspx
|
663
|
+
// http://www.agner.org/optimize/calling_conventions.pdf
|
664
|
+
// or with gcc, run: "echo | gcc -E -dM -"
|
665
|
+
// The V8_HOST_ARCH_* macros correspond to the architecture on which V8, as a
|
666
|
+
// virtual machine and compiler, runs. Don't confuse this with the architecture
|
667
|
+
// on which V8 is built.
|
668
|
+
#if defined(_M_X64) || defined(__x86_64__)
|
669
|
+
#define V8_HOST_ARCH_X64 1
|
670
|
+
#if defined(__x86_64__) && __SIZEOF_POINTER__ == 4 // Check for x32.
|
671
|
+
#define V8_HOST_ARCH_32_BIT 1
|
672
|
+
#else
|
673
|
+
#define V8_HOST_ARCH_64_BIT 1
|
674
|
+
#endif
|
675
|
+
#elif defined(_M_IX86) || defined(__i386__)
|
676
|
+
#define V8_HOST_ARCH_IA32 1
|
677
|
+
#define V8_HOST_ARCH_32_BIT 1
|
678
|
+
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
|
679
|
+
#define V8_HOST_ARCH_ARM64 1
|
680
|
+
#define V8_HOST_ARCH_64_BIT 1
|
681
|
+
#elif defined(__ARMEL__)
|
682
|
+
#define V8_HOST_ARCH_ARM 1
|
683
|
+
#define V8_HOST_ARCH_32_BIT 1
|
684
|
+
#elif defined(__mips64)
|
685
|
+
#define V8_HOST_ARCH_MIPS64 1
|
686
|
+
#define V8_HOST_ARCH_64_BIT 1
|
687
|
+
#elif defined(__loongarch64)
|
688
|
+
#define V8_HOST_ARCH_LOONG64 1
|
689
|
+
#define V8_HOST_ARCH_64_BIT 1
|
690
|
+
#elif defined(__PPC64__) || defined(_ARCH_PPC64)
|
691
|
+
#define V8_HOST_ARCH_PPC64 1
|
692
|
+
#define V8_HOST_ARCH_64_BIT 1
|
693
|
+
#elif defined(__PPC__) || defined(_ARCH_PPC)
|
694
|
+
#define V8_HOST_ARCH_PPC 1
|
695
|
+
#define V8_HOST_ARCH_32_BIT 1
|
696
|
+
#elif defined(__s390__) || defined(__s390x__)
|
697
|
+
#define V8_HOST_ARCH_S390 1
|
698
|
+
#if defined(__s390x__)
|
699
|
+
#define V8_HOST_ARCH_64_BIT 1
|
700
|
+
#else
|
701
|
+
#define V8_HOST_ARCH_32_BIT 1
|
702
|
+
#endif
|
703
|
+
#elif defined(__riscv) || defined(__riscv__)
|
704
|
+
#if __riscv_xlen == 64
|
705
|
+
#define V8_HOST_ARCH_RISCV64 1
|
706
|
+
#define V8_HOST_ARCH_64_BIT 1
|
707
|
+
#elif __riscv_xlen == 32
|
708
|
+
#define V8_HOST_ARCH_RISCV32 1
|
709
|
+
#define V8_HOST_ARCH_32_BIT 1
|
710
|
+
#else
|
711
|
+
#error "Cannot detect Riscv's bitwidth"
|
712
|
+
#endif
|
713
|
+
#else
|
714
|
+
#error "Host architecture was not detected as supported by v8"
|
715
|
+
#endif
|
716
|
+
|
717
|
+
// Target architecture detection. This corresponds to the architecture for which
|
718
|
+
// V8's JIT will generate code (the last stage of the canadian cross-compiler).
|
719
|
+
// The macros may be set externally. If not, detect in the same way as the host
|
720
|
+
// architecture, that is, target the native environment as presented by the
|
721
|
+
// compiler.
|
722
|
+
#if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_ARM && \
|
723
|
+
!V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS64 && !V8_TARGET_ARCH_PPC && \
|
724
|
+
!V8_TARGET_ARCH_PPC64 && !V8_TARGET_ARCH_S390 && \
|
725
|
+
!V8_TARGET_ARCH_RISCV64 && !V8_TARGET_ARCH_LOONG64 && \
|
726
|
+
!V8_TARGET_ARCH_RISCV32
|
727
|
+
#if defined(_M_X64) || defined(__x86_64__)
|
728
|
+
#define V8_TARGET_ARCH_X64 1
|
729
|
+
#elif defined(_M_IX86) || defined(__i386__)
|
730
|
+
#define V8_TARGET_ARCH_IA32 1
|
731
|
+
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
|
732
|
+
#define V8_TARGET_ARCH_ARM64 1
|
733
|
+
#elif defined(__ARMEL__)
|
734
|
+
#define V8_TARGET_ARCH_ARM 1
|
735
|
+
#elif defined(__mips64)
|
736
|
+
#define V8_TARGET_ARCH_MIPS64 1
|
737
|
+
#elif defined(__loongarch64)
|
738
|
+
#define V8_TARGET_ARCH_LOONG64 1
|
739
|
+
#elif defined(_ARCH_PPC64)
|
740
|
+
#define V8_TARGET_ARCH_PPC64 1
|
741
|
+
#elif defined(_ARCH_PPC)
|
742
|
+
#define V8_TARGET_ARCH_PPC 1
|
743
|
+
#elif defined(__s390__)
|
744
|
+
#define V8_TARGET_ARCH_S390 1
|
745
|
+
#if defined(__s390x__)
|
746
|
+
#define V8_TARGET_ARCH_S390X 1
|
747
|
+
#endif
|
748
|
+
#elif defined(__riscv) || defined(__riscv__)
|
749
|
+
#if __riscv_xlen == 64
|
750
|
+
#define V8_TARGET_ARCH_RISCV64 1
|
751
|
+
#elif __riscv_xlen == 32
|
752
|
+
#define V8_TARGET_ARCH_RISCV32 1
|
753
|
+
#endif
|
754
|
+
#else
|
755
|
+
#error Target architecture was not detected as supported by v8
|
756
|
+
#endif
|
588
757
|
#endif
|
589
758
|
|
590
|
-
|
591
|
-
#
|
759
|
+
// Determine architecture pointer size.
|
760
|
+
#if V8_TARGET_ARCH_IA32
|
761
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
762
|
+
#elif V8_TARGET_ARCH_X64
|
763
|
+
#if !V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_64_BIT
|
764
|
+
#if defined(__x86_64__) && __SIZEOF_POINTER__ == 4 // Check for x32.
|
765
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
766
|
+
#else
|
767
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
768
|
+
#endif
|
769
|
+
#endif
|
770
|
+
#elif V8_TARGET_ARCH_ARM
|
771
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
772
|
+
#elif V8_TARGET_ARCH_ARM64
|
773
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
774
|
+
#elif V8_TARGET_ARCH_MIPS
|
775
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
776
|
+
#elif V8_TARGET_ARCH_MIPS64
|
777
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
778
|
+
#elif V8_TARGET_ARCH_LOONG64
|
779
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
780
|
+
#elif V8_TARGET_ARCH_PPC
|
781
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
782
|
+
#elif V8_TARGET_ARCH_PPC64
|
783
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
784
|
+
#elif V8_TARGET_ARCH_S390
|
785
|
+
#if V8_TARGET_ARCH_S390X
|
786
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
787
|
+
#else
|
788
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
789
|
+
#endif
|
790
|
+
#elif V8_TARGET_ARCH_RISCV64
|
791
|
+
#define V8_TARGET_ARCH_64_BIT 1
|
792
|
+
#elif V8_TARGET_ARCH_RISCV32
|
793
|
+
#define V8_TARGET_ARCH_32_BIT 1
|
794
|
+
#else
|
795
|
+
#error Unknown target architecture pointer size
|
592
796
|
#endif
|
593
797
|
|
594
|
-
//
|
595
|
-
|
596
|
-
|
597
|
-
#
|
598
|
-
#
|
798
|
+
// Check for supported combinations of host and target architectures.
|
799
|
+
#if V8_TARGET_ARCH_IA32 && !V8_HOST_ARCH_IA32
|
800
|
+
#error Target architecture ia32 is only supported on ia32 host
|
801
|
+
#endif
|
802
|
+
#if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_64_BIT && \
|
803
|
+
!((V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64) && V8_HOST_ARCH_64_BIT))
|
804
|
+
#error Target architecture x64 is only supported on x64 and arm64 host
|
805
|
+
#endif
|
806
|
+
#if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_32_BIT && \
|
807
|
+
!(V8_HOST_ARCH_X64 && V8_HOST_ARCH_32_BIT))
|
808
|
+
#error Target architecture x32 is only supported on x64 host with x32 support
|
809
|
+
#endif
|
810
|
+
#if (V8_TARGET_ARCH_ARM && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_ARM))
|
811
|
+
#error Target architecture arm is only supported on arm and ia32 host
|
812
|
+
#endif
|
813
|
+
#if (V8_TARGET_ARCH_ARM64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64))
|
814
|
+
#error Target architecture arm64 is only supported on arm64 and x64 host
|
815
|
+
#endif
|
816
|
+
#if (V8_TARGET_ARCH_MIPS64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_MIPS64))
|
817
|
+
#error Target architecture mips64 is only supported on mips64 and x64 host
|
818
|
+
#endif
|
819
|
+
#if (V8_TARGET_ARCH_RISCV64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_RISCV64))
|
820
|
+
#error Target architecture riscv64 is only supported on riscv64 and x64 host
|
821
|
+
#endif
|
822
|
+
#if (V8_TARGET_ARCH_RISCV32 && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_RISCV32))
|
823
|
+
#error Target architecture riscv32 is only supported on riscv32 and ia32 host
|
824
|
+
#endif
|
825
|
+
#if (V8_TARGET_ARCH_LOONG64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_LOONG64))
|
826
|
+
#error Target architecture loong64 is only supported on loong64 and x64 host
|
599
827
|
#endif
|
600
828
|
|
601
|
-
//
|
829
|
+
// Determine architecture endianness.
|
830
|
+
#if V8_TARGET_ARCH_IA32
|
831
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
832
|
+
#elif V8_TARGET_ARCH_X64
|
833
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
834
|
+
#elif V8_TARGET_ARCH_ARM
|
835
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
836
|
+
#elif V8_TARGET_ARCH_ARM64
|
837
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
838
|
+
#elif V8_TARGET_ARCH_LOONG64
|
839
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
840
|
+
#elif V8_TARGET_ARCH_MIPS64
|
841
|
+
#if defined(__MIPSEB__) || defined(V8_TARGET_ARCH_MIPS64_BE)
|
842
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
843
|
+
#else
|
844
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
845
|
+
#endif
|
846
|
+
#elif defined(__BIG_ENDIAN__) // FOR PPCGR on AIX
|
847
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
848
|
+
#elif V8_TARGET_ARCH_PPC_LE
|
849
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
850
|
+
#elif V8_TARGET_ARCH_PPC_BE
|
851
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
852
|
+
#elif V8_TARGET_ARCH_S390
|
853
|
+
#if V8_TARGET_ARCH_S390_LE_SIM
|
854
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
855
|
+
#else
|
856
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
857
|
+
#endif
|
858
|
+
#elif V8_TARGET_ARCH_RISCV32 || V8_TARGET_ARCH_RISCV64
|
859
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
860
|
+
#elif defined(__BYTE_ORDER__)
|
861
|
+
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
862
|
+
#define V8_TARGET_BIG_ENDIAN 1
|
863
|
+
#else
|
864
|
+
#define V8_TARGET_LITTLE_ENDIAN 1
|
865
|
+
#endif
|
866
|
+
#else
|
867
|
+
#error Unknown target architecture endianness
|
868
|
+
#endif
|
602
869
|
|
603
870
|
#undef V8_HAS_CPP_ATTRIBUTE
|
604
871
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libv8-node
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 19.9.0.0
|
5
5
|
platform: arm64-darwin
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -61,16 +61,20 @@ files:
|
|
61
61
|
- vendor/v8/include/cppgc/explicit-management.h
|
62
62
|
- vendor/v8/include/cppgc/garbage-collected.h
|
63
63
|
- vendor/v8/include/cppgc/heap-consistency.h
|
64
|
+
- vendor/v8/include/cppgc/heap-handle.h
|
64
65
|
- vendor/v8/include/cppgc/heap-state.h
|
65
66
|
- vendor/v8/include/cppgc/heap-statistics.h
|
66
67
|
- vendor/v8/include/cppgc/heap.h
|
67
68
|
- vendor/v8/include/cppgc/internal/api-constants.h
|
68
69
|
- vendor/v8/include/cppgc/internal/atomic-entry-flag.h
|
70
|
+
- vendor/v8/include/cppgc/internal/base-page-handle.h
|
69
71
|
- vendor/v8/include/cppgc/internal/caged-heap-local-data.h
|
72
|
+
- vendor/v8/include/cppgc/internal/caged-heap.h
|
70
73
|
- vendor/v8/include/cppgc/internal/compiler-specific.h
|
71
74
|
- vendor/v8/include/cppgc/internal/finalizer-trait.h
|
72
75
|
- vendor/v8/include/cppgc/internal/gc-info.h
|
73
76
|
- vendor/v8/include/cppgc/internal/logging.h
|
77
|
+
- vendor/v8/include/cppgc/internal/member-storage.h
|
74
78
|
- vendor/v8/include/cppgc/internal/name-trait.h
|
75
79
|
- vendor/v8/include/cppgc/internal/persistent-node.h
|
76
80
|
- vendor/v8/include/cppgc/internal/pointer-policies.h
|
@@ -173,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
177
|
- !ruby/object:Gem::Version
|
174
178
|
version: '0'
|
175
179
|
requirements: []
|
176
|
-
rubygems_version: 3.
|
180
|
+
rubygems_version: 3.3.20
|
177
181
|
signing_key:
|
178
182
|
specification_version: 4
|
179
183
|
summary: Node.JS's V8 JavaScript engine
|