![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <stdint.h>
#include <type_traits>
#include "src/base/base-export.h"
#include "src/base/macros.h"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::base |
namespace | v8::base::bits |
Functions | |
template<typename T > requires (std::is_unsigned<T>::value && sizeof(T) <= 8) | |
constexpr unsigned | v8::base::bits::CountPopulation (T value) |
template<typename T > | |
T | v8::base::bits::ReverseBits (T value) |
template<typename T > | |
T | v8::base::bits::ReverseBytes (T value) |
template<class T > | |
constexpr std::make_unsigned_t< T > | v8::base::bits::Unsigned (T value) |
template<class T > | |
constexpr std::make_signed_t< T > | v8::base::bits::Signed (T value) |
template<typename T , unsigned bits = sizeof(T) * 8> requires (std::is_unsigned<T>::value && sizeof(T) <= 8) | |
constexpr unsigned | v8::base::bits::CountLeadingZeros (T value) |
constexpr unsigned | v8::base::bits::CountLeadingZeros32 (uint32_t value) |
constexpr unsigned | v8::base::bits::CountLeadingZeros64 (uint64_t value) |
template<class T > | |
constexpr unsigned | v8::base::bits::CountLeadingSignBits (T value) |
template<typename T , unsigned bits = sizeof(T) * 8> requires (std::is_integral<T>::value && sizeof(T) <= 8) | |
constexpr unsigned | v8::base::bits::CountTrailingZeros (T value) |
constexpr unsigned | v8::base::bits::CountTrailingZeros32 (uint32_t value) |
constexpr unsigned | v8::base::bits::CountTrailingZeros64 (uint64_t value) |
template<typename T , unsigned bits = sizeof(T) * 8> requires (std::is_integral<T>::value && sizeof(T) <= 8) | |
constexpr unsigned | v8::base::bits::CountTrailingZerosNonZero (T value) |
template<typename T > requires (std::is_integral<T>::value || std::is_enum<T>::value) | |
constexpr bool | v8::base::bits::IsPowerOfTwo (T value) |
template<typename T > requires std::is_integral<T>::value | |
constexpr int | v8::base::bits::WhichPowerOfTwo (T value) |
V8_BASE_EXPORT constexpr uint32_t | v8::base::bits::RoundUpToPowerOfTwo32 (uint32_t value) |
V8_BASE_EXPORT constexpr uint64_t | v8::base::bits::RoundUpToPowerOfTwo64 (uint64_t value) |
constexpr size_t | v8::base::bits::RoundUpToPowerOfTwo (size_t value) |
uint32_t | v8::base::bits::RoundDownToPowerOfTwo32 (uint32_t value) |
constexpr uint32_t | v8::base::bits::RotateRight32 (uint32_t value, uint32_t shift) |
constexpr uint32_t | v8::base::bits::RotateLeft32 (uint32_t value, uint32_t shift) |
constexpr uint64_t | v8::base::bits::RotateRight64 (uint64_t value, uint64_t shift) |
constexpr uint64_t | v8::base::bits::RotateLeft64 (uint64_t value, uint64_t shift) |
bool | v8::base::bits::SignedAddOverflow32 (int32_t lhs, int32_t rhs, int32_t *val) |
bool | v8::base::bits::SignedSubOverflow32 (int32_t lhs, int32_t rhs, int32_t *val) |
bool | v8::base::bits::SignedMulOverflow32 (int32_t lhs, int32_t rhs, int32_t *val) |
bool | v8::base::bits::SignedAddOverflow64 (int64_t lhs, int64_t rhs, int64_t *val) |
bool | v8::base::bits::SignedSubOverflow64 (int64_t lhs, int64_t rhs, int64_t *val) |
bool | v8::base::bits::SignedMulOverflow64 (int64_t lhs, int64_t rhs, int64_t *val) |
int32_t | v8::base::bits::SignedMulHigh32 (int32_t lhs, int32_t rhs) |
uint32_t | v8::base::bits::UnsignedMulHigh32 (uint32_t lhs, uint32_t rhs) |
int64_t | v8::base::bits::SignedMulHigh64 (int64_t u, int64_t v) |
uint64_t | v8::base::bits::UnsignedMulHigh64 (uint64_t u, uint64_t v) |
int32_t | v8::base::bits::SignedMulHighAndAdd32 (int32_t lhs, int32_t rhs, int32_t acc) |
int32_t | v8::base::bits::SignedDiv32 (int32_t lhs, int32_t rhs) |
int64_t | v8::base::bits::SignedDiv64 (int64_t lhs, int64_t rhs) |
int32_t | v8::base::bits::SignedMod32 (int32_t lhs, int32_t rhs) |
int64_t | v8::base::bits::SignedMod64 (int64_t lhs, int64_t rhs) |
bool | v8::base::bits::UnsignedAddOverflow32 (uint32_t lhs, uint32_t rhs, uint32_t *val) |
uint32_t | v8::base::bits::UnsignedDiv32 (uint32_t lhs, uint32_t rhs) |
uint64_t | v8::base::bits::UnsignedDiv64 (uint64_t lhs, uint64_t rhs) |
uint32_t | v8::base::bits::UnsignedMod32 (uint32_t lhs, uint32_t rhs) |
uint64_t | v8::base::bits::UnsignedMod64 (uint64_t lhs, uint64_t rhs) |
int32_t | v8::base::bits::WraparoundAdd32 (int32_t lhs, int32_t rhs) |
int32_t | v8::base::bits::WraparoundNeg32 (int32_t x) |
int64_t | v8::base::bits::SignedSaturatedAdd64 (int64_t lhs, int64_t rhs) |
int64_t | v8::base::bits::SignedSaturatedSub64 (int64_t lhs, int64_t rhs) |
template<class T > | |
V8_BASE_EXPORT constexpr int | v8::base::bits::BitWidth (T x) |