v8 14.1.146 (node 25.0.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
SmiTagging< 4 > Struct Reference

#include <v8-internal.h>

Public Types

enum  { kSmiShiftSize = 0 , kSmiValueSize = 31 }
 

Static Public Member Functions

static V8_INLINE constexpr int SmiToInt (Address value)
 
template<class T , typename std::enable_if_t< std::is_integral_v< T > &&std::is_signed_v< T > > * = nullptr>
static V8_INLINE constexpr bool IsValidSmi (T value)
 
template<class T , typename std::enable_if_t< std::is_integral_v< T > &&std::is_unsigned_v< T > > * = nullptr>
static V8_INLINE constexpr bool IsValidSmi (T value)
 
static V8_INLINE constexpr bool IsValidSmi (int64_t value)
 
static V8_INLINE constexpr bool IsValidSmi (uint64_t value)
 

Static Public Attributes

static constexpr intptr_t kSmiMinValue
 
static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1)
 

Detailed Description

Definition at line 99 of file v8-internal.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kSmiShiftSize 
kSmiValueSize 

Definition at line 100 of file v8-internal.h.

Member Function Documentation

◆ IsValidSmi() [1/4]

static V8_INLINE constexpr bool IsValidSmi ( int64_t  value)
inlinestaticconstexpr

Definition at line 134 of file v8-internal.h.

References SmiTagging< 4 >::kSmiMaxValue, and SmiTagging< 4 >::kSmiMinValue.

◆ IsValidSmi() [2/4]

template<class T , typename std::enable_if_t< std::is_integral_v< T > &&std::is_signed_v< T > > * = nullptr>
static V8_INLINE constexpr bool IsValidSmi ( value)
inlinestaticconstexpr

Definition at line 114 of file v8-internal.h.

References SmiTagging< 4 >::kSmiMaxValue, and SmiTagging< 4 >::kSmiMinValue.

◆ IsValidSmi() [3/4]

template<class T , typename std::enable_if_t< std::is_integral_v< T > &&std::is_unsigned_v< T > > * = nullptr>
static V8_INLINE constexpr bool IsValidSmi ( value)
inlinestaticconstexpr

Definition at line 127 of file v8-internal.h.

References SmiTagging< 4 >::kSmiMaxValue.

◆ IsValidSmi() [4/4]

static V8_INLINE constexpr bool IsValidSmi ( uint64_t  value)
inlinestaticconstexpr

Definition at line 141 of file v8-internal.h.

References SmiTagging< 4 >::kSmiMaxValue.

◆ SmiToInt()

static V8_INLINE constexpr int SmiToInt ( Address  value)
inlinestaticconstexpr

Definition at line 106 of file v8-internal.h.

References SmiTagging< 4 >::kSmiShiftSize, and v8::internal::kSmiTagSize.

Field Documentation

◆ kSmiMaxValue

constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1)
staticconstexpr

◆ kSmiMinValue

constexpr intptr_t kSmiMinValue
staticconstexpr
Initial value:
=
static_cast<intptr_t>(kUintptrAllBitsSet << (kSmiValueSize - 1))
constexpr uintptr_t kUintptrAllBitsSet
Definition v8-internal.h:94

Definition at line 102 of file v8-internal.h.

Referenced by SmiTagging< 4 >::IsValidSmi(), and SmiTagging< 4 >::IsValidSmi().


The documentation for this struct was generated from the following file: