v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
write-barrier-kind.h
Go to the documentation of this file.
1
// Copyright 2019 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 V8_COMPILER_WRITE_BARRIER_KIND_H_
6
#define V8_COMPILER_WRITE_BARRIER_KIND_H_
7
8
#include <ostream>
9
10
#include "
src/base/logging.h
"
11
12
namespace
v8
{
13
namespace
internal
{
14
namespace
compiler {
15
16
// Write barrier kinds supported by compiler.
17
enum
WriteBarrierKind
: uint8_t {
18
kNoWriteBarrier
,
19
kAssertNoWriteBarrier
,
20
kMapWriteBarrier
,
21
kPointerWriteBarrier
,
22
kIndirectPointerWriteBarrier
,
23
kEphemeronKeyWriteBarrier
,
24
kFullWriteBarrier
25
};
26
27
inline
size_t
hash_value
(
WriteBarrierKind
kind
) {
28
return
static_cast<
uint8_t
>
(
kind
);
29
}
30
31
inline
std::ostream&
operator<<
(std::ostream& os,
WriteBarrierKind
kind
) {
32
switch
(
kind
) {
33
case
kNoWriteBarrier
:
34
return
os <<
"NoWriteBarrier"
;
35
case
kAssertNoWriteBarrier
:
36
return
os <<
"AssertNoWriteBarrier"
;
37
case
kMapWriteBarrier
:
38
return
os <<
"MapWriteBarrier"
;
39
case
kPointerWriteBarrier
:
40
return
os <<
"PointerWriteBarrier"
;
41
case
kIndirectPointerWriteBarrier
:
42
return
os <<
"IndirectPointerWriteBarrier"
;
43
case
kEphemeronKeyWriteBarrier
:
44
return
os <<
"EphemeronKeyWriteBarrier"
;
45
case
kFullWriteBarrier
:
46
return
os <<
"FullWriteBarrier"
;
47
}
48
UNREACHABLE
();
49
}
50
51
}
// namespace compiler
52
}
// namespace internal
53
}
// namespace v8
54
55
#endif
// V8_COMPILER_WRITE_BARRIER_KIND_H_
kind
Builtins::Kind kind
Definition
builtins.cc:40
v8::internal::compiler::WriteBarrierKind
WriteBarrierKind
Definition
write-barrier-kind.h:17
v8::internal::compiler::kMapWriteBarrier
@ kMapWriteBarrier
Definition
write-barrier-kind.h:20
v8::internal::compiler::kNoWriteBarrier
@ kNoWriteBarrier
Definition
write-barrier-kind.h:18
v8::internal::compiler::kPointerWriteBarrier
@ kPointerWriteBarrier
Definition
write-barrier-kind.h:21
v8::internal::compiler::kIndirectPointerWriteBarrier
@ kIndirectPointerWriteBarrier
Definition
write-barrier-kind.h:22
v8::internal::compiler::kAssertNoWriteBarrier
@ kAssertNoWriteBarrier
Definition
write-barrier-kind.h:19
v8::internal::compiler::kFullWriteBarrier
@ kFullWriteBarrier
Definition
write-barrier-kind.h:24
v8::internal::compiler::kEphemeronKeyWriteBarrier
@ kEphemeronKeyWriteBarrier
Definition
write-barrier-kind.h:23
v8::internal::compiler::hash_value
size_t hash_value(const BranchParameters &p)
Definition
common-operator.cc:70
v8::internal::compiler::operator<<
std::ostream & operator<<(std::ostream &os, AccessMode access_mode)
Definition
access-info.cc:74
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::UNREACHABLE
UNREACHABLE()
v8
Definition
api-arguments-inl.h:19
logging.h
src
compiler
write-barrier-kind.h
Generated on Sun Apr 6 2025 21:08:53 for v8 by
1.12.0