ACIL FM
Dark
Refresh
Current DIR:
/opt/cpanel/ea-nodejs22/include/node/cppgc
/
opt
cpanel
ea-nodejs22
include
node
cppgc
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
internal
-
chmod
Open
Rename
Delete
allocation.h
11.61 MB
chmod
View
DL
Edit
Rename
Delete
common.h
643 B
chmod
View
DL
Edit
Rename
Delete
cross-thread-persistent.h
14.81 MB
chmod
View
DL
Edit
Rename
Delete
custom-space.h
2.4 MB
chmod
View
DL
Edit
Rename
Delete
default-platform.h
2.18 MB
chmod
View
DL
Edit
Rename
Delete
ephemeron-pair.h
804 B
chmod
View
DL
Edit
Rename
Delete
explicit-management.h
3.29 MB
chmod
View
DL
Edit
Rename
Delete
garbage-collected.h
3.11 MB
chmod
View
DL
Edit
Rename
Delete
heap-consistency.h
11.74 MB
chmod
View
DL
Edit
Rename
Delete
heap-handle.h
1.26 MB
chmod
View
DL
Edit
Rename
Delete
heap-state.h
2.57 MB
chmod
View
DL
Edit
Rename
Delete
heap-statistics.h
3.89 MB
chmod
View
DL
Edit
Rename
Delete
heap.h
5.7 MB
chmod
View
DL
Edit
Rename
Delete
liveness-broker.h
2.34 MB
chmod
View
DL
Edit
Rename
Delete
macros.h
1.31 MB
chmod
View
DL
Edit
Rename
Delete
member.h
23.55 MB
chmod
View
DL
Edit
Rename
Delete
name-provider.h
1.99 MB
chmod
View
DL
Edit
Rename
Delete
object-size-trait.h
1.6 MB
chmod
View
DL
Edit
Rename
Delete
persistent.h
13.61 MB
chmod
View
DL
Edit
Rename
Delete
platform.h
5.9 MB
chmod
View
DL
Edit
Rename
Delete
prefinalizer.h
2.88 MB
chmod
View
DL
Edit
Rename
Delete
process-heap-statistics.h
1009 B
chmod
View
DL
Edit
Rename
Delete
sentinel-pointer.h
1.18 MB
chmod
View
DL
Edit
Rename
Delete
source-location.h
414 B
chmod
View
DL
Edit
Rename
Delete
testing.h
2.96 MB
chmod
View
DL
Edit
Rename
Delete
trace-trait.h
3.4 MB
chmod
View
DL
Edit
Rename
Delete
type-traits.h
8.45 MB
chmod
View
DL
Edit
Rename
Delete
visitor.h
18.08 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /opt/cpanel/ea-nodejs22/include/node/cppgc/trace-trait.h
// Copyright 2020 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef INCLUDE_CPPGC_TRACE_TRAIT_H_ #define INCLUDE_CPPGC_TRACE_TRAIT_H_ #include <type_traits> #include "cppgc/type-traits.h" #include "v8config.h" // NOLINT(build/include_directory) namespace cppgc { class Visitor; namespace internal { class RootVisitor; using TraceRootCallback = void (*)(RootVisitor&, const void* object); // Implementation of the default TraceTrait handling GarbageCollected and // GarbageCollectedMixin. template <typename T, bool = IsGarbageCollectedMixinTypeV<typename std::remove_const<T>::type>> struct TraceTraitImpl; } // namespace internal /** * Callback for invoking tracing on a given object. * * \param visitor The visitor to dispatch to. * \param object The object to invoke tracing on. */ using TraceCallback = void (*)(Visitor* visitor, const void* object); /** * Describes how to trace an object, i.e., how to visit all Oilpan-relevant * fields of an object. */ struct TraceDescriptor { /** * Adjusted base pointer, i.e., the pointer to the class inheriting directly * from GarbageCollected, of the object that is being traced. */ const void* base_object_payload; /** * Callback for tracing the object. */ TraceCallback callback; }; /** * Callback for getting a TraceDescriptor for a given address. * * \param address Possibly inner address of an object. * \returns a TraceDescriptor for the provided address. */ using TraceDescriptorCallback = TraceDescriptor (*)(const void* address); namespace internal { struct V8_EXPORT TraceTraitFromInnerAddressImpl { static TraceDescriptor GetTraceDescriptor(const void* address); }; /** * Trait specifying how the garbage collector processes an object of type T. * * Advanced users may override handling by creating a specialization for their * type. */ template <typename T> struct TraceTraitBase { static_assert(internal::IsTraceableV<T>, "T must have a Trace() method"); /** * Accessor for retrieving a TraceDescriptor to process an object of type T. * * \param self The object to be processed. * \returns a TraceDescriptor to process the object. */ static TraceDescriptor GetTraceDescriptor(const void* self) { return internal::TraceTraitImpl<T>::GetTraceDescriptor( static_cast<const T*>(self)); } /** * Function invoking the tracing for an object of type T. * * \param visitor The visitor to dispatch to. * \param self The object to invoke tracing on. */ static void Trace(Visitor* visitor, const void* self) { static_cast<const T*>(self)->Trace(visitor); } }; } // namespace internal template <typename T> struct TraceTrait : public internal::TraceTraitBase<T> {}; namespace internal { template <typename T> struct TraceTraitImpl<T, false> { static_assert(IsGarbageCollectedTypeV<T>, "T must be of type GarbageCollected or GarbageCollectedMixin"); static TraceDescriptor GetTraceDescriptor(const void* self) { return {self, TraceTrait<T>::Trace}; } }; template <typename T> struct TraceTraitImpl<T, true> { static TraceDescriptor GetTraceDescriptor(const void* self) { return internal::TraceTraitFromInnerAddressImpl::GetTraceDescriptor(self); } }; } // namespace internal } // namespace cppgc #endif // INCLUDE_CPPGC_TRACE_TRAIT_H_
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply