v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::TypeCache Class Referencefinal

#include <type-cache.h>

Collaboration diagram for v8::internal::compiler::TypeCache:

Public Member Functions

 TypeCache ()
 

Static Public Member Functions

static TypeCache const * Get ()
 

Public Attributes

Type const kInt8 = CreateRange<int8_t>()
 
Type const kUint8 = CreateRange<uint8_t>()
 
Type const kUint8Clamped = kUint8
 
Type const kUint8OrMinusZeroOrNaN
 
Type const kInt16 = CreateRange<int16_t>()
 
Type const kUint16 = CreateRange<uint16_t>()
 
Type const kUnsigned31 = Type::Unsigned31()
 
Type const kInt32 = Type::Signed32()
 
Type const kUint32 = Type::Unsigned32()
 
Type const kDoubleRepresentableInt64
 
Type const kDoubleRepresentableInt64OrMinusZero
 
Type const kDoubleRepresentableUint64
 
Type const kFloat16 = Type::Number()
 
Type const kFloat32 = Type::Number()
 
Type const kFloat64 = Type::Number()
 
Type const kBigInt64 = Type::SignedBigInt64()
 
Type const kBigUint64 = Type::UnsignedBigInt64()
 
Type const kHoleySmi = Type::Union(Type::SignedSmall(), Type::Hole(), zone())
 
Type const kSingletonZero = CreateRange(0.0, 0.0)
 
Type const kSingletonOne = CreateRange(1.0, 1.0)
 
Type const kSingletonTen = CreateRange(10.0, 10.0)
 
Type const kSingletonMinusOne = CreateRange(-1.0, -1.0)
 
Type const kZeroOrMinusZero
 
Type const kZeroOrUndefined
 
Type const kTenOrUndefined
 
Type const kMinusOneOrZero = CreateRange(-1.0, 0.0)
 
Type const kMinusOneToOneOrMinusZeroOrNaN
 
Type const kZeroOrOne = CreateRange(0.0, 1.0)
 
Type const kZeroOrOneOrNaN = Type::Union(kZeroOrOne, Type::NaN(), zone())
 
Type const kZeroToThirtyOne = CreateRange(0.0, 31.0)
 
Type const kZeroToThirtyTwo = CreateRange(0.0, 32.0)
 
Type const kZeroish
 
Type const kInteger = CreateRange(-V8_INFINITY, V8_INFINITY)
 
Type const kIntegerOrMinusZero
 
Type const kIntegerOrMinusZeroOrNaN
 
Type const kPositiveInteger = CreateRange(0.0, V8_INFINITY)
 
Type const kPositiveIntegerOrMinusZero
 
Type const kPositiveIntegerOrNaN
 
Type const kPositiveIntegerOrMinusZeroOrNaN
 
Type const kSafeInteger = CreateRange(-kMaxSafeInteger, kMaxSafeInteger)
 
Type const kAdditiveSafeInteger
 
Type const kAdditiveSafeIntegerOrMinusZero
 
Type const kSafeIntegerOrMinusZero
 
Type const kPositiveSafeInteger = CreateRange(0.0, kMaxSafeInteger)
 
Type const kFixedArrayLengthType = CreateRange(0.0, FixedArray::kMaxLength)
 
Type const kWeakFixedArrayLengthType
 
Type const kFixedDoubleArrayLengthType
 
Type const kJSArrayLengthType = Type::Unsigned32()
 
Type const kJSArrayBufferByteLengthType
 
Type const kJSArrayBufferViewByteLengthType = kJSArrayBufferByteLengthType
 
Type const kJSArrayBufferViewByteOffsetType = kJSArrayBufferByteLengthType
 
Type const kJSTypedArrayLengthType
 
Type const kStringLengthType = CreateRange(0.0, String::kMaxLength)
 
Type const kTimeValueType
 
Type const kJSDateDayType
 
Type const kJSDateHourType
 
Type const kJSDateMinuteType
 
