v8
10.1.124 (node 18.2.0)
V8 is Google's open source JavaScript engine
logging.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_LOGGING_H_
6
#
define
INCLUDE_CPPGC_INTERNAL_LOGGING_H_
7
8
#
include
"cppgc/source-location.h"
9
#
include
"v8config.h"
// NOLINT(build/include_directory)
10
11
namespace
cppgc
{
12
namespace
internal
{
13
14
void
V8_EXPORT
DCheckImpl
(
const
char
*,
15
const
SourceLocation
& =
SourceLocation
::Current());
16
[[
noreturn
]]
void
V8_EXPORT
17
FatalImpl
(
const
char
*,
const
SourceLocation
& =
SourceLocation
::Current());
18
19
// Used to ignore -Wunused-variable.
20
template
<
typename
>
21
struct
EatParams
{};
22
23
#
if
defined
(
DEBUG
)
24
#
define
CPPGC_DCHECK_MSG
(
condition
,
message
)
25
do
{
26
if
(
V8_UNLIKELY
(
!
(
condition
)
)
)
{
27
::
cppgc
::
internal
::
DCheckImpl
(
message
)
;
28
}
29
}
while
(
false
)
30
#
else
// !defined(DEBUG)
31
#
define
CPPGC_DCHECK_MSG
(
condition
,
message
)
32
(
static_cast
<
void
>
(
::
cppgc
::
internal
::
EatParams
<
decltype
(
33
static_cast
<
void
>
(
condition
)
,
message
)
>
{
}
)
)
34
#
endif
// !defined(DEBUG)
35
36
#
define
CPPGC_DCHECK
(
condition
)
CPPGC_DCHECK_MSG
(
condition
,
#
condition
)
37
38
#
define
CPPGC_CHECK_MSG
(
condition
,
message
)
39
do
{
40
if
(
V8_UNLIKELY
(
!
(
condition
)
)
)
{
41
::
cppgc
::
internal
::
FatalImpl
(
message
)
;
42
}
43
}
while
(
false
)
44
45
#
define
CPPGC_CHECK
(
condition
)
CPPGC_CHECK_MSG
(
condition
,
#
condition
)
46
47
}
// namespace internal
48
}
// namespace cppgc
49
50
#
endif
// INCLUDE_CPPGC_INTERNAL_LOGGING_H_
include
cppgc
internal
logging.h
Generated on Tue May 24 2022 19:28:53 for v8 by
1.9.1