v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
gc-info.cc
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
6
8#include "include/v8config.h"
10
11namespace cppgc::internal {
12
13namespace {
14
15HeapObjectName GetHiddenName(
16 const void*, HeapObjectNameForUnnamedObject name_retrieval_mode) {
17 return {
20}
21
22} // namespace
23
24// static
26 std::atomic<GCInfoIndex>& registered_index, TraceCallback trace_callback,
27 FinalizationCallback finalization_callback, NameCallback name_callback) {
29 registered_index,
30 GCInfo(finalization_callback, trace_callback, name_callback));
31}
32
33// static
35 std::atomic<GCInfoIndex>& registered_index, TraceCallback trace_callback,
36 FinalizationCallback finalization_callback) {
38 registered_index,
39 GCInfo(finalization_callback, trace_callback, GetHiddenName));
40}
41
42// static
44 std::atomic<GCInfoIndex>& registered_index, TraceCallback trace_callback,
45 NameCallback name_callback) {
47 registered_index, GCInfo(nullptr, trace_callback, name_callback));
48}
49
50// static
52 std::atomic<GCInfoIndex>& registered_index, TraceCallback trace_callback) {
54 registered_index, GCInfo(nullptr, trace_callback, GetHiddenName));
55}
56
57} // namespace cppgc::internal
static constexpr const char kHiddenName[]
GCInfoIndex RegisterNewGCInfo(std::atomic< uint16_t > &, const GCInfo &info)
static GCInfoTable & GetMutable()
void(*)(void *) FinalizationCallback
HeapObjectName(*)(const void *, HeapObjectNameForUnnamedObject) NameCallback
Definition name-trait.h:133
uint16_t GCInfoIndex
Definition gc-info.h:21
void(*)(Visitor *visitor, const void *object) TraceCallback
Definition trace-trait.h:38
static GCInfoIndex V8_PRESERVE_MOST EnsureGCInfoIndex(std::atomic< GCInfoIndex > &, TraceCallback, FinalizationCallback, NameCallback)
Definition gc-info.cc:25