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

#include <operation-typer.h>

Collaboration diagram for v8::internal::compiler::OperationTyper:

Public Types

enum  ComparisonOutcomeFlags { kComparisonTrue = 1 , kComparisonFalse = 2 , kComparisonUndefined = 4 }
 

Public Member Functions

 OperationTyper (JSHeapBroker *broker, Zone *zone)
 
Type Merge (Type left, Type right)
 
Type ToPrimitive (Type type)
 
Type ToNumber (Type type)
 
Type ToNumberConvertBigInt (Type type)
 
Type ToBigInt (Type type)
 
Type ToBigIntConvertNumber (Type type)
 
Type ToNumeric (Type type)
 
Type ToBoolean (Type type)
 
Type WeakenRange (Type current_range, Type previous_range)
 
Type ChangeUint32ToUint64 (Type input)
 
Type SameValue (Type lhs, Type rhs)
 
Type SameValueNumbersOnly (Type lhs, Type rhs)
 
Type StrictEqual (Type lhs, Type rhs)
 
Type CheckBounds (Type index, Type length)
 
Type CheckFloat64Hole (Type type)
 
Type CheckNumber (Type type)
 
Type CheckNumberFitsInt32 (Type type)
 
Type ConvertTaggedHoleToUndefined (Type type)
 
Type TypeTypeGuard (const Operator *sigma_op, Type input)
 
Type singleton_false () const
 
Type singleton_true () const
 

Private Types

using ComparisonOutcome = base::Flags<ComparisonOutcomeFlags>
 

Private Member Functions

ComparisonOutcome Invert (ComparisonOutcome)
 
Type Invert (Type)
 
Type FalsifyUndefined (ComparisonOutcome)
 
Type Rangify (Type)
 
Type AddRanger (double lhs_min, double lhs_max, double rhs_min, double rhs_max)
 
Type SubtractRanger (double lhs_min, double lhs_max, double rhs_min, double rhs_max)
 
Type MultiplyRanger (double lhs_min, double lhs_max, double rhs_min, double rhs_max)
 
Zonezone () const
 

Private Attributes

Zone *const zone_
 
TypeCache const * cache_
 
Type infinity_
 
Type minus_infinity_
 
Type singleton_NaN_string_
 
Type singleton_zero_string_
 
Type singleton_false_
 
Type singleton_true_
 
Type signed32ish_
 
Type unsigned32ish_
 
Type singleton_empty_string_
 
Type truish_
 
Type falsish_
 

Detailed Description

Definition at line 49 of file operation-typer.h.

Member Typedef Documentation

◆ ComparisonOutcome

Member Enumeration Documentation

◆ ComparisonOutcomeFlags

Enumerator
kComparisonTrue 
kComparisonFalse 
kComparisonUndefined 

Definition at line 100 of file operation-typer.h.

Constructor & Destructor Documentation

◆ OperationTyper()

v8::internal::compiler::OperationTyper::OperationTyper ( JSHeapBroker * broker,
Zone * zone )

Definition at line 17 of file operation-typer.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddRanger()

Type v8::internal::compiler::OperationTyper::AddRanger ( double lhs_min,
double lhs_max,
double rhs_min,
double rhs_max )
private

Definition at line 165 of file operation-typer.cc.

Here is the call graph for this function:

◆ ChangeUint32ToUint64()

Type v8::internal::compiler::OperationTyper::ChangeUint32ToUint64 ( Type input)

Definition at line 1187 of file operation-typer.cc.

◆ CheckBounds()

Type v8::internal::compiler::OperationTyper::CheckBounds ( Type index,
Type length )

Definition at line 1331 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckFloat64Hole()

Type v8::internal::compiler::OperationTyper::CheckFloat64Hole ( Type type)

Definition at line 1342 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckNumber()

Type v8::internal::compiler::OperationTyper::CheckNumber ( Type type)

Definition at line 1351 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckNumberFitsInt32()

Type v8::internal::compiler::OperationTyper::CheckNumberFitsInt32 ( Type type)

Definition at line 1355 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConvertTaggedHoleToUndefined()

Type v8::internal::compiler::OperationTyper::ConvertTaggedHoleToUndefined ( Type type)

Definition at line 1363 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FalsifyUndefined()

Type v8::internal::compiler::OperationTyper::FalsifyUndefined ( ComparisonOutcome outcome)
private

Definition at line 1253 of file operation-typer.cc.

Here is the call graph for this function:

◆ Invert() [1/2]

OperationTyper::ComparisonOutcome v8::internal::compiler::OperationTyper::Invert ( ComparisonOutcome outcome)
private

Definition at line 1244 of file operation-typer.cc.

◆ Invert() [2/2]

Type v8::internal::compiler::OperationTyper::Invert ( Type type)
private

Definition at line 1236 of file operation-typer.cc.

Here is the call graph for this function:

◆ Merge()

Type v8::internal::compiler::OperationTyper::Merge ( Type left,
Type right )

Definition at line 43 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MultiplyRanger()

Type v8::internal::compiler::OperationTyper::MultiplyRanger ( double lhs_min,
double lhs_max,
double rhs_min,
double rhs_max )
private

