V8  latest master commit
V8 is Google's open source JavaScript engine
prefinalizer-handler.h
Go to the documentation of this file.
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_INTERNAL_PREFINALIZER_HANDLER_H_
6 #define INCLUDE_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_
7 
8 #include "cppgc/heap.h"
10 
11 namespace cppgc {
12 namespace internal {
13 
15  public:
16  using PreFinalizerCallback = bool (*)(const LivenessBroker&, void*);
17  struct PreFinalizer {
18  void* object_;
20 
21  bool operator==(const PreFinalizer& other);
22  };
23 
24  static void RegisterPrefinalizer(cppgc::Heap* heap,
25  PreFinalizer prefinalzier);
26 };
27 
28 } // namespace internal
29 } // namespace cppgc
30 
31 #endif // INCLUDE_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_
cppgc::internal::PreFinalizerRegistrationDispatcher::PreFinalizerCallback
bool(*)(const LivenessBroker &, void *) PreFinalizerCallback
Definition: prefinalizer-handler.h:16
cppgc
Definition: allocation.h:18
V8_EXPORT
#define V8_EXPORT
Definition: v8config.h:467
cppgc::Heap
Definition: heap.h:20
cppgc::LivenessBroker
Definition: liveness-broker.h:19
liveness-broker.h
cppgc::internal::operator==
bool operator==(BasicMember< T1, WeaknessTag1, WriteBarrierPolicy1, CheckingPolicy1 > member1, BasicMember< T2, WeaknessTag2, WriteBarrierPolicy2, CheckingPolicy2 > member2)
Definition: member.h:149
cppgc::internal::PreFinalizerRegistrationDispatcher::PreFinalizer::callback_
PreFinalizerCallback callback_
Definition: prefinalizer-handler.h:19
cppgc::internal::PreFinalizerRegistrationDispatcher
Definition: prefinalizer-handler.h:14
cppgc::internal::PreFinalizerRegistrationDispatcher::PreFinalizer::object_
void * object_
Definition: prefinalizer-handler.h:18
heap.h
cppgc::internal::PreFinalizerRegistrationDispatcher::PreFinalizer
Definition: prefinalizer-handler.h:17