Type const kJSDateMonthType
 
Type const kJSDateSecondType = kJSDateMinuteType
 
Type const kJSDateValueType
 
Type const kJSDateWeekdayType
 
Type const kJSDateYearType
 
Type const kArgumentsLengthType = CreateRange(0.0, FixedArray::kMaxLength)
 
Type const kRestLengthType = CreateRange(0.0, FixedArray::kMaxLength)
 
Type const kJSArrayIteratorKindType = CreateRange(0.0, 2.0)
 

Private Member Functions

template<typename T >
Type CreateRange ()
 
Type CreateRange (double min, double max)
 
Zonezone ()
 

Private Attributes

AccountingAllocator allocator
 
Zone zone_
 

Detailed Description

Definition at line 18 of file type-cache.h.

Constructor & Destructor Documentation

◆ TypeCache()

v8::internal::compiler::TypeCache::TypeCache ( )
inline

Definition at line 27 of file type-cache.h.

Member Function Documentation

◆ CreateRange() [1/2]

template<typename T >
Type v8::internal::compiler::TypeCache::CreateRange ( )
inlineprivate

Definition at line 195 of file type-cache.h.

◆ CreateRange() [2/2]

Type v8::internal::compiler::TypeCache::CreateRange ( double min,
double max )
inlineprivate

Definition at line 203 of file type-cache.h.

◆ Get()

static TypeCache const * v8::internal::compiler::TypeCache::Get ( )
static
Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::compiler::TypeCache::zone ( )
inlineprivate

Definition at line 207 of file type-cache.h.

Member Data Documentation

◆ allocator

AccountingAllocator v8::internal::compiler::TypeCache::allocator
private

Definition at line 21 of file type-cache.h.

◆ kAdditiveSafeInteger

Type const v8::internal::compiler::TypeCache::kAdditiveSafeInteger
Initial value:

Definition at line 87 of file type-cache.h.

◆ kAdditiveSafeIntegerOrMinusZero

Type const v8::internal::compiler::TypeCache::kAdditiveSafeIntegerOrMinusZero
Initial value:
=
Type::Union(kAdditiveSafeInteger, Type::MinusZero(), zone())
static Type Union(Type type1, Type type2, Zone *zone)

Definition at line 89 of file type-cache.h.

◆ kArgumentsLengthType

Type const v8::internal::compiler::TypeCache::kArgumentsLengthType = CreateRange(0.0, FixedArray::kMaxLength)

Definition at line 182 of file type-cache.h.

◆ kBigInt64

Type const v8::internal::compiler::TypeCache::kBigInt64 = Type::SignedBigInt64()

Definition at line 48 of file type-cache.h.

◆ kBigUint64

Type const v8::internal::compiler::TypeCache::kBigUint64 = Type::UnsignedBigInt64()

Definition at line 49 of file type-cache.h.

◆ kDoubleRepresentableInt64

Type const v8::internal::compiler::TypeCache::kDoubleRepresentableInt64
Initial value:
std::numeric_limits<int64_t>::min(), kMaxDoubleRepresentableInt64)
constexpr double kMaxDoubleRepresentableInt64
Definition globals.h:176

Definition at line 39 of file type-cache.h.

◆ kDoubleRepresentableInt64OrMinusZero

Type const v8::internal::compiler::TypeCache::kDoubleRepresentableInt64OrMinusZero
Initial value:

Definition at line 41 of file type-cache.h.

◆ kDoubleRepresentableUint64

Type const v8::internal::compiler::TypeCache::kDoubleRepresentableUint64
Initial value:
std::numeric_limits<uint64_t>::min(), kMaxDoubleRepresentableUint64)
constexpr double kMaxDoubleRepresentableUint64
Definition globals.h:179

Definition at line 43 of file type-cache.h.

◆ kFixedArrayLengthType

Type const v8::internal::compiler::TypeCache::kFixedArrayLengthType = CreateRange(0.0, FixedArray::kMaxLength)

