v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
atomicops.h File Reference
#include <stdint.h>
#include <atomic>
#include <cstddef>
#include "src/base/base-export.h"
#include "src/base/build_config.h"
#include "src/base/macros.h"
Include dependency graph for atomicops.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::base
 
namespace  v8::base::helper
 

Typedefs

using v8::base::Atomic8 = char
 
using v8::base::Atomic16 = int16_t
 
using v8::base::Atomic32 = int32_t
 
using v8::base::AtomicWord = Atomic32
 

Functions

template<typename T >
volatile std::atomic< T > * v8::base::helper::to_std_atomic (volatile T *ptr)
 
template<typename T >
volatile const std::atomic< T > * v8::base::helper::to_std_atomic_const (volatile const T *ptr)
 
void v8::base::SeqCst_MemoryFence ()
 
Atomic8 v8::base::Relaxed_CompareAndSwap (volatile Atomic8 *ptr, Atomic8 old_value, Atomic8 new_value)
 
Atomic16 v8::base::Relaxed_CompareAndSwap (volatile Atomic16 *ptr, Atomic16 old_value, Atomic16 new_value)
 
Atomic32 v8::base::Relaxed_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
 
Atomic32 v8::base::Relaxed_AtomicExchange (volatile Atomic32 *ptr, Atomic32 new_value)
 
Atomic32 v8::base::SeqCst_AtomicExchange (volatile Atomic32 *ptr, Atomic32 new_value)
 
Atomic32 v8::base::Relaxed_AtomicIncrement (volatile Atomic32 *ptr, Atomic32 increment)
 
Atomic32 v8::base::Acquire_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
 
Atomic8 v8::base::Release_CompareAndSwap (volatile Atomic8 *ptr, Atomic8 old_value, Atomic8 new_value)
 
Atomic32 v8::base::Release_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
 
Atomic32 v8::base::AcquireRelease_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
 
Atomic32 v8::base::SeqCst_CompareAndSwap (volatile Atomic32 *ptr, Atomic32 old_value, Atomic32 new_value)
 
void v8::base::Relaxed_Store (volatile Atomic8 *ptr, Atomic8 value)
 
void v8::base::Relaxed_Store (volatile Atomic16 *ptr, Atomic16 value)
 
void v8::base::Relaxed_Store (volatile Atomic32 *ptr, Atomic32 value)
 
void v8::base::Release_Store (volatile Atomic8 *ptr, Atomic8 value)
 
void v8::base::Release_Store (volatile Atomic16 *ptr, Atomic16 value)
 
void v8::base::Release_Store (volatile Atomic32 *ptr, Atomic32 value)
 
void v8::base::SeqCst_Store (volatile Atomic8 *ptr, Atomic8 value)
 
void v8::base::SeqCst_Store (volatile Atomic16 *ptr, Atomic16 value)
 
void v8::base::SeqCst_Store (volatile Atomic32 *ptr, Atomic32 value)
 
Atomic8 v8::base::Relaxed_Load (volatile const Atomic8 *ptr)
 
Atomic16 v8::base::Relaxed_Load (volatile const Atomic16 *ptr)
 
Atomic32 v8::base::Relaxed_Load (volatile const Atomic32 *ptr)
 
Atomic8 v8::base::Acquire_Load (volatile const Atomic8 *ptr)
 
Atomic32 v8::base::Acquire_Load (volatile const Atomic32 *ptr)
 
Atomic8 v8::base::SeqCst_Load (volatile const Atomic8 *ptr)
 
Atomic32 v8::base::SeqCst_Load (volatile const Atomic32 *ptr)
 
void v8::base::Relaxed_Memcpy (volatile Atomic8 *dst, volatile const Atomic8 *src, size_t bytes)
 
void v8::base::Relaxed_Memmove (volatile Atomic8 *dst, volatile const Atomic8 *src, size_t bytes)
 
int v8::base::helper::MemcmpNotEqualFundamental (Atomic8 u1, Atomic8 u2)
 
int v8::base::helper::MemcmpNotEqualFundamental (AtomicWord u1, AtomicWord u2)
 
int v8::base::Relaxed_Memcmp (volatile const Atomic8 *s1, volatile const Atomic8 *s2, size_t len)