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/prefinalizer.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_PREFINALIZER_H_ #define INCLUDE_CPPGC_PREFINALIZER_H_ #include "cppgc/internal/compiler-specific.h" #include "cppgc/liveness-broker.h" namespace cppgc { namespace internal { class V8_EXPORT PrefinalizerRegistration final { public: using Callback = bool (*)(const cppgc::LivenessBroker&, void*); PrefinalizerRegistration(void*, Callback); void* operator new(size_t, void* location) = delete; void* operator new(size_t) = delete; }; } // namespace internal /** * Macro must be used in the private section of `Class` and registers a * prefinalization callback `void Class::PreFinalizer()`. The callback is * invoked on garbage collection after the collector has found an object to be * dead. * * Callback properties: * - The callback is invoked before a possible destructor for the corresponding * object. * - The callback may access the whole object graph, irrespective of whether * objects are considered dead or alive. * - The callback is invoked on the same thread as the object was created on. * * Example: * \code * class WithPrefinalizer : public GarbageCollected<WithPrefinalizer> { * CPPGC_USING_PRE_FINALIZER(WithPrefinalizer, Dispose); * * public: * void Trace(Visitor*) const {} * void Dispose() { prefinalizer_called = true; } * ~WithPrefinalizer() { * // prefinalizer_called == true * } * private: * bool prefinalizer_called = false; * }; * \endcode */ #define CPPGC_USING_PRE_FINALIZER(Class, PreFinalizer) \ public: \ static bool InvokePreFinalizer(const cppgc::LivenessBroker& liveness_broker, \ void* object) { \ static_assert(cppgc::IsGarbageCollectedOrMixinTypeV<Class>, \ "Only garbage collected objects can have prefinalizers"); \ Class* self = static_cast<Class*>(object); \ if (liveness_broker.IsHeapObjectAlive(self)) return false; \ self->PreFinalizer(); \ return true; \ } \ \ private: \ CPPGC_NO_UNIQUE_ADDRESS cppgc::internal::PrefinalizerRegistration \ prefinalizer_dummy_{this, Class::InvokePreFinalizer}; \ static_assert(true, "Force semicolon.") } // namespace cppgc #endif // INCLUDE_CPPGC_PREFINALIZER_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