Definition at line 97 of file type-cache.h.

◆ kFixedDoubleArrayLengthType

Type const v8::internal::compiler::TypeCache::kFixedDoubleArrayLengthType

◆ kFloat16

Type const v8::internal::compiler::TypeCache::kFloat16 = Type::Number()

Definition at line 45 of file type-cache.h.

◆ kFloat32

Type const v8::internal::compiler::TypeCache::kFloat32 = Type::Number()

Definition at line 46 of file type-cache.h.

◆ kFloat64

Type const v8::internal::compiler::TypeCache::kFloat64 = Type::Number()

Definition at line 47 of file type-cache.h.

◆ kHoleySmi

Type const v8::internal::compiler::TypeCache::kHoleySmi = Type::Union(Type::SignedSmall(), Type::Hole(), zone())

Definition at line 51 of file type-cache.h.

◆ kInt16

Type const v8::internal::compiler::TypeCache::kInt16 = CreateRange<int16_t>()

Definition at line 34 of file type-cache.h.

◆ kInt32

Type const v8::internal::compiler::TypeCache::kInt32 = Type::Signed32()

Definition at line 37 of file type-cache.h.

◆ kInt8

Type const v8::internal::compiler::TypeCache::kInt8 = CreateRange<int8_t>()

Definition at line 29 of file type-cache.h.

◆ kInteger

Type const v8::internal::compiler::TypeCache::kInteger = CreateRange(-V8_INFINITY, V8_INFINITY)

Definition at line 73 of file type-cache.h.

◆ kIntegerOrMinusZero

Type const v8::internal::compiler::TypeCache::kIntegerOrMinusZero
Initial value:
=
Type::Union(kInteger, Type::MinusZero(), zone())

Definition at line 74 of file type-cache.h.

◆ kIntegerOrMinusZeroOrNaN

Type const v8::internal::compiler::TypeCache::kIntegerOrMinusZeroOrNaN
Initial value:

Definition at line 76 of file type-cache.h.

◆ kJSArrayBufferByteLengthType

Type const v8::internal::compiler::TypeCache::kJSArrayBufferByteLengthType
Initial value:

Definition at line 115 of file type-cache.h.

◆ kJSArrayBufferViewByteLengthType

Type const v8::internal::compiler::TypeCache::kJSArrayBufferViewByteLengthType = kJSArrayBufferByteLengthType

Definition at line 120 of file type-cache.h.

◆ kJSArrayBufferViewByteOffsetType

Type const v8::internal::compiler::TypeCache::kJSArrayBufferViewByteOffsetType = kJSArrayBufferByteLengthType

Definition at line 124 of file type-cache.h.

◆ kJSArrayIteratorKindType

Type const v8::internal::compiler::TypeCache::kJSArrayIteratorKindType = CreateRange(0.0, 2.0)

Definition at line 191 of file type-cache.h.

◆ kJSArrayLengthType

Type const v8::internal::compiler::TypeCache::kJSArrayLengthType = Type::Unsigned32()

Definition at line 110 of file type-cache.h.

◆ kJSDateDayType

Type const v8::internal::compiler::TypeCache::kJSDateDayType
Initial value:
=
Type::Union(CreateRange(1, 31.0), Type::NaN(), zone())

Definition at line 142 of file type-cache.h.

◆ kJSDateHourType

Type const v8::internal::compiler::TypeCache::kJSDateHourType
Initial value:
=
Type::Union(CreateRange(0, 23.0), Type::NaN(), zone())

Definition at line 147 of file type-cache.h.

◆ kJSDateMinuteType

Type const v8::internal::compiler::TypeCache::kJSDateMinuteType
Initial value:
=
Type::Union(CreateRange(0, 59.0), Type::NaN(), zone())

Definition at line 152 of file type-cache.h.

◆ kJSDateMonthType

