Broom
1.0.0
A thread-local C++ Garbage Collector
Loading...
Searching...
No Matches
src
roots-inl.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
src/platform/platform-base.h
"
4
#include "
src/roots.h
"
5
6
namespace
broom
{
7
template
<RootKind kind>
8
void
RootVisitor::Visit
(
const
void
*
root
) {
9
switch
(
kind
) {
10
case
RootKind::kStack
:
11
VisitStackRoot(
root
);
12
break
;
13
case
RootKind::kExternal
:
14
VisitExternalRoot(
SafeCast<const ExternalRoot*>
(
root
));
15
break
;
16
case
RootKind::kPrecise
:
17
VisitPreciseRoot(
SafeCast<const PreciseRoot*>
(
root
));
18
break
;
19
case
RootKind::kRegular
:
20
VisitRegularRoot(
root
);
21
break
;
22
default
:
23
ABORT
(
"Unknown root kind"
);
24
}
25
}
26
}
// namespace broom
broom::RootVisitor::Visit
virtual void Visit(const void *pointer)
Definition
roots.h:98
broom
Definition
allocator-inl.h:9
broom::RootKind::kExternal
@ kExternal
broom::RootKind::kRegular
@ kRegular
broom::RootKind::kPrecise
@ kPrecise
broom::RootKind::kStack
@ kStack
broom::queue
std::queue< T, broom::deque< T > > queue
Definition
broom-queue.h:12
platform-base.h
ABORT
#define ABORT(m,...)
Definition
platform-base.h:10
roots.h
Generated by
1.9.8