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/explicit-management.h
// Copyright 2021 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_EXPLICIT_MANAGEMENT_H_ #define INCLUDE_CPPGC_EXPLICIT_MANAGEMENT_H_ #include <cstddef> #include "cppgc/allocation.h" #include "cppgc/internal/logging.h" #include "cppgc/type-traits.h" namespace cppgc { class HeapHandle; namespace subtle { template <typename T> void FreeUnreferencedObject(HeapHandle& heap_handle, T& object); template <typename T> bool Resize(T& object, AdditionalBytes additional_bytes); } // namespace subtle namespace internal { class ExplicitManagementImpl final { private: V8_EXPORT static void FreeUnreferencedObject(HeapHandle&, void*); V8_EXPORT static bool Resize(void*, size_t); template <typename T> friend void subtle::FreeUnreferencedObject(HeapHandle&, T&); template <typename T> friend bool subtle::Resize(T&, AdditionalBytes); }; } // namespace internal namespace subtle { /** * Informs the garbage collector that `object` can be immediately reclaimed. The * destructor may not be invoked immediately but only on next garbage * collection. * * It is up to the embedder to guarantee that no other object holds a reference * to `object` after calling `FreeUnreferencedObject()`. In case such a * reference exists, it's use results in a use-after-free. * * To aid in using the API, `FreeUnreferencedObject()` may be called from * destructors on objects that would be reclaimed in the same garbage collection * cycle. * * \param heap_handle The corresponding heap. * \param object Reference to an object that is of type `GarbageCollected` and * should be immediately reclaimed. */ template <typename T> void FreeUnreferencedObject(HeapHandle& heap_handle, T& object) { static_assert(IsGarbageCollectedTypeV<T>, "Object must be of type GarbageCollected."); internal::ExplicitManagementImpl::FreeUnreferencedObject(heap_handle, &object); } /** * Tries to resize `object` of type `T` with additional bytes on top of * sizeof(T). Resizing is only useful with trailing inlined storage, see e.g. * `MakeGarbageCollected(AllocationHandle&, AdditionalBytes)`. * * `Resize()` performs growing or shrinking as needed and may skip the operation * for internal reasons, see return value. * * It is up to the embedder to guarantee that in case of shrinking a larger * object down, the reclaimed area is not used anymore. Any subsequent use * results in a use-after-free. * * The `object` must be live when calling `Resize()`. * * \param object Reference to an object that is of type `GarbageCollected` and * should be resized. * \param additional_bytes Bytes in addition to sizeof(T) that the object should * provide. * \returns true when the operation was successful and the result can be relied * on, and false otherwise. */ template <typename T> bool Resize(T& object, AdditionalBytes additional_bytes) { static_assert(IsGarbageCollectedTypeV<T>, "Object must be of type GarbageCollected."); return internal::ExplicitManagementImpl::Resize( &object, sizeof(T) + additional_bytes.value); } } // namespace subtle } // namespace cppgc #endif // INCLUDE_CPPGC_EXPLICIT_MANAGEMENT_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