Type const v8::internal::compiler::TypeCache::kJSDateMonthType
Initial value:
=
Type::Union(CreateRange(0, 11.0), Type::NaN(), zone())

Definition at line 157 of file type-cache.h.

◆ kJSDateSecondType

Type const v8::internal::compiler::TypeCache::kJSDateSecondType = kJSDateMinuteType

Definition at line 162 of file type-cache.h.

◆ kJSDateValueType

Type const v8::internal::compiler::TypeCache::kJSDateValueType
Initial value:

Definition at line 166 of file type-cache.h.

◆ kJSDateWeekdayType

Type const v8::internal::compiler::TypeCache::kJSDateWeekdayType
Initial value:
=
Type::Union(CreateRange(0, 6.0), Type::NaN(), zone())

Definition at line 171 of file type-cache.h.

◆ kJSDateYearType

Type const v8::internal::compiler::TypeCache::kJSDateYearType
Initial value:
=
Type::Union(CreateRange(-271821, 275760), Type::NaN(), zone())

Definition at line 176 of file type-cache.h.

◆ kJSTypedArrayLengthType

Type const v8::internal::compiler::TypeCache::kJSTypedArrayLengthType
Initial value:

Definition at line 128 of file type-cache.h.

◆ kMinusOneOrZero

Type const v8::internal::compiler::TypeCache::kMinusOneOrZero = CreateRange(-1.0, 0.0)

Definition at line 63 of file type-cache.h.

◆ kMinusOneToOneOrMinusZeroOrNaN

Type const v8::internal::compiler::TypeCache::kMinusOneToOneOrMinusZeroOrNaN
Initial value:
Type::Union(CreateRange(-1.0, 1.0), Type::MinusZero(), zone()),
Type::NaN(), zone())

Definition at line 64 of file type-cache.h.

◆ kPositiveInteger

Type const v8::internal::compiler::TypeCache::kPositiveInteger = CreateRange(0.0, V8_INFINITY)

Definition at line 78 of file type-cache.h.

◆ kPositiveIntegerOrMinusZero

Type const v8::internal::compiler::TypeCache::kPositiveIntegerOrMinusZero
Initial value:
=
Type::Union(kPositiveInteger, Type::MinusZero(), zone())

Definition at line 79 of file type-cache.h.

◆ kPositiveIntegerOrMinusZeroOrNaN

Type const v8::internal::compiler::TypeCache::kPositiveIntegerOrMinusZeroOrNaN
Initial value:

Definition at line 83 of file type-cache.h.

◆ kPositiveIntegerOrNaN

Type const v8::internal::compiler::TypeCache::kPositiveIntegerOrNaN
Initial value:
=

Definition at line 81 of file type-cache.h.

◆ kPositiveSafeInteger

Type const v8::internal::compiler::TypeCache::kPositiveSafeInteger = CreateRange(0.0, kMaxSafeInteger)

Definition at line 93 of file type-cache.h.

◆ kRestLengthType

Type const v8::internal::compiler::TypeCache::kRestLengthType = CreateRange(0.0, FixedArray::kMaxLength)

Definition at line 187 of file type-cache.h.

◆ kSafeInteger

Type const v8::internal::compiler::TypeCache::kSafeInteger = CreateRange(-kMaxSafeInteger, kMaxSafeInteger)

Definition at line 86 of file type-cache.h.

◆ kSafeIntegerOrMinusZero

Type const v8::internal::compiler::TypeCache::kSafeIntegerOrMinusZero
Initial value:
=
Type::Union(kSafeInteger, Type::MinusZero(), zone())

Definition at line 91 of file type-cache.h.

◆ kSingletonMinusOne

Type const v8::internal::compiler::TypeCache::kSingletonMinusOne = CreateRange(-1.0, -1.0)

Definition at line 56 of file type-cache.h.

◆ kSingletonOne

Type const v8::internal::compiler::TypeCache::kSingletonOne = CreateRange(1.0, 1.0)

