v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
atomic-memory-order.h
Go to the documentation of this file.
1
// Copyright 2021 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_CODEGEN_ATOMIC_MEMORY_ORDER_H_
6
#define V8_CODEGEN_ATOMIC_MEMORY_ORDER_H_
7
8
#include <ostream>
9
10
#include "
src/base/logging.h
"
11
12
namespace
v8
{
13
namespace
internal
{
14
15
// Atomic memory orders supported by the compiler.
16
enum class
AtomicMemoryOrder
: uint8_t {
kAcqRel
,
kSeqCst
};
17
18
inline
size_t
hash_value
(
AtomicMemoryOrder
order) {
19
return
static_cast<
uint8_t
>
(order);
20
}
21
22
inline
std::ostream&
operator<<
(std::ostream& os,
AtomicMemoryOrder
order) {
23
switch
(order) {
24
case
AtomicMemoryOrder::kAcqRel
:
25
return
os <<
"kAcqRel"
;
26
case
AtomicMemoryOrder::kSeqCst
:
27
return
os <<
"kSeqCst"
;
28
}
29
UNREACHABLE
();
30
}
31
32
}
// namespace internal
33
}
// namespace v8
34
35
#endif
// V8_CODEGEN_ATOMIC_MEMORY_ORDER_H_
v8::internal::hash_value
size_t hash_value(AtomicMemoryOrder order)
Definition
atomic-memory-order.h:18
v8::internal::AtomicMemoryOrder
AtomicMemoryOrder
Definition
atomic-memory-order.h:16
v8::internal::AtomicMemoryOrder::kAcqRel
@ kAcqRel
v8::internal::AtomicMemoryOrder::kSeqCst
@ kSeqCst
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::operator<<
std::ostream & operator<<(std::ostream &os, AtomicMemoryOrder order)
Definition
atomic-memory-order.h:22
v8::internal::UNREACHABLE
UNREACHABLE()
v8
Definition
api-arguments-inl.h:19
logging.h
src
codegen
atomic-memory-order.h
Generated on Sun Apr 6 2025 21:08:50 for v8 by
1.12.0