![]() |
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) |