Definition at line 54 of file type-cache.h.

◆ kSingletonTen

Type const v8::internal::compiler::TypeCache::kSingletonTen = CreateRange(10.0, 10.0)

Definition at line 55 of file type-cache.h.

◆ kSingletonZero

Type const v8::internal::compiler::TypeCache::kSingletonZero = CreateRange(0.0, 0.0)

Definition at line 53 of file type-cache.h.

◆ kStringLengthType

Type const v8::internal::compiler::TypeCache::kStringLengthType = CreateRange(0.0, String::kMaxLength)

Definition at line 133 of file type-cache.h.

◆ kTenOrUndefined

Type const v8::internal::compiler::TypeCache::kTenOrUndefined
Initial value:
=
Type::Union(kSingletonTen, Type::Undefined(), zone())

Definition at line 61 of file type-cache.h.

◆ kTimeValueType

Type const v8::internal::compiler::TypeCache::kTimeValueType
Initial value:

Definition at line 137 of file type-cache.h.

◆ kUint16

Type const v8::internal::compiler::TypeCache::kUint16 = CreateRange<uint16_t>()

Definition at line 35 of file type-cache.h.

◆ kUint32

Type const v8::internal::compiler::TypeCache::kUint32 = Type::Unsigned32()

Definition at line 38 of file type-cache.h.

◆ kUint8

Type const v8::internal::compiler::TypeCache::kUint8 = CreateRange<uint8_t>()

Definition at line 30 of file type-cache.h.

◆ kUint8Clamped

Type const v8::internal::compiler::TypeCache::kUint8Clamped = kUint8

Definition at line 31 of file type-cache.h.

◆ kUint8OrMinusZeroOrNaN

Type const v8::internal::compiler::TypeCache::kUint8OrMinusZeroOrNaN
Initial value:
=
Type::Union(kUint8, Type::MinusZeroOrNaN(), zone())

Definition at line 32 of file type-cache.h.

◆ kUnsigned31

Type const v8::internal::compiler::TypeCache::kUnsigned31 = Type::Unsigned31()

Definition at line 36 of file type-cache.h.

◆ kWeakFixedArrayLengthType

Type const v8::internal::compiler::TypeCache::kWeakFixedArrayLengthType

◆ kZeroish

Type const v8::internal::compiler::TypeCache::kZeroish
Initial value:
=
Type::Union(kSingletonZero, Type::MinusZeroOrNaN(), zone())

Definition at line 71 of file type-cache.h.

◆ kZeroOrMinusZero

Type const v8::internal::compiler::TypeCache::kZeroOrMinusZero
Initial value:
=
Type::Union(kSingletonZero, Type::MinusZero(), zone())

Definition at line 57 of file type-cache.h.

◆ kZeroOrOne

Type const v8::internal::compiler::TypeCache::kZeroOrOne = CreateRange(0.0, 1.0)

Definition at line 67 of file type-cache.h.

◆ kZeroOrOneOrNaN

Type const v8::internal::compiler::TypeCache::kZeroOrOneOrNaN = Type::Union(kZeroOrOne, Type::NaN(), zone())

Definition at line 68 of file type-cache.h.

◆ kZeroOrUndefined

Type const v8::internal::compiler::TypeCache::kZeroOrUndefined
Initial value:
=
Type::Union(kSingletonZero, Type::Undefined(), zone())

Definition at line 59 of file type-cache.h.

◆ kZeroToThirtyOne

Type const v8::internal::compiler::TypeCache::kZeroToThirtyOne = CreateRange(0.0, 31.0)

Definition at line 69 of file type-cache.h.

◆ kZeroToThirtyTwo

Type const v8::internal::compiler::TypeCache::kZeroToThirtyTwo = CreateRange(0.0, 32.0)

Definition at line 70 of file type-cache.h.

◆ zone_

Zone v8::internal::compiler::TypeCache::zone_
private

Definition at line 22 of file type-cache.h.


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