v8
10.2.154 (node 18.16.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
ephemeron-pair.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_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
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_
cppgc::LivenessBroker
Definition
liveness-broker.h:43
cppgc::LivenessBroker::IsHeapObjectAlive
bool IsHeapObjectAlive(const T *object) const
Definition
liveness-broker.h:46
cppgc::internal::BasicMember
Definition
member.h:58
liveness-broker.h
member.h
cppgc
Definition
allocation.h:38
cppgc::EphemeronPair
Definition
ephemeron-pair.h:18
cppgc::EphemeronPair::key
WeakMember< K > key
Definition
ephemeron-pair.h:20
cppgc::EphemeronPair::ClearValueIfKeyIsDead
void ClearValueIfKeyIsDead(const LivenessBroker &broker)
Definition
ephemeron-pair.h:23
cppgc::EphemeronPair::value
Member< V > value
Definition
ephemeron-pair.h:21
cppgc::EphemeronPair::EphemeronPair
EphemeronPair(K *k, V *v)
Definition
ephemeron-pair.h:19
V
#define V(Name)
include
cppgc
ephemeron-pair.h
Generated on Sat Jun 10 2023 16:59:17 for v8 by
1.9.7