v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
conversions.h File Reference
#include <optional>
#include <string_view>
#include "src/base/export-template.h"
#include "src/base/logging.h"
#include "src/base/macros.h"
#include "src/base/strings.h"
#include "src/base/vector.h"
#include "src/common/globals.h"
Include dependency graph for conversions.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::internal
 

Enumerations

enum  v8::internal::ConversionFlag { v8::internal::NO_CONVERSION_FLAG , v8::internal::ALLOW_NON_DECIMAL_PREFIX , v8::internal::ALLOW_TRAILING_JUNK }
 

Functions

int v8::internal::FastD2IChecked (double x)
 
int v8::internal::FastD2I (double x)
 
unsigned int v8::internal::FastD2UI (double x)
 
double v8::internal::FastI2D (int x)
 
double v8::internal::FastUI2D (unsigned x)
 
float v8::internal::DoubleToFloat32 (double x)
 
float v8::internal::DoubleToFloat32_NoInline (double x)
 
uint16_t v8::internal::DoubleToFloat16 (double value)
 
double v8::internal::DoubleToInteger (double x)
 
int32_t v8::internal::DoubleToInt32 (double x)
 
int32_t v8::internal::DoubleToInt32_NoInline (double x)
 
uint32_t v8::internal::DoubleToUint32 (double x)
 
int64_t v8::internal::DoubleToInt64 (double x)
 
uint64_t v8::internal::DoubleToUint64 (double x)
 
double v8::internal::StringToDouble (base::Vector< const uint8_t > str, ConversionFlag flags, double empty_string_val)
 
double v8::internal::StringToDouble (base::Vector< const base::uc16 > str, ConversionFlag flags, double empty_string_val)
 
double v8::internal::StringToDouble (const char *str, ConversionFlag flags, double empty_string_val)
 
double v8::internal::BinaryStringToDouble (base::Vector< const uint8_t > str)
 
double v8::internal::OctalStringToDouble (base::Vector< const uint8_t > str)
 
double v8::internal::HexStringToDouble (base::Vector< const uint8_t > str)
 
double v8::internal::ImplicitOctalStringToDouble (base::Vector< const uint8_t > str)
 
double v8::internal::StringToInt (Isolate *isolate, DirectHandle< String > string, int radix)
 
MaybeHandle< BigIntv8::internal::StringToBigInt (Isolate *isolate, DirectHandle< String > string)
 
template<typename IsolateT >
MaybeHandle< BigIntv8::internal::BigIntLiteral (IsolateT *isolate, const char *string)
 
std::string_view v8::internal::DoubleToStringView (double v, base::Vector< char > buffer)
 
std::unique_ptr< char[]> v8::internal::BigIntLiteralToDecimal (LocalIsolate *isolate, base::Vector< const uint8_t > literal)
 
std::string_view v8::internal::IntToStringView (int n, base::Vector< char > buffer)
 
std::string_view v8::internal::DoubleToFixedStringView (double value, int f, base::Vector< char > buffer)
 
std::string_view v8::internal::DoubleToExponentialStringView (double value, int f, base::Vector< char > buffer)
 
std::string_view v8::internal::DoubleToPrecisionStringView (double value, int p, base::Vector< char > buffer)
 
std::string_view v8::internal::DoubleToRadixStringView (double value, int radix, base::Vector< char > buffer)
 
static bool v8::internal::IsMinusZero (double value)
 
bool v8::internal::DoubleToSmiInteger (double value, int *smi_int_value)
 
bool v8::internal::IsSmiDouble (double value)
 
bool v8::internal::IsInt32Double (double value)
 
bool v8::internal::IsUint32Double (double value)
 
bool v8::internal::DoubleToUint32IfEqualToSelf (double value, uint32_t *uint32_value)
 
uint32_t v8::internal::PositiveNumberToUint32 (Tagged< Object > number)
 
int32_t v8::internal::NumberToInt32 (Tagged< Object > number)
 
uint32_t v8::internal::NumberToUint32 (Tagged< Object > number)
 
int64_t v8::internal::NumberToInt64 (Tagged< Object > number)
 
uint64_t v8::internal::PositiveNumberToUint64 (Tagged< Object > number)
 
double v8::internal::StringToDouble (Isolate *isolate, DirectHandle< String > string, ConversionFlag flag, double empty_string_val)
 
double v8::internal::FlatStringToDouble (Tagged< String > string, ConversionFlag flag, double empty_string_val)
 
std::optional< double > v8::internal::TryStringToDouble (LocalIsolate *isolate, DirectHandle< String > object, uint32_t max_length_for_conversion)
 
std::optional< double > v8::internal::TryStringToInt (LocalIsolate *isolate, DirectHandle< String > object, int radix)
 
bool v8::internal::TryNumberToSize (Tagged< Object > number, size_t *result)
 
size_t v8::internal::NumberToSize (Tagged< Object > number)
 
bool v8::internal::IsSpecialIndex (Tagged< String > string, SharedStringAccessGuardIfNeeded &access_guard)
 
bool v8::internal::IsSpecialIndex (Tagged< String > string)
 

Variables

constexpr int v8::internal::kFP64ExponentBits = 11
 
constexpr int v8::internal::kFP64MantissaBits = 52
 
constexpr uint64_t v8::internal::kFP64ExponentBias = 1023
 
constexpr uint64_t v8::internal::kFP64SignMask
 
constexpr uint64_t v8::internal::kFP64Infinity = uint64_t{2047} << kFP64MantissaBits
 
constexpr uint64_t v8::internal::kFP16InfinityAndNaNInfimum
 
constexpr uint64_t v8::internal::kFP16MinExponent = kFP64ExponentBias - 14
 
constexpr uint64_t v8::internal::kFP16DenormalThreshold
 
constexpr int v8::internal::kFP16MantissaBits = 10
 
constexpr uint16_t v8::internal::kFP16qNaN = 0x7e00
 
constexpr uint16_t v8::internal::kFP16Infinity = 0x7c00
 
constexpr uint64_t v8::internal::kFP64To16RoundingAddend
 
constexpr uint64_t v8::internal::kFP64To16RebiasExponentAndRound
 
constexpr uint64_t v8::internal::kFP64To16DenormalMagic
 
constexpr uint32_t v8::internal::kFP32WithoutSignMask = 0x7fffffff
 
constexpr uint32_t v8::internal::kFP32MinFP16ZeroRepresentable = 0x33000000
 
constexpr uint32_t v8::internal::kFP32MaxFP16Representable = 0x47800000
 
constexpr uint32_t v8::internal::kFP32SubnormalThresholdOfFP16 = 0x38800000
 
constexpr int v8::internal::kMaxFractionDigits = 100
 
constexpr int v8::internal::kDoubleToFixedMaxDigitsBeforePoint = 21
 
constexpr int v8::internal::kDoubleToFixedMaxChars
 
constexpr int v8::internal::kDoubleToPrecisionMaxChars = kMaxFractionDigits + 8
 
constexpr int v8::internal::kDoubleToExponentialMaxChars = kMaxFractionDigits + 8
 
constexpr int v8::internal::kDoubleToRadixMaxChars = 2200
 
constexpr int v8::internal::kDoubleToStringMinBufferSize = 100