Definition at line 216 of file operation-typer.cc.

Here is the call graph for this function:

◆ Rangify()

Type v8::internal::compiler::OperationTyper::Rangify ( Type type)
private

Definition at line 123 of file operation-typer.cc.

Here is the call graph for this function:

◆ SameValue()

Type v8::internal::compiler::OperationTyper::SameValue ( Type lhs,
Type rhs )

Definition at line 1280 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SameValueNumbersOnly()

Type v8::internal::compiler::OperationTyper::SameValueNumbersOnly ( Type lhs,
Type rhs )

Definition at line 1302 of file operation-typer.cc.

Here is the call graph for this function:

◆ singleton_false()

Type v8::internal::compiler::OperationTyper::singleton_false ( ) const
inline

Definition at line 106 of file operation-typer.h.

Here is the caller graph for this function:

◆ singleton_true()

Type v8::internal::compiler::OperationTyper::singleton_true ( ) const
inline

Definition at line 107 of file operation-typer.h.

Here is the caller graph for this function:

◆ StrictEqual()

Type v8::internal::compiler::OperationTyper::StrictEqual ( Type lhs,
Type rhs )

Definition at line 1309 of file operation-typer.cc.

Here is the call graph for this function:

◆ SubtractRanger()

Type v8::internal::compiler::OperationTyper::SubtractRanger ( double lhs_min,
double lhs_max,
double rhs_min,
double rhs_max )
private

Definition at line 191 of file operation-typer.cc.

Here is the call graph for this function:

◆ ToBigInt()

Type v8::internal::compiler::OperationTyper::ToBigInt ( Type type)

Definition at line 308 of file operation-typer.cc.

Here is the caller graph for this function:

◆ ToBigIntConvertNumber()

Type v8::internal::compiler::OperationTyper::ToBigIntConvertNumber ( Type type)

Definition at line 316 of file operation-typer.cc.

Here is the call graph for this function:

◆ ToBoolean()

Type v8::internal::compiler::OperationTyper::ToBoolean ( Type type)

Definition at line 1372 of file operation-typer.cc.

Here is the caller graph for this function:

◆ ToNumber()

Type v8::internal::compiler::OperationTyper::ToNumber ( Type type)

Definition at line 261 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToNumberConvertBigInt()

Type v8::internal::compiler::OperationTyper::ToNumberConvertBigInt ( Type type)

Definition at line 297 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToNumeric()

Type v8::internal::compiler::OperationTyper::ToNumeric ( Type type)

Definition at line 329 of file operation-typer.cc.

Here is the call graph for this function:

◆ ToPrimitive()

Type v8::internal::compiler::OperationTyper::ToPrimitive ( Type type)

Definition at line 1229 of file operation-typer.cc.

◆ TypeTypeGuard()

Type v8::internal::compiler::OperationTyper::TypeTypeGuard ( const Operator * sigma_op,
Type input )

Definition at line 1359 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ WeakenRange()

Type v8::internal::compiler::OperationTyper::WeakenRange ( Type current_range,
Type previous_range )

Definition at line 47 of file operation-typer.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::compiler::OperationTyper::zone ( ) const
inlineprivate

Definition at line 124 of file operation-typer.h.

Here is the caller graph for this function:

Member Data Documentation

◆ cache_

TypeCache const* v8::internal::compiler::OperationTyper::cache_
private

Definition at line 127 of file operation-typer.h.

◆ falsish_

Type v8::internal::compiler::OperationTyper::falsish_
private

Definition at line 139 of file operation-typer.h.

◆ infinity_

Type v8::internal::compiler::OperationTyper::infinity_
private

Definition at line 129 of file operation-typer.h.

◆ minus_infinity_

Type v8::internal::compiler::OperationTyper::minus_infinity_
private

Definition at line 130 of file operation-typer.h.

◆ signed32ish_

Type v8::internal::compiler::OperationTyper::signed32ish_
private

Definition at line 135 of file operation-typer.h.

◆ singleton_empty_string_

Type v8::internal::compiler::OperationTyper::singleton_empty_string_
private

Definition at line 137 of file operation-typer.h.

◆ singleton_false_

Type v8::internal::compiler::OperationTyper::singleton_false_
private

Definition at line 133 of file operation-typer.h.

◆ singleton_NaN_string_

Type v8::internal::compiler::OperationTyper::singleton_NaN_string_
private

Definition at line 131 of file operation-typer.h.

◆ singleton_true_

Type v8::internal::compiler::OperationTyper::singleton_true_
private

Definition at line 134 of file operation-typer.h.

◆ singleton_zero_string_

Type v8::internal::compiler::OperationTyper::singleton_zero_string_
private

Definition at line 132 of file operation-typer.h.

◆ truish_

Type v8::internal::compiler::OperationTyper::truish_
private

Definition at line 138 of file operation-typer.h.

◆ unsigned32ish_

Type v8::internal::compiler::OperationTyper::unsigned32ish_
private

Definition at line 136 of file operation-typer.h.

◆ zone_

Zone* const v8::internal::compiler::OperationTyper::zone_
private

Definition at line 126 of file operation-typer.h.


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