libv8-node 23.6.1.0-x86_64-linux → 24.1.0.0-x86_64-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/include/cppgc/allocation.h +1 -2
- data/vendor/v8/include/cppgc/default-platform.h +3 -2
- data/vendor/v8/include/cppgc/heap-consistency.h +1 -1
- data/vendor/v8/include/cppgc/internal/api-constants.h +0 -17
- data/vendor/v8/include/cppgc/internal/base-page-handle.h +2 -4
- data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +0 -4
- data/vendor/v8/include/cppgc/internal/caged-heap.h +0 -4
- data/vendor/v8/include/cppgc/internal/conditional-stack-allocated.h +41 -0
- data/vendor/v8/include/cppgc/internal/logging.h +3 -3
- data/vendor/v8/include/cppgc/internal/member-storage.h +63 -20
- data/vendor/v8/include/cppgc/internal/persistent-node.h +8 -3
- data/vendor/v8/include/cppgc/internal/pointer-policies.h +48 -11
- data/vendor/v8/include/cppgc/macros.h +21 -0
- data/vendor/v8/include/cppgc/member.h +70 -36
- data/vendor/v8/include/cppgc/name-provider.h +3 -0
- data/vendor/v8/include/cppgc/platform.h +11 -0
- data/vendor/v8/include/cppgc/type-traits.h +1 -0
- data/vendor/v8/include/cppgc/visitor.h +25 -1
- data/vendor/v8/include/libplatform/libplatform-export.h +2 -2
- data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
- data/vendor/v8/include/v8-array-buffer.h +111 -34
- data/vendor/v8/include/v8-callbacks.h +84 -26
- data/vendor/v8/include/v8-context.h +7 -6
- data/vendor/v8/include/v8-cppgc.h +2 -1
- data/vendor/v8/include/v8-data.h +5 -0
- data/vendor/v8/include/v8-debug.h +11 -0
- data/vendor/v8/include/v8-embedder-heap.h +1 -32
- data/vendor/v8/include/v8-exception.h +2 -0
- data/vendor/v8/include/v8-external-memory-accounter.h +60 -0
- data/vendor/v8/include/v8-fast-api-calls.h +17 -175
- data/vendor/v8/include/v8-function-callback.h +4 -33
- data/vendor/v8/include/v8-function.h +7 -0
- data/vendor/v8/include/v8-handle-base.h +18 -0
- data/vendor/v8/include/v8-initialization.h +9 -1
- data/vendor/v8/include/v8-inspector.h +8 -4
- data/vendor/v8/include/v8-internal.h +477 -399
- data/vendor/v8/include/v8-isolate.h +218 -151
- data/vendor/v8/include/v8-local-handle.h +56 -28
- data/vendor/v8/include/v8-maybe.h +2 -1
- data/vendor/v8/include/v8-memory-span.h +149 -24
- data/vendor/v8/include/v8-message.h +9 -1
- data/vendor/v8/include/v8-metrics.h +10 -0
- data/vendor/v8/include/v8-object.h +7 -2
- data/vendor/v8/include/v8-persistent-handle.h +17 -17
- data/vendor/v8/include/v8-platform.h +48 -13
- data/vendor/v8/include/v8-primitive.h +131 -6
- data/vendor/v8/include/v8-profiler.h +13 -1
- data/vendor/v8/include/v8-proxy.h +0 -1
- data/vendor/v8/include/v8-regexp.h +0 -1
- data/vendor/v8/include/v8-sandbox.h +3 -3
- data/vendor/v8/include/v8-script.h +21 -3
- data/vendor/v8/include/v8-source-location.h +6 -1
- data/vendor/v8/include/v8-template.h +8 -2
- data/vendor/v8/include/v8-trace-categories.h +23 -0
- data/vendor/v8/include/v8-traced-handle.h +16 -17
- data/vendor/v8/include/v8-typed-array.h +6 -10
- data/vendor/v8/include/v8-unwinder-state.h +2 -3
- data/vendor/v8/include/v8-value-serializer-version.h +3 -3
- data/vendor/v8/include/v8-value.h +18 -0
- data/vendor/v8/include/v8-version.h +4 -4
- data/vendor/v8/include/v8-wasm.h +24 -0
- data/vendor/v8/include/v8-weak-callback-info.h +20 -12
- data/vendor/v8/include/v8.h +3 -3
- data/vendor/v8/include/v8config.h +34 -40
- data/vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a +0 -0
- metadata +5 -3
- data/vendor/v8/include/cppgc/ephemeron-pair.h +0 -30
@@ -2,6 +2,9 @@
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
+
#ifndef INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
|
6
|
+
#define INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
|
7
|
+
|
5
8
|
/**
|
6
9
|
* Compile-time constants.
|
7
10
|
*
|
@@ -10,9 +13,6 @@
|
|
10
13
|
* to V8.
|
11
14
|
*/
|
12
15
|
|
13
|
-
#ifndef INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
|
14
|
-
#define INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
|
15
|
-
|
16
16
|
#include <stdint.h>
|
17
17
|
|
18
18
|
namespace v8 {
|
@@ -346,6 +346,11 @@ class V8_EXPORT Value : public Data {
|
|
346
346
|
*/
|
347
347
|
bool IsWasmMemoryObject() const;
|
348
348
|
|
349
|
+
/**
|
350
|
+
* Returns true if this value is a WasmMemoryMapDescriptor.
|
351
|
+
*/
|
352
|
+
bool IsWasmMemoryMapDescriptor() const;
|
353
|
+
|
349
354
|
/**
|
350
355
|
* Returns true if this value is a WasmModuleObject.
|
351
356
|
*/
|
@@ -361,6 +366,11 @@ class V8_EXPORT Value : public Data {
|
|
361
366
|
*/
|
362
367
|
bool IsModuleNamespaceObject() const;
|
363
368
|
|
369
|
+
/**
|
370
|
+
* Returns true if the value is a primitive.
|
371
|
+
*/
|
372
|
+
bool IsPrimitive() const;
|
373
|
+
|
364
374
|
/**
|
365
375
|
* Perform `ToPrimitive(value)` as specified in:
|
366
376
|
* https://tc39.es/ecma262/#sec-toprimitive.
|
@@ -462,6 +472,14 @@ class V8_EXPORT Value : public Data {
|
|
462
472
|
|
463
473
|
Maybe<bool> InstanceOf(Local<Context> context, Local<Object> object);
|
464
474
|
|
475
|
+
/**
|
476
|
+
* Get the hash of this value. The hash is not guaranteed to be
|
477
|
+
* unique. For |Object| and |Name| instances the result is equal to
|
478
|
+
* |GetIdentityHash|. Hashes are not guaranteed to be stable across
|
479
|
+
* different isolates or processes.
|
480
|
+
*/
|
481
|
+
uint32_t GetHash();
|
482
|
+
|
465
483
|
private:
|
466
484
|
V8_INLINE bool QuickIsUndefined() const;
|
467
485
|
V8_INLINE bool QuickIsNull() const;
|
@@ -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 13
|
12
|
+
#define V8_MINOR_VERSION 6
|
13
|
+
#define V8_BUILD_NUMBER 233
|
14
|
+
#define V8_PATCH_LEVEL 10
|
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
@@ -199,6 +199,30 @@ class V8_EXPORT WasmStreaming final {
|
|
199
199
|
std::unique_ptr<WasmStreamingImpl> impl_;
|
200
200
|
};
|
201
201
|
|
202
|
+
/**
|
203
|
+
* The V8 interface for a WebAssembly memory map descriptor. This is an
|
204
|
+
* experimental feature that may change and be removed without further
|
205
|
+
* communication.
|
206
|
+
*/
|
207
|
+
class V8_EXPORT WasmMemoryMapDescriptor : public Object {
|
208
|
+
public:
|
209
|
+
WasmMemoryMapDescriptor() = delete;
|
210
|
+
|
211
|
+
V8_INLINE static WasmMemoryMapDescriptor* Cast(Value* value) {
|
212
|
+
#ifdef V8_ENABLE_CHECKS
|
213
|
+
CheckCast(value);
|
214
|
+
#endif
|
215
|
+
return static_cast<WasmMemoryMapDescriptor*>(value);
|
216
|
+
}
|
217
|
+
|
218
|
+
using WasmFileDescriptor = int32_t;
|
219
|
+
|
220
|
+
static Local<WasmMemoryMapDescriptor> New(Isolate* isolate,
|
221
|
+
WasmFileDescriptor fd);
|
222
|
+
|
223
|
+
private:
|
224
|
+
static void CheckCast(Value* object);
|
225
|
+
};
|
202
226
|
} // namespace v8
|
203
227
|
|
204
228
|
#endif // INCLUDE_V8_WASM_H_
|
@@ -5,6 +5,9 @@
|
|
5
5
|
#ifndef INCLUDE_V8_WEAK_CALLBACK_INFO_H_
|
6
6
|
#define INCLUDE_V8_WEAK_CALLBACK_INFO_H_
|
7
7
|
|
8
|
+
#include <cstring>
|
9
|
+
|
10
|
+
#include "cppgc/internal/conditional-stack-allocated.h" // NOLINT(build/include_directory)
|
8
11
|
#include "v8config.h" // NOLINT(build/include_directory)
|
9
12
|
|
10
13
|
namespace v8 {
|
@@ -15,11 +18,12 @@ namespace api_internal {
|
|
15
18
|
V8_EXPORT void InternalFieldOutOfBounds(int index);
|
16
19
|
} // namespace api_internal
|
17
20
|
|
18
|
-
static
|
19
|
-
static
|
21
|
+
static constexpr int kInternalFieldsInWeakCallback = 2;
|
22
|
+
static constexpr int kEmbedderFieldsInWeakCallback = 2;
|
20
23
|
|
21
24
|
template <typename T>
|
22
|
-
class WeakCallbackInfo
|
25
|
+
class WeakCallbackInfo
|
26
|
+
: public cppgc::internal::ConditionalStackAllocatedBase<T> {
|
23
27
|
public:
|
24
28
|
using Callback = void (*)(const WeakCallbackInfo<T>& data);
|
25
29
|
|
@@ -27,21 +31,25 @@ class WeakCallbackInfo {
|
|
27
31
|
void* embedder_fields[kEmbedderFieldsInWeakCallback],
|
28
32
|
Callback* callback)
|
29
33
|
: isolate_(isolate), parameter_(parameter), callback_(callback) {
|
30
|
-
|
31
|
-
|
32
|
-
}
|
34
|
+
memcpy(embedder_fields_, embedder_fields,
|
35
|
+
sizeof(embedder_fields[0]) * kEmbedderFieldsInWeakCallback);
|
33
36
|
}
|
34
37
|
|
35
38
|
V8_INLINE Isolate* GetIsolate() const { return isolate_; }
|
36
39
|
V8_INLINE T* GetParameter() const { return parameter_; }
|
37
40
|
V8_INLINE void* GetInternalField(int index) const;
|
38
41
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
/**
|
43
|
+
* When a weak callback is first invoked the embedders _must_ Reset() the
|
44
|
+
* handle which triggered the callback. The handle itself is unusable for
|
45
|
+
* anything else. No other V8 API calls may be called in the first callback.
|
46
|
+
* Additional work requires scheduling a second invocation via
|
47
|
+
* `SetSecondPassCallback()` which will be called some time after all the
|
48
|
+
* initial callbacks are processed.
|
49
|
+
*
|
50
|
+
* The second pass callback is prohibited from executing JavaScript. Embedders
|
51
|
+
* should schedule another callback in case this is required.
|
52
|
+
*/
|
45
53
|
void SetSecondPassCallback(Callback callback) const { *callback_ = callback; }
|
46
54
|
|
47
55
|
private:
|
data/vendor/v8/include/v8.h
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
+
#ifndef INCLUDE_V8_H_
|
6
|
+
#define INCLUDE_V8_H_
|
7
|
+
|
5
8
|
/** \mainpage V8 API Reference Guide
|
6
9
|
*
|
7
10
|
* V8 is Google's open source JavaScript engine.
|
@@ -12,9 +15,6 @@
|
|
12
15
|
* For other documentation see https://v8.dev/.
|
13
16
|
*/
|
14
17
|
|
15
|
-
#ifndef INCLUDE_V8_H_
|
16
|
-
#define INCLUDE_V8_H_
|
17
|
-
|
18
18
|
#include <stddef.h>
|
19
19
|
#include <stdint.h>
|
20
20
|
|
@@ -371,6 +371,7 @@ path. Add it with -I<path> to the command line
|
|
371
371
|
# define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
|
372
372
|
# define V8_HAS_ATTRIBUTE_USED (__has_attribute(used))
|
373
373
|
# define V8_HAS_ATTRIBUTE_RETAIN (__has_attribute(retain))
|
374
|
+
# define V8_HAS_ATTRIBUTE_OPTNONE (__has_attribute(optnone))
|
374
375
|
// Support for the "preserve_most" attribute is limited:
|
375
376
|
// - 32-bit platforms do not implement it,
|
376
377
|
// - component builds fail because _dl_runtime_resolve clobbers registers,
|
@@ -499,6 +500,16 @@ path. Add it with -I<path> to the command line
|
|
499
500
|
# define V8_INLINE inline
|
500
501
|
#endif
|
501
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
|
+
|
502
513
|
#if V8_HAS_BUILTIN_ASSUME
|
503
514
|
#ifdef DEBUG
|
504
515
|
// In debug mode, check assumptions in addition to adding annotations.
|
@@ -681,7 +692,7 @@ path. Add it with -I<path> to the command line
|
|
681
692
|
// V8_NODISCARD Foo() { ... };
|
682
693
|
// [[nodiscard]] comes in C++17 but supported in clang with -std >= c++11.
|
683
694
|
#if V8_HAS_CPP_ATTRIBUTE_NODISCARD
|
684
|
-
#define V8_NODISCARD
|
695
|
+
#define V8_NODISCARD [[nodiscard]]
|
685
696
|
#else
|
686
697
|
#define V8_NODISCARD /* NOT SUPPORTED */
|
687
698
|
#endif
|
@@ -787,15 +798,11 @@ V8 shared library set USING_V8_SHARED.
|
|
787
798
|
#else // V8_OS_WIN
|
788
799
|
|
789
800
|
// Setup for Linux shared library export.
|
790
|
-
#if V8_HAS_ATTRIBUTE_VISIBILITY
|
791
|
-
#
|
792
|
-
# define V8_EXPORT __attribute__ ((visibility("default")))
|
793
|
-
# else
|
794
|
-
# define V8_EXPORT
|
795
|
-
# endif
|
801
|
+
#if V8_HAS_ATTRIBUTE_VISIBILITY && (defined(BUILDING_V8_SHARED) || USING_V8_SHARED)
|
802
|
+
# define V8_EXPORT __attribute__((visibility("default")))
|
796
803
|
#else
|
797
804
|
# define V8_EXPORT
|
798
|
-
#endif
|
805
|
+
# endif // V8_HAS_ATTRIBUTE_VISIBILITY && ...
|
799
806
|
|
800
807
|
#endif // V8_OS_WIN
|
801
808
|
|
@@ -833,16 +840,9 @@ V8 shared library set USING_V8_SHARED.
|
|
833
840
|
#elif defined(__PPC64__) || defined(_ARCH_PPC64)
|
834
841
|
#define V8_HOST_ARCH_PPC64 1
|
835
842
|
#define V8_HOST_ARCH_64_BIT 1
|
836
|
-
#elif defined(
|
837
|
-
#define
|
838
|
-
#define V8_HOST_ARCH_32_BIT 1
|
839
|
-
#elif defined(__s390__) || defined(__s390x__)
|
840
|
-
#define V8_HOST_ARCH_S390 1
|
841
|
-
#if defined(__s390x__)
|
843
|
+
#elif defined(__s390x__)
|
844
|
+
#define V8_HOST_ARCH_S390X 1
|
842
845
|
#define V8_HOST_ARCH_64_BIT 1
|
843
|
-
#else
|
844
|
-
#define V8_HOST_ARCH_32_BIT 1
|
845
|
-
#endif
|
846
846
|
#elif defined(__riscv) || defined(__riscv__)
|
847
847
|
#if __riscv_xlen == 64
|
848
848
|
#define V8_HOST_ARCH_RISCV64 1
|
@@ -862,10 +862,10 @@ V8 shared library set USING_V8_SHARED.
|
|
862
862
|
// The macros may be set externally. If not, detect in the same way as the host
|
863
863
|
// architecture, that is, target the native environment as presented by the
|
864
864
|
// compiler.
|
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 && !
|
868
|
-
!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 && \
|
869
869
|
!V8_TARGET_ARCH_RISCV32
|
870
870
|
#if defined(_M_X64) || defined(__x86_64__)
|
871
871
|
#define V8_TARGET_ARCH_X64 1
|
@@ -881,13 +881,8 @@ V8 shared library set USING_V8_SHARED.
|
|
881
881
|
#define V8_TARGET_ARCH_LOONG64 1
|
882
882
|
#elif defined(_ARCH_PPC64)
|
883
883
|
#define V8_TARGET_ARCH_PPC64 1
|
884
|
-
#elif defined(
|
885
|
-
#define V8_TARGET_ARCH_PPC 1
|
886
|
-
#elif defined(__s390__)
|
887
|
-
#define V8_TARGET_ARCH_S390 1
|
888
|
-
#if defined(__s390x__)
|
884
|
+
#elif defined(__s390x__)
|
889
885
|
#define V8_TARGET_ARCH_S390X 1
|
890
|
-
#endif
|
891
886
|
#elif defined(__riscv) || defined(__riscv__)
|
892
887
|
#if __riscv_xlen == 64
|
893
888
|
#define V8_TARGET_ARCH_RISCV64 1
|
@@ -920,16 +915,10 @@ V8 shared library set USING_V8_SHARED.
|
|
920
915
|
#define V8_TARGET_ARCH_64_BIT 1
|
921
916
|
#elif V8_TARGET_ARCH_LOONG64
|
922
917
|
#define V8_TARGET_ARCH_64_BIT 1
|
923
|
-
#elif V8_TARGET_ARCH_PPC
|
924
|
-
#define V8_TARGET_ARCH_32_BIT 1
|
925
918
|
#elif V8_TARGET_ARCH_PPC64
|
926
919
|
#define V8_TARGET_ARCH_64_BIT 1
|
927
|
-
#elif
|
928
|
-
#if V8_TARGET_ARCH_S390X
|
920
|
+
#elif V8_TARGET_ARCH_S390X
|
929
921
|
#define V8_TARGET_ARCH_64_BIT 1
|
930
|
-
#else
|
931
|
-
#define V8_TARGET_ARCH_32_BIT 1
|
932
|
-
#endif
|
933
922
|
#elif V8_TARGET_ARCH_RISCV64
|
934
923
|
#define V8_TARGET_ARCH_64_BIT 1
|
935
924
|
#elif V8_TARGET_ARCH_RISCV32
|
@@ -986,14 +975,14 @@ V8 shared library set USING_V8_SHARED.
|
|
986
975
|
#else
|
987
976
|
#define V8_TARGET_LITTLE_ENDIAN 1
|
988
977
|
#endif
|
989
|
-
#elif
|
978
|
+
#elif V8_TARGET_ARCH_PPC64
|
979
|
+
#if V8_OS_AIX
|
990
980
|
#define V8_TARGET_BIG_ENDIAN 1
|
991
|
-
#
|
981
|
+
#else
|
992
982
|
#define V8_TARGET_LITTLE_ENDIAN 1
|
993
|
-
#
|
994
|
-
#
|
995
|
-
#
|
996
|
-
#if V8_TARGET_ARCH_S390_LE_SIM
|
983
|
+
#endif
|
984
|
+
#elif V8_TARGET_ARCH_S390X
|
985
|
+
#if V8_TARGET_ARCH_S390X_LE_SIM
|
997
986
|
#define V8_TARGET_LITTLE_ENDIAN 1
|
998
987
|
#else
|
999
988
|
#define V8_TARGET_BIG_ENDIAN 1
|
@@ -1017,5 +1006,10 @@ V8 shared library set USING_V8_SHARED.
|
|
1017
1006
|
#else
|
1018
1007
|
#define V8_STATIC_ROOTS_BOOL true
|
1019
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
|
1020
1014
|
|
1021
1015
|
#endif // V8CONFIG_H_
|
Binary file
|
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: 24.1.0.0
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -56,7 +56,6 @@ files:
|
|
56
56
|
- vendor/v8/include/cppgc/cross-thread-persistent.h
|
57
57
|
- vendor/v8/include/cppgc/custom-space.h
|
58
58
|
- vendor/v8/include/cppgc/default-platform.h
|
59
|
-
- vendor/v8/include/cppgc/ephemeron-pair.h
|
60
59
|
- vendor/v8/include/cppgc/explicit-management.h
|
61
60
|
- vendor/v8/include/cppgc/garbage-collected.h
|
62
61
|
- vendor/v8/include/cppgc/heap-consistency.h
|
@@ -70,6 +69,7 @@ files:
|
|
70
69
|
- vendor/v8/include/cppgc/internal/caged-heap-local-data.h
|
71
70
|
- vendor/v8/include/cppgc/internal/caged-heap.h
|
72
71
|
- vendor/v8/include/cppgc/internal/compiler-specific.h
|
72
|
+
- vendor/v8/include/cppgc/internal/conditional-stack-allocated.h
|
73
73
|
- vendor/v8/include/cppgc/internal/finalizer-trait.h
|
74
74
|
- vendor/v8/include/cppgc/internal/gc-info.h
|
75
75
|
- vendor/v8/include/cppgc/internal/logging.h
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- vendor/v8/include/v8-embedder-state-scope.h
|
109
109
|
- vendor/v8/include/v8-exception.h
|
110
110
|
- vendor/v8/include/v8-extension.h
|
111
|
+
- vendor/v8/include/v8-external-memory-accounter.h
|
111
112
|
- vendor/v8/include/v8-external.h
|
112
113
|
- vendor/v8/include/v8-fast-api-calls.h
|
113
114
|
- vendor/v8/include/v8-forward.h
|
@@ -143,6 +144,7 @@ files:
|
|
143
144
|
- vendor/v8/include/v8-source-location.h
|
144
145
|
- vendor/v8/include/v8-statistics.h
|
145
146
|
- vendor/v8/include/v8-template.h
|
147
|
+
- vendor/v8/include/v8-trace-categories.h
|
146
148
|
- vendor/v8/include/v8-traced-handle.h
|
147
149
|
- vendor/v8/include/v8-typed-array.h
|
148
150
|
- vendor/v8/include/v8-unwinder-state.h
|
@@ -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_
|