libv8-node 19.9.0.0-aarch64-linux → 20.2.0.0-aarch64-linux
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/aarch64-linux/libv8/obj/libv8_monolith.a +0 -0
- data/vendor/v8/include/cppgc/cross-thread-persistent.h +4 -2
- data/vendor/v8/include/cppgc/heap-consistency.h +2 -2
- data/vendor/v8/include/cppgc/heap-handle.h +5 -0
- data/vendor/v8/include/cppgc/internal/api-constants.h +4 -1
- data/vendor/v8/include/cppgc/internal/gc-info.h +35 -33
- data/vendor/v8/include/cppgc/internal/member-storage.h +19 -7
- data/vendor/v8/include/cppgc/internal/pointer-policies.h +38 -2
- data/vendor/v8/include/cppgc/internal/write-barrier.h +15 -5
- data/vendor/v8/include/cppgc/macros.h +10 -1
- data/vendor/v8/include/cppgc/member.h +167 -129
- data/vendor/v8/include/cppgc/persistent.h +22 -15
- data/vendor/v8/include/cppgc/platform.h +6 -4
- data/vendor/v8/include/cppgc/type-traits.h +4 -3
- data/vendor/v8/include/cppgc/visitor.h +16 -1
- data/vendor/v8/include/libplatform/v8-tracing.h +2 -2
- data/vendor/v8/include/v8-array-buffer.h +59 -0
- data/vendor/v8/include/v8-callbacks.h +14 -1
- data/vendor/v8/include/v8-context.h +50 -3
- data/vendor/v8/include/v8-cppgc.h +10 -0
- data/vendor/v8/include/v8-data.h +1 -1
- data/vendor/v8/include/v8-embedder-heap.h +0 -169
- data/vendor/v8/include/v8-fast-api-calls.h +7 -3
- data/vendor/v8/include/v8-function-callback.h +69 -42
- data/vendor/v8/include/v8-function.h +1 -0
- data/vendor/v8/include/v8-inspector.h +20 -5
- data/vendor/v8/include/v8-internal.h +242 -150
- data/vendor/v8/include/v8-isolate.h +30 -40
- data/vendor/v8/include/v8-local-handle.h +81 -48
- data/vendor/v8/include/v8-metrics.h +28 -2
- data/vendor/v8/include/v8-microtask-queue.h +5 -0
- data/vendor/v8/include/v8-object.h +21 -3
- data/vendor/v8/include/v8-persistent-handle.h +25 -16
- data/vendor/v8/include/v8-platform.h +79 -10
- data/vendor/v8/include/v8-primitive.h +19 -12
- data/vendor/v8/include/v8-profiler.h +49 -31
- data/vendor/v8/include/v8-script.h +29 -1
- data/vendor/v8/include/v8-snapshot.h +4 -8
- data/vendor/v8/include/v8-template.h +3 -1
- data/vendor/v8/include/v8-traced-handle.h +22 -28
- data/vendor/v8/include/v8-util.h +9 -3
- data/vendor/v8/include/v8-value.h +31 -4
- data/vendor/v8/include/v8-version.h +4 -4
- data/vendor/v8/include/v8-wasm.h +2 -1
- data/vendor/v8/include/v8config.h +73 -2
- metadata +1 -1
@@ -244,6 +244,11 @@ class V8_EXPORT Value : public Data {
|
|
244
244
|
*/
|
245
245
|
bool IsWeakSet() const;
|
246
246
|
|
247
|
+
/**
|
248
|
+
* Returns true if this value is a WeakRef.
|
249
|
+
*/
|
250
|
+
bool IsWeakRef() const;
|
251
|
+
|
247
252
|
/**
|
248
253
|
* Returns true if this value is an ArrayBuffer.
|
249
254
|
*/
|
@@ -339,6 +344,11 @@ class V8_EXPORT Value : public Data {
|
|
339
344
|
*/
|
340
345
|
bool IsWasmModuleObject() const;
|
341
346
|
|
347
|
+
/**
|
348
|
+
* Returns true if this value is the WasmNull object.
|
349
|
+
*/
|
350
|
+
bool IsWasmNull() const;
|
351
|
+
|
342
352
|
/**
|
343
353
|
* Returns true if the value is a Module Namespace Object.
|
344
354
|
*/
|
@@ -464,10 +474,14 @@ bool Value::IsUndefined() const {
|
|
464
474
|
bool Value::QuickIsUndefined() const {
|
465
475
|
using A = internal::Address;
|
466
476
|
using I = internal::Internals;
|
467
|
-
A obj =
|
477
|
+
A obj = internal::ValueHelper::ValueAsAddress(this);
|
478
|
+
#if V8_STATIC_ROOTS_BOOL
|
479
|
+
return I::is_identical(obj, I::StaticReadOnlyRoot::kUndefinedValue);
|
480
|
+
#else
|
468
481
|
if (!I::HasHeapObjectTag(obj)) return false;
|
469
482
|
if (I::GetInstanceType(obj) != I::kOddballType) return false;
|
470
483
|
return (I::GetOddballKind(obj) == I::kUndefinedOddballKind);
|
484
|
+
#endif // V8_STATIC_ROOTS_BOOL
|
471
485
|
}
|
472
486
|
|
473
487
|
bool Value::IsNull() const {
|
@@ -481,10 +495,14 @@ bool Value::IsNull() const {
|
|
481
495
|
bool Value::QuickIsNull() const {
|
482
496
|
using A = internal::Address;
|
483
497
|
using I = internal::Internals;
|
484
|
-
A obj =
|
498
|
+
A obj = internal::ValueHelper::ValueAsAddress(this);
|
499
|
+
#if V8_STATIC_ROOTS_BOOL
|
500
|
+
return I::is_identical(obj, I::StaticReadOnlyRoot::kNullValue);
|
501
|
+
#else
|
485
502
|
if (!I::HasHeapObjectTag(obj)) return false;
|
486
503
|
if (I::GetInstanceType(obj) != I::kOddballType) return false;
|
487
504
|
return (I::GetOddballKind(obj) == I::kNullOddballKind);
|
505
|
+
#endif // V8_STATIC_ROOTS_BOOL
|
488
506
|
}
|
489
507
|
|
490
508
|
bool Value::IsNullOrUndefined() const {
|
@@ -496,13 +514,17 @@ bool Value::IsNullOrUndefined() const {
|
|
496
514
|
}
|
497
515
|
|
498
516
|
bool Value::QuickIsNullOrUndefined() const {
|
517
|
+
#if V8_STATIC_ROOTS_BOOL
|
518
|
+
return QuickIsNull() || QuickIsUndefined();
|
519
|
+
#else
|
499
520
|
using A = internal::Address;
|
500
521
|
using I = internal::Internals;
|
501
|
-
A obj =
|
522
|
+
A obj = internal::ValueHelper::ValueAsAddress(this);
|
502
523
|
if (!I::HasHeapObjectTag(obj)) return false;
|
503
524
|
if (I::GetInstanceType(obj) != I::kOddballType) return false;
|
504
525
|
int kind = I::GetOddballKind(obj);
|
505
526
|
return kind == I::kNullOddballKind || kind == I::kUndefinedOddballKind;
|
527
|
+
#endif // V8_STATIC_ROOTS_BOOL
|
506
528
|
}
|
507
529
|
|
508
530
|
bool Value::IsString() const {
|
@@ -516,9 +538,14 @@ bool Value::IsString() const {
|
|
516
538
|
bool Value::QuickIsString() const {
|
517
539
|
using A = internal::Address;
|
518
540
|
using I = internal::Internals;
|
519
|
-
A obj =
|
541
|
+
A obj = internal::ValueHelper::ValueAsAddress(this);
|
520
542
|
if (!I::HasHeapObjectTag(obj)) return false;
|
543
|
+
#if V8_STATIC_ROOTS_BOOL && !V8_MAP_PACKING
|
544
|
+
return I::CheckInstanceMapRange(obj, I::StaticReadOnlyRoot::kFirstStringMap,
|
545
|
+
I::StaticReadOnlyRoot::kLastStringMap);
|
546
|
+
#else
|
521
547
|
return (I::GetInstanceType(obj) < I::kFirstNonstringType);
|
548
|
+
#endif // V8_STATIC_ROOTS_BOOL
|
522
549
|
}
|
523
550
|
|
524
551
|
} // namespace v8
|
@@ -8,10 +8,10 @@
|
|
8
8
|
// These macros define the version number for the current version.
|
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
|
-
#define V8_MAJOR_VERSION
|
12
|
-
#define V8_MINOR_VERSION
|
13
|
-
#define V8_BUILD_NUMBER
|
14
|
-
#define V8_PATCH_LEVEL
|
11
|
+
#define V8_MAJOR_VERSION 11
|
12
|
+
#define V8_MINOR_VERSION 3
|
13
|
+
#define V8_BUILD_NUMBER 244
|
14
|
+
#define V8_PATCH_LEVEL 8
|
15
15
|
|
16
16
|
// Use 1 for candidates and 0 otherwise.
|
17
17
|
// (Boolean macro values are not supported by all preprocessors.)
|
data/vendor/v8/include/v8-wasm.h
CHANGED
@@ -144,7 +144,7 @@ class V8_EXPORT WasmStreaming final {
|
|
144
144
|
/**
|
145
145
|
* {Finish} should be called after all received bytes where passed to
|
146
146
|
* {OnBytesReceived} to tell V8 that there will be no more bytes. {Finish}
|
147
|
-
*
|
147
|
+
* must not be called after {Abort} has been called already.
|
148
148
|
* If {can_use_compiled_module} is true and {SetCompiledModuleBytes} was
|
149
149
|
* previously called, the compiled module bytes can be used.
|
150
150
|
* If {can_use_compiled_module} is false, the compiled module bytes previously
|
@@ -156,6 +156,7 @@ class V8_EXPORT WasmStreaming final {
|
|
156
156
|
* Abort streaming compilation. If {exception} has a value, then the promise
|
157
157
|
* associated with streaming compilation is rejected with that value. If
|
158
158
|
* {exception} does not have value, the promise does not get rejected.
|
159
|
+
* {Abort} must not be called repeatedly, or after {Finish}.
|
159
160
|
*/
|
160
161
|
void Abort(MaybeLocal<Value> exception);
|
161
162
|
|
@@ -173,6 +173,7 @@ path. Add it with -I<path> to the command line
|
|
173
173
|
// V8_TARGET_OS_LINUX
|
174
174
|
// V8_TARGET_OS_MACOS
|
175
175
|
// V8_TARGET_OS_WIN
|
176
|
+
// V8_TARGET_OS_CHROMEOS
|
176
177
|
//
|
177
178
|
// If not set explicitly, these fall back to corresponding V8_OS_ values.
|
178
179
|
|
@@ -184,7 +185,8 @@ path. Add it with -I<path> to the command line
|
|
184
185
|
&& !defined(V8_TARGET_OS_IOS) \
|
185
186
|
&& !defined(V8_TARGET_OS_LINUX) \
|
186
187
|
&& !defined(V8_TARGET_OS_MACOS) \
|
187
|
-
&& !defined(V8_TARGET_OS_WIN)
|
188
|
+
&& !defined(V8_TARGET_OS_WIN) \
|
189
|
+
&& !defined(V8_TARGET_OS_CHROMEOS)
|
188
190
|
# error No known target OS defined.
|
189
191
|
# endif
|
190
192
|
|
@@ -195,7 +197,8 @@ path. Add it with -I<path> to the command line
|
|
195
197
|
|| defined(V8_TARGET_OS_IOS) \
|
196
198
|
|| defined(V8_TARGET_OS_LINUX) \
|
197
199
|
|| defined(V8_TARGET_OS_MACOS) \
|
198
|
-
|| defined(V8_TARGET_OS_WIN)
|
200
|
+
|| defined(V8_TARGET_OS_WIN) \
|
201
|
+
|| defined(V8_TARGET_OS_CHROMEOS)
|
199
202
|
# error A target OS is defined but V8_HAVE_TARGET_OS is unset.
|
200
203
|
# endif
|
201
204
|
|
@@ -288,6 +291,9 @@ path. Add it with -I<path> to the command line
|
|
288
291
|
//
|
289
292
|
// V8_HAS_ATTRIBUTE_ALWAYS_INLINE - __attribute__((always_inline))
|
290
293
|
// supported
|
294
|
+
// V8_HAS_ATTRIBUTE_CONSTINIT - __attribute__((require_constant_
|
295
|
+
// initialization))
|
296
|
+
// supported
|
291
297
|
// V8_HAS_ATTRIBUTE_NONNULL - __attribute__((nonnull)) supported
|
292
298
|
// V8_HAS_ATTRIBUTE_NOINLINE - __attribute__((noinline)) supported
|
293
299
|
// V8_HAS_ATTRIBUTE_UNUSED - __attribute__((unused)) supported
|
@@ -305,6 +311,9 @@ path. Add it with -I<path> to the command line
|
|
305
311
|
// V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported
|
306
312
|
// V8_HAS_BUILTIN_FRAME_ADDRESS - __builtin_frame_address() supported
|
307
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
|
+
// V8_HAS_BUILTIN_MUL_OVERFLOW - __builtin_mul_overflow() supported
|
308
317
|
// V8_HAS_BUILTIN_SADD_OVERFLOW - __builtin_sadd_overflow() supported
|
309
318
|
// V8_HAS_BUILTIN_SSUB_OVERFLOW - __builtin_ssub_overflow() supported
|
310
319
|
// V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
|
@@ -334,9 +343,27 @@ path. Add it with -I<path> to the command line
|
|
334
343
|
#endif
|
335
344
|
|
336
345
|
# define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
|
346
|
+
# define V8_HAS_ATTRIBUTE_CONSTINIT \
|
347
|
+
(__has_attribute(require_constant_initialization))
|
348
|
+
# define V8_HAS_ATTRIBUTE_CONST (__has_attribute(const))
|
337
349
|
# define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
|
338
350
|
# define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
|
339
351
|
# define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
|
352
|
+
// Support for the "preserve_most" attribute is limited:
|
353
|
+
// - 32-bit platforms do not implement it,
|
354
|
+
// - component builds fail because _dl_runtime_resolve clobbers registers,
|
355
|
+
// - we see crashes on arm64 on Windows (https://crbug.com/1409934), which can
|
356
|
+
// hopefully be fixed in the future.
|
357
|
+
// Additionally, the initial implementation in clang <= 16 overwrote the return
|
358
|
+
// register(s) in the epilogue of a preserve_most function, so we only use
|
359
|
+
// preserve_most in clang >= 17 (see https://reviews.llvm.org/D143425).
|
360
|
+
#if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \
|
361
|
+
|| ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \
|
362
|
+
&& !defined(_WIN32))) /* not on windows */ \
|
363
|
+
&& !defined(COMPONENT_BUILD) /* no component build */\
|
364
|
+
&& __clang_major__ >= 17 /* clang >= 17 */
|
365
|
+
# define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most))
|
366
|
+
#endif
|
340
367
|
# define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))
|
341
368
|
# define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
|
342
369
|
(__has_attribute(warn_unused_result))
|
@@ -355,6 +382,9 @@ path. Add it with -I<path> to the command line
|
|
355
382
|
# define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
|
356
383
|
# define V8_HAS_BUILTIN_FRAME_ADDRESS (__has_builtin(__builtin_frame_address))
|
357
384
|
# define V8_HAS_BUILTIN_POPCOUNT (__has_builtin(__builtin_popcount))
|
385
|
+
# define V8_HAS_BUILTIN_ADD_OVERFLOW (__has_builtin(__builtin_add_overflow))
|
386
|
+
# define V8_HAS_BUILTIN_SUB_OVERFLOW (__has_builtin(__builtin_sub_overflow))
|
387
|
+
# define V8_HAS_BUILTIN_MUL_OVERFLOW (__has_builtin(__builtin_mul_overflow))
|
358
388
|
# define V8_HAS_BUILTIN_SADD_OVERFLOW (__has_builtin(__builtin_sadd_overflow))
|
359
389
|
# define V8_HAS_BUILTIN_SSUB_OVERFLOW (__has_builtin(__builtin_ssub_overflow))
|
360
390
|
# define V8_HAS_BUILTIN_UADD_OVERFLOW (__has_builtin(__builtin_uadd_overflow))
|
@@ -450,6 +480,26 @@ path. Add it with -I<path> to the command line
|
|
450
480
|
#endif
|
451
481
|
|
452
482
|
|
483
|
+
// A macro to mark functions whose values don't change (e.g. across calls)
|
484
|
+
// and thereby compiler is free to hoist and fold multiple calls together.
|
485
|
+
// Use like:
|
486
|
+
// V8_CONST int foo() { ... }
|
487
|
+
#if V8_HAS_ATTRIBUTE_CONST
|
488
|
+
# define V8_CONST __attribute__((const))
|
489
|
+
#else
|
490
|
+
# define V8_CONST
|
491
|
+
#endif
|
492
|
+
|
493
|
+
// A macro to mark a declaration as requiring constant initialization.
|
494
|
+
// Use like:
|
495
|
+
// int* foo V8_CONSTINIT;
|
496
|
+
#if V8_HAS_ATTRIBUTE_CONSTINIT
|
497
|
+
# define V8_CONSTINIT __attribute__((require_constant_initialization))
|
498
|
+
#else
|
499
|
+
# define V8_CONSTINIT
|
500
|
+
#endif
|
501
|
+
|
502
|
+
|
453
503
|
// A macro to mark specific arguments as non-null.
|
454
504
|
// Use like:
|
455
505
|
// int add(int* x, int y, int* z) V8_NONNULL(1, 3) { return *x + y + *z; }
|
@@ -472,6 +522,21 @@ path. Add it with -I<path> to the command line
|
|
472
522
|
#endif
|
473
523
|
|
474
524
|
|
525
|
+
// A macro used to change the calling conventions to preserve all registers (no
|
526
|
+
// caller-saved registers). Use this for cold functions called from hot
|
527
|
+
// functions.
|
528
|
+
// Note: The attribute is considered experimental, so apply with care. Also,
|
529
|
+
// "preserve_most" is currently not handling the return value correctly, so only
|
530
|
+
// use it for functions returning void (see https://reviews.llvm.org/D141020).
|
531
|
+
// Use like:
|
532
|
+
// V8_NOINLINE V8_PRESERVE_MOST void UnlikelyMethod();
|
533
|
+
#if V8_HAS_ATTRIBUTE_PRESERVE_MOST
|
534
|
+
# define V8_PRESERVE_MOST __attribute__((preserve_most))
|
535
|
+
#else
|
536
|
+
# define V8_PRESERVE_MOST /* NOT SUPPORTED */
|
537
|
+
#endif
|
538
|
+
|
539
|
+
|
475
540
|
// A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
|
476
541
|
#if defined(V8_DEPRECATION_WARNINGS)
|
477
542
|
# define V8_DEPRECATED(message) [[deprecated(message)]]
|
@@ -869,4 +934,10 @@ V8 shared library set USING_V8_SHARED.
|
|
869
934
|
|
870
935
|
#undef V8_HAS_CPP_ATTRIBUTE
|
871
936
|
|
937
|
+
#if !defined(V8_STATIC_ROOTS)
|
938
|
+
#define V8_STATIC_ROOTS_BOOL false
|
939
|
+
#else
|
940
|
+
#define V8_STATIC_ROOTS_BOOL true
|
941
|
+
#endif
|
942
|
+
|
872
943
|
#endif // V8CONFIG_H_
|