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

#include <machine-lowering-reducer-inl.h>

Inheritance diagram for v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >:
Collaboration diagram for v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >:

Public Types

enum class  StringEncoding { kOneByte , kTwoByte , kUnknown }
 

Public Member Functions

bool NeedsHeapObjectCheck (ObjectIsOp::InputAssumptions input_assumptions)
 
V< Word32 > REDUCE Word32SignHint (V< Word32 > input, Word32SignHintOp::Sign)
 
V< Untagged > REDUCE ChangeOrDeopt (V< Untagged > input, V< FrameState > frame_state, ChangeOrDeoptOp::Kind kind, CheckForMinusZeroMode minus_zero_mode, const FeedbackSource &feedback)
 
V< None > REDUCE DeoptimizeIf (V< Word32 > condition, V< FrameState > frame_state, bool negated, const DeoptimizeParameters *parameters)
 
V< Word32 > REDUCE ObjectIs (V< Object > input, ObjectIsOp::Kind kind, ObjectIsOp::InputAssumptions input_assumptions)
 
V< Word32 > REDUCE Float64Is (V< Float64 > value, NumericKind kind)
 
V< Word32 > REDUCE ObjectIsNumericValue (V< Object > input, NumericKind kind, FloatRepresentation input_rep)
 
V< Object > REDUCE Convert (V< Object > input, ConvertOp::Kind from, ConvertOp::Kind to)
 
V< JSPrimitive > REDUCE ConvertUntaggedToJSPrimitive (V< Untagged > input, ConvertUntaggedToJSPrimitiveOp::JSPrimitiveKind kind, RegisterRepresentation input_rep, ConvertUntaggedToJSPrimitiveOp::InputInterpretation input_interpretation, CheckForMinusZeroMode minus_zero_mode)
 
V< JSPrimitive > REDUCE ConvertUntaggedToJSPrimitiveOrDeopt (V< Untagged > input, V< FrameState > frame_state, ConvertUntaggedToJSPrimitiveOrDeoptOp::JSPrimitiveKind kind, RegisterRepresentation input_rep, ConvertUntaggedToJSPrimitiveOrDeoptOp::InputInterpretation input_interpretation, const FeedbackSource &feedback)
 
V< Untagged > REDUCE ConvertJSPrimitiveToUntagged (V< JSPrimitive > object, ConvertJSPrimitiveToUntaggedOp::UntaggedKind kind, ConvertJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions)
 
V< Untagged > REDUCE ConvertJSPrimitiveToUntaggedOrDeopt (V< Object > object, V< FrameState > frame_state, ConvertJSPrimitiveToUntaggedOrDeoptOp::JSPrimitiveKind from_kind, ConvertJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind to_kind, CheckForMinusZeroMode minus_zero_mode, const FeedbackSource &feedback)
 
V< Word > REDUCE TruncateJSPrimitiveToUntagged (V< JSPrimitive > object, TruncateJSPrimitiveToUntaggedOp::UntaggedKind kind, TruncateJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions)
 
V< Word > REDUCE TruncateJSPrimitiveToUntaggedOrDeopt (V< JSPrimitive > input, V< FrameState > frame_state, TruncateJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind kind, TruncateJSPrimitiveToUntaggedOrDeoptOp::InputRequirement input_requirement, const FeedbackSource &feedback)
 
V< Word32JSAnyIsNotPrimitiveHeapObject (V< Object > value, V< Map > value_map=V< Map >::Invalid())
 
V< Object > REDUCE ConvertJSPrimitiveToObject (V< JSPrimitive > value, V< Context > native_context, V< JSGlobalProxy > global_proxy, ConvertReceiverMode mode)
 
StringEncoding GetStringEncoding (V< String > string)
 
V< ConsString > REDUCE NewConsString (V< Word32 > length, V< String > first, V< String > second)
 
V< AnyFixedArray > REDUCE NewArray (V< WordPtr > length, NewArrayOp::Kind kind, AllocationType allocation_type)
 
V< Number > REDUCE DoubleArrayMinMax (V< JSArray > array, DoubleArrayMinMaxOp::Kind kind)
 
V< Object > REDUCE LoadFieldByIndex (V< Object > object, V< Word32 > field_index)
 
V< Word > REDUCE WordBinopDeoptOnOverflow (V< Word > left, V< Word > right, V< FrameState > frame_state, WordBinopDeoptOnOverflowOp::Kind kind, WordRepresentation rep, FeedbackSource feedback, CheckForMinusZeroMode mode)
 
V< BigInt > REDUCE BigIntBinop (V< BigInt > left, V< BigInt > right, V< FrameState > frame_state, BigIntBinopOp::Kind kind)
 
V< Boolean > REDUCE BigIntComparison (V< BigInt > left, V< BigInt > right, BigIntComparisonOp::Kind kind)
 
V< BigInt > REDUCE BigIntUnary (V< BigInt > input, BigIntUnaryOp::Kind kind)
 
V< Word32 > REDUCE StringAt (V< String > string, V< WordPtr > pos, StringAtOp::Kind kind)
 
V< Word32 > REDUCE StringLength (V< String > string)
 
V< WordPtr > REDUCE TypedArrayLength (V< JSTypedArray > typed_array, ElementsKind elements_kind)
 
V< Smi > REDUCE StringIndexOf (V< String > string, V< String > search, V< Smi > position)
 
V< String > REDUCE StringFromCodePointAt (V< String > string, V< WordPtr > index)
 
V< String > REDUCE StringSubstring (V< String > string, V< Word32 > start, V< Word32 > end)
 
V< String > REDUCE StringConcat (V< Smi > length, V< String > left, V< String > right)
 
V< Boolean > REDUCE StringComparison (V< String > left, V< String > right, StringComparisonOp::Kind kind)
 
V< Smi > REDUCE ArgumentsLength (ArgumentsLengthOp::Kind kind, int formal_parameter_count)
 
V< Object > REDUCE NewArgumentsElements (V< Smi > arguments_count, CreateArgumentsType type, int formal_parameter_count)
 
V< Any > REDUCE LoadTypedElement (OpIndex buffer, V< Object > base, V< WordPtr > external, V< WordPtr > index, ExternalArrayType array_type)
 
V< Object > REDUCE LoadStackArgument (V< WordPtr > base, V< WordPtr > index)
 
V< None > REDUCE StoreTypedElement (OpIndex buffer, V< Object > base, V< WordPtr > external, V< WordPtr > index, V< Any > value, ExternalArrayType array_type)
 
V< None > REDUCE TransitionAndStoreArrayElement (V< JSArray > array, V< WordPtr > index, OpIndex value, TransitionAndStoreArrayElementOp::Kind kind, MaybeHandle< Map > fast_map, MaybeHandle< Map > double_map)
 
V< Word32 > REDUCE CompareMaps (V< HeapObject > heap_object, OptionalV< Map > map, const ZoneRefSet< Map > &maps)
 
V< None > REDUCE CheckMaps (V< HeapObject > heap_object, V< FrameState > frame_state, OptionalV< Map > map, const ZoneRefSet< Map > &maps, CheckMapsFlags flags, const FeedbackSource &feedback)
 
V< Float > REDUCE FloatUnary (V< Float > input, FloatUnaryOp::Kind kind, FloatRepresentation rep)
 
V< Object > REDUCE CheckedClosure (V< Object > input, V< FrameState > frame_state, Handle< FeedbackCell > feedback_cell)
 
V< None > REDUCE CheckEqualsInternalizedString (V< Object > expected, V< Object > value, V< FrameState > frame_state)
 
V< Object > REDUCE LoadMessage (V< WordPtr > offset)
 
V< None > REDUCE StoreMessage (V< WordPtr > offset, V< Object > object)
 
V< Boolean > REDUCE SameValue (V< Object > left, V< Object > right, SameValueOp::Mode mode)
 
V< Word32 > REDUCE Float64SameValue (V< Float64 > left, V< Float64 > right)
 
V< None > REDUCE RuntimeAbort (AbortReason reason)
 
V< Object > REDUCE EnsureWritableFastElements (V< Object > object, V< Object > elements)
 
V< Object > REDUCE MaybeGrowFastElements (V< Object > object, V< Object > elements, V< Word32 > index, V< Word32 > elements_length, V< FrameState > frame_state, GrowFastElementsMode mode, const FeedbackSource &feedback)
 
V< None > REDUCE TransitionElementsKind (V< HeapObject > object, const ElementsTransition &transition)
 
V< None > REDUCE TransitionElementsKindOrCheckMap (V< HeapObject > object, V< Map > map, V< FrameState > frame_state, const ElementsTransitionWithMultipleSources &transition)
 
OpIndex REDUCE FindOrderedHashEntry (V< Object > data_structure, OpIndex key, FindOrderedHashEntryOp::Kind kind)
 
V< Word32LoadSurrogatePairAt (V< String > string, OptionalV< WordPtr > length, V< WordPtr > index, UnicodeEncoding encoding)
 
V< StringStringFromSingleCharCode (V< Word32 > code)
 
V< StringStringFromSingleCodePoint (V< Word32 > codepoint, UnicodeEncoding encoding)
 
Uninitialized< SeqTwoByteStringAllocateSeqTwoByteString (uint32_t length, AllocationType type)
 

Private Member Functions

V< Word32BuildUint32Mod (V< Word32 > left, V< Word32 > right)
 
V< BigIntAllocateBigInt (V< Word32 > bitfield, V< Word64 > digit)
 
void TagSmiOrOverflow (V< Word32 > input, Label<> *overflow, Label< Number > *done)
 
V< Word32IsNonZero (V< Word32 > value)
 
V< HeapNumberAllocateHeapNumber (V< Float64 > value)
 
V< Float64ConvertHeapObjectToFloat64OrDeopt (V< Object > heap_object, V< FrameState > frame_state, ConvertJSPrimitiveToUntaggedOrDeoptOp::JSPrimitiveKind input_kind, const FeedbackSource &feedback)
 
V< Word32LoadFromSeqString (V< Object > receiver, V< WordPtr > position, V< Word32 > onebyte)
 
void MigrateInstanceOrDeopt (V< HeapObject > heap_object, V< Map > heap_object_map, V< FrameState > frame_state, const FeedbackSource &feedback)
 
void TryMigrateInstanceAndMarkMapAsMigrationTarget (V< HeapObject > heap_object, V< Map > heap_object_map, V< FrameState > frame_state, const FeedbackSource &feedback)
 
OpIndex CallBuiltinForBigIntOp (Builtin builtin, std::initializer_list< OpIndex > arguments)
 
Builtin GetBuiltinForBigIntBinop (BigIntBinopOp::Kind kind)
 
V< WordPtrBuildTypedArrayDataPointer (V< Object > base, V< WordPtr > external)
 
V< Word32ComputeUnseededHash (V< Word32 > value)
 
void TransitionElementsTo (V< JSArray > array, ElementsKind from, ElementsKind to, Handle< Map > target_map)
 
V< Word32CompareMapAgainstMultipleMaps (V< Map > heap_object_map, const ZoneRefSet< Map > &maps)
 
bool DependOnNoUndetectableObjectsProtector ()
 

Private Attributes

Isolateisolate_ = __ data() -> isolate()
 
Factoryfactory_ = isolate_ ? isolate_->factory() : nullptr
 
JSHeapBrokerbroker_ = __ data() -> broker()
 
std::optional< boolundetectable_objects_protector_ = {}
 

Detailed Description

template<typename Next>
class v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >

Definition at line 49 of file machine-lowering-reducer-inl.h.

Member Enumeration Documentation

◆ StringEncoding

Enumerator
kOneByte 
kTwoByte 
kUnknown 

Definition at line 1617 of file machine-lowering-reducer-inl.h.

Member Function Documentation

◆ AllocateBigInt()

template<typename Next >
V< BigInt > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::AllocateBigInt ( V< Word32 > bitfield,
V< Word64 > digit )
inlineprivate

Definition at line 3611 of file machine-lowering-reducer-inl.h.

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

◆ AllocateHeapNumber()

template<typename Next >
V< HeapNumber > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::AllocateHeapNumber ( V< Float64 > value)
inlineprivate

Definition at line 3658 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ AllocateSeqTwoByteString()

template<typename Next >
Uninitialized< SeqTwoByteString > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::AllocateSeqTwoByteString ( uint32_t length,
AllocationType type )
inline

Definition at line 3550 of file machine-lowering-reducer-inl.h.

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

◆ ArgumentsLength()

template<typename Next >
V< Smi > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ArgumentsLength ( ArgumentsLengthOp::Kind kind,
int formal_parameter_count )
inline

Definition at line 2493 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ BigIntBinop()

template<typename Next >
V< BigInt > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::BigIntBinop ( V< BigInt > left,
V< BigInt > right,
V< FrameState > frame_state,
BigIntBinopOp::Kind kind )
inline

Definition at line 2135 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ BigIntComparison()

template<typename Next >
V< Boolean > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::BigIntComparison ( V< BigInt > left,
V< BigInt > right,
BigIntComparisonOp::Kind kind )
inline

Definition at line 2184 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ BigIntUnary()

template<typename Next >
V< BigInt > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::BigIntUnary ( V< BigInt > input,
BigIntUnaryOp::Kind kind )
inline

Definition at line 2197 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ BuildTypedArrayDataPointer()

template<typename Next >
V< WordPtr > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::BuildTypedArrayDataPointer ( V< Object > base,
V< WordPtr > external )
inlineprivate

Definition at line 3849 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ BuildUint32Mod()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::BuildUint32Mod ( V< Word32 > left,
V< Word32 > right )
inlineprivate

Definition at line 3590 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ CallBuiltinForBigIntOp()

template<typename Next >
OpIndex v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::CallBuiltinForBigIntOp ( Builtin builtin,
std::initializer_list< OpIndex > arguments )
inlineprivate

Definition at line 3804 of file machine-lowering-reducer-inl.h.

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

◆ ChangeOrDeopt()

template<typename Next >
V< Untagged > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ChangeOrDeopt ( V< Untagged > input,
V< FrameState > frame_state,
ChangeOrDeoptOp::Kind kind,
CheckForMinusZeroMode minus_zero_mode,
const FeedbackSource & feedback )
inline

Definition at line 70 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ CheckedClosure()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::CheckedClosure ( V< Object > input,
V< FrameState > frame_state,
Handle< FeedbackCell > feedback_cell )
inline

Definition at line 3102 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ CheckEqualsInternalizedString()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::CheckEqualsInternalizedString ( V< Object > expected,
V< Object > value,
V< FrameState > frame_state )
inline

Definition at line 3123 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ CheckMaps()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::CheckMaps ( V< HeapObject > heap_object,
V< FrameState > frame_state,
OptionalV< Map > map,
const ZoneRefSet< Map > & maps,
CheckMapsFlags flags,
const FeedbackSource & feedback )
inline

Definition at line 2844 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ CompareMapAgainstMultipleMaps()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::CompareMapAgainstMultipleMaps ( V< Map > heap_object_map,
const ZoneRefSet< Map > & maps )
inlineprivate

Definition at line 3892 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ CompareMaps()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::CompareMaps ( V< HeapObject > heap_object,
OptionalV< Map > map,
const ZoneRefSet< Map > & maps )
inline

Definition at line 2836 of file machine-lowering-reducer-inl.h.

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

◆ ComputeUnseededHash()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ComputeUnseededHash ( V< Word32 > value)
inlineprivate

Definition at line 3864 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ Convert()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::Convert ( V< Object > input,
ConvertOp::Kind from,
ConvertOp::Kind to )
inline

Definition at line 734 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ConvertHeapObjectToFloat64OrDeopt()

template<typename Next >
V< Float64 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ConvertHeapObjectToFloat64OrDeopt ( V< Object > heap_object,
V< FrameState > frame_state,
ConvertJSPrimitiveToUntaggedOrDeoptOp::JSPrimitiveKind input_kind,
const FeedbackSource & feedback )
inlineprivate

Definition at line 3662 of file machine-lowering-reducer-inl.h.

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

◆ ConvertJSPrimitiveToObject()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ConvertJSPrimitiveToObject ( V< JSPrimitive > value,
V< Context > native_context,
V< JSGlobalProxy > global_proxy,
ConvertReceiverMode mode )
inline

Definition at line 1578 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ConvertJSPrimitiveToUntagged()

template<typename Next >
V< Untagged > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ConvertJSPrimitiveToUntagged ( V< JSPrimitive > object,
ConvertJSPrimitiveToUntaggedOp::UntaggedKind kind,
ConvertJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions )
inline

Definition at line 1073 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ConvertJSPrimitiveToUntaggedOrDeopt()

template<typename Next >
V< Untagged > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ConvertJSPrimitiveToUntaggedOrDeopt ( V< Object > object,
V< FrameState > frame_state,
ConvertJSPrimitiveToUntaggedOrDeoptOp::JSPrimitiveKind from_kind,
ConvertJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind to_kind,
CheckForMinusZeroMode minus_zero_mode,
const FeedbackSource & feedback )
inline

Definition at line 1191 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ConvertUntaggedToJSPrimitive()

template<typename Next >
V< JSPrimitive > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ConvertUntaggedToJSPrimitive ( V< Untagged > input,
ConvertUntaggedToJSPrimitiveOp::JSPrimitiveKind kind,
RegisterRepresentation input_rep,
ConvertUntaggedToJSPrimitiveOp::InputInterpretation input_interpretation,
CheckForMinusZeroMode minus_zero_mode )
inline

Definition at line 772 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ConvertUntaggedToJSPrimitiveOrDeopt()

template<typename Next >
V< JSPrimitive > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ConvertUntaggedToJSPrimitiveOrDeopt ( V< Untagged > input,
V< FrameState > frame_state,
ConvertUntaggedToJSPrimitiveOrDeoptOp::JSPrimitiveKind kind,
RegisterRepresentation input_rep,
ConvertUntaggedToJSPrimitiveOrDeoptOp::InputInterpretation input_interpretation,
const FeedbackSource & feedback )
inline

Definition at line 1012 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ DeoptimizeIf()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::DeoptimizeIf ( V< Word32 > condition,
V< FrameState > frame_state,
bool negated,
const DeoptimizeParameters * parameters )
inline

Definition at line 215 of file machine-lowering-reducer-inl.h.

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

◆ DependOnNoUndetectableObjectsProtector()

template<typename Next >
bool v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::DependOnNoUndetectableObjectsProtector ( )
inlineprivate

Definition at line 3910 of file machine-lowering-reducer-inl.h.

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

◆ DoubleArrayMinMax()

template<typename Next >
V< Number > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::DoubleArrayMinMax ( V< JSArray > array,
DoubleArrayMinMaxOp::Kind kind )
inline

Definition at line 1759 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ EnsureWritableFastElements()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::EnsureWritableFastElements ( V< Object > object,
V< Object > elements )
inline

Definition at line 3230 of file machine-lowering-reducer-inl.h.

◆ FindOrderedHashEntry()

template<typename Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::FindOrderedHashEntry ( V< Object > data_structure,
OpIndex key,
FindOrderedHashEntryOp::Kind kind )
inline

Definition at line 3352 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ Float64Is()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::Float64Is ( V< Float64 > value,
NumericKind kind )
inline

Definition at line 604 of file machine-lowering-reducer-inl.h.

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

◆ Float64SameValue()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::Float64SameValue ( V< Float64 > left,
V< Float64 > right )
inline

Definition at line 3203 of file machine-lowering-reducer-inl.h.

◆ FloatUnary()

template<typename Next >
V< Float > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::FloatUnary ( V< Float > input,
FloatUnaryOp::Kind kind,
FloatRepresentation rep )
inline

Definition at line 2886 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ GetBuiltinForBigIntBinop()

template<typename Next >
Builtin v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::GetBuiltinForBigIntBinop ( BigIntBinopOp::Kind kind)
inlineprivate

Definition at line 3824 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ GetStringEncoding()

template<typename Next >
StringEncoding v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::GetStringEncoding ( V< String > string)
inline

Definition at line 1618 of file machine-lowering-reducer-inl.h.

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

◆ IsNonZero()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::IsNonZero ( V< Word32 > value)
inlineprivate

Definition at line 3654 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ JSAnyIsNotPrimitiveHeapObject()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::JSAnyIsNotPrimitiveHeapObject ( V< Object > value,
V< Map > value_map = V<Map>::Invalid() )
inline

Definition at line 1557 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ LoadFieldByIndex()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::LoadFieldByIndex ( V< Object > object,
V< Word32 > field_index )
inline

Definition at line 1789 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ LoadFromSeqString()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::LoadFromSeqString ( V< Object > receiver,
V< WordPtr > position,
V< Word32 > onebyte )
inlineprivate

Definition at line 3752 of file machine-lowering-reducer-inl.h.

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

◆ LoadMessage()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::LoadMessage ( V< WordPtr > offset)
inline

Definition at line 3182 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ LoadStackArgument()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::LoadStackArgument ( V< WordPtr > base,
V< WordPtr > index )
inline

Definition at line 2551 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ LoadSurrogatePairAt()

template<typename Next >
V< Word32 > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::LoadSurrogatePairAt ( V< String > string,
OptionalV< WordPtr > length,
V< WordPtr > index,
UnicodeEncoding encoding )
inline

Definition at line 3425 of file machine-lowering-reducer-inl.h.

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

◆ LoadTypedElement()

template<typename Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::LoadTypedElement ( OpIndex buffer,
V< Object > base,
V< WordPtr > external,
V< WordPtr > index,
ExternalArrayType array_type )
inline

Definition at line 2536 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ MaybeGrowFastElements()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::MaybeGrowFastElements ( V< Object > object,
V< Object > elements,
V< Word32 > index,
V< Word32 > elements_length,
V< FrameState > frame_state,
GrowFastElementsMode mode,
const FeedbackSource & feedback )
inline

Definition at line 3251 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ MigrateInstanceOrDeopt()

template<typename Next >
void v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::MigrateInstanceOrDeopt ( V< HeapObject > heap_object,
V< Map > heap_object_map,
V< FrameState > frame_state,
const FeedbackSource & feedback )
inlineprivate

Definition at line 3770 of file machine-lowering-reducer-inl.h.

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

◆ NeedsHeapObjectCheck()

template<typename Next >
bool v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::NeedsHeapObjectCheck ( ObjectIsOp::InputAssumptions input_assumptions)
inline

Definition at line 53 of file machine-lowering-reducer-inl.h.

Here is the caller graph for this function:

◆ NewArgumentsElements()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::NewArgumentsElements ( V< Smi > arguments_count,
CreateArgumentsType type,
int formal_parameter_count )
inline

Definition at line 2518 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ NewArray()

template<typename Next >
V< AnyFixedArray > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::NewArray ( V< WordPtr > length,
NewArrayOp::Kind kind,
AllocationType allocation_type )
inline

Definition at line 1694 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ NewConsString()

template<typename Next >
V< ConsString > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::NewConsString ( V< Word32 > length,
V< String > first,
V< String > second )
inline

Definition at line 1634 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ObjectIs()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ObjectIs ( V< Object > input,
ObjectIsOp::Kind kind,
ObjectIsOp::InputAssumptions input_assumptions )
inline

Definition at line 244 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ ObjectIsNumericValue()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::ObjectIsNumericValue ( V< Object > input,
NumericKind kind,
FloatRepresentation input_rep )
inline

Definition at line 700 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ RuntimeAbort()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::RuntimeAbort ( AbortReason reason)
inline

Definition at line 3224 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ SameValue()

template<typename Next >
V< Boolean > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::SameValue ( V< Object > left,
V< Object > right,
SameValueOp::Mode mode )
inline

Definition at line 3193 of file machine-lowering-reducer-inl.h.

◆ StoreMessage()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StoreMessage ( V< WordPtr > offset,
V< Object > object )
inline

Definition at line 3187 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ StoreTypedElement()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StoreTypedElement ( OpIndex buffer,
V< Object > base,
V< WordPtr > external,
V< WordPtr > index,
V< Any > value,
ExternalArrayType array_type )
inline

Definition at line 2570 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ StringAt()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringAt ( V< String > string,
V< WordPtr > pos,
StringAtOp::Kind kind )
inline

Definition at line 2202 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ StringComparison()

template<typename Next >
V< Boolean > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringComparison ( V< String > left,
V< String > right,
StringComparisonOp::Kind kind )
inline

Definition at line 2462 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ StringConcat()

template<typename Next >
V< String > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringConcat ( V< Smi > length,
V< String > left,
V< String > right )
inline

Definition at line 2455 of file machine-lowering-reducer-inl.h.

◆ StringFromCodePointAt()

template<typename Next >
V< String > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringFromCodePointAt ( V< String > string,
V< WordPtr > index )
inline

Definition at line 2430 of file machine-lowering-reducer-inl.h.

◆ StringFromSingleCharCode()

template<typename Next >
V< String > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringFromSingleCharCode ( V< Word32 > code)
inline

Definition at line 3473 of file machine-lowering-reducer-inl.h.

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

◆ StringFromSingleCodePoint()

template<typename Next >
V< String > v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringFromSingleCodePoint ( V< Word32 > codepoint,
UnicodeEncoding encoding )
inline

Definition at line 3503 of file machine-lowering-reducer-inl.h.

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

◆ StringIndexOf()

template<typename Next >
V< Smi > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringIndexOf ( V< String > string,
V< String > search,
V< Smi > position )
inline

Definition at line 2425 of file machine-lowering-reducer-inl.h.

◆ StringLength()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringLength ( V< String > string)
inline

Definition at line 2406 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ StringSubstring()

template<typename Next >
V< String > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::StringSubstring ( V< String > string,
V< Word32 > start,
V< Word32 > end )
inline

Definition at line 2448 of file machine-lowering-reducer-inl.h.

◆ TagSmiOrOverflow()

template<typename Next >
void v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TagSmiOrOverflow ( V< Word32 > input,
Label<> * overflow,
Label< Number > * done )
inlineprivate

Definition at line 3640 of file machine-lowering-reducer-inl.h.

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

◆ TransitionAndStoreArrayElement()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TransitionAndStoreArrayElement ( V< JSArray > array,
V< WordPtr > index,
OpIndex value,
TransitionAndStoreArrayElementOp::Kind kind,
MaybeHandle< Map > fast_map,
MaybeHandle< Map > double_map )
inline

Definition at line 2587 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ TransitionElementsKind()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TransitionElementsKind ( V< HeapObject > object,
const ElementsTransition & transition )
inline

Definition at line 3282 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ TransitionElementsKindOrCheckMap()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TransitionElementsKindOrCheckMap ( V< HeapObject > object,
V< Map > map,
V< FrameState > frame_state,
const ElementsTransitionWithMultipleSources & transition )
inline

Definition at line 3308 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ TransitionElementsTo()

template<typename Next >
void v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TransitionElementsTo ( V< JSArray > array,
ElementsKind from,
ElementsKind to,
Handle< Map > target_map )
inlineprivate

Definition at line 3877 of file machine-lowering-reducer-inl.h.

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

◆ TruncateJSPrimitiveToUntagged()

template<typename Next >
V< Word > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TruncateJSPrimitiveToUntagged ( V< JSPrimitive > object,
TruncateJSPrimitiveToUntaggedOp::UntaggedKind kind,
TruncateJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions )
inline

Definition at line 1379 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ TruncateJSPrimitiveToUntaggedOrDeopt()

template<typename Next >
V< Word > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TruncateJSPrimitiveToUntaggedOrDeopt ( V< JSPrimitive > input,
V< FrameState > frame_state,
TruncateJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind kind,
TruncateJSPrimitiveToUntaggedOrDeoptOp::InputRequirement input_requirement,
const FeedbackSource & feedback )
inline

Definition at line 1534 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ TryMigrateInstanceAndMarkMapAsMigrationTarget()

template<typename Next >
void v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TryMigrateInstanceAndMarkMapAsMigrationTarget ( V< HeapObject > heap_object,
V< Map > heap_object_map,
V< FrameState > frame_state,
const FeedbackSource & feedback )
inlineprivate

Definition at line 3788 of file machine-lowering-reducer-inl.h.

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

◆ TypedArrayLength()

template<typename Next >
V< WordPtr > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::TypedArrayLength ( V< JSTypedArray > typed_array,
ElementsKind elements_kind )
inline

Definition at line 2413 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

◆ Word32SignHint()

template<typename Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::Word32SignHint ( V< Word32 > input,
Word32SignHintOp::Sign  )
inline

Definition at line 64 of file machine-lowering-reducer-inl.h.

◆ WordBinopDeoptOnOverflow()

template<typename Next >
V< Word > REDUCE v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::WordBinopDeoptOnOverflow ( V< Word > left,
V< Word > right,
V< FrameState > frame_state,
WordBinopDeoptOnOverflowOp::Kind kind,
WordRepresentation rep,
FeedbackSource feedback,
CheckForMinusZeroMode mode )
inline

Definition at line 1884 of file machine-lowering-reducer-inl.h.

Here is the call graph for this function:

Member Data Documentation

◆ broker_

template<typename Next >
JSHeapBroker* v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::broker_ = __ data() -> broker()
private

Definition at line 3921 of file machine-lowering-reducer-inl.h.

◆ factory_

template<typename Next >
Factory* v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::factory_ = isolate_ ? isolate_->factory() : nullptr
private

Definition at line 3920 of file machine-lowering-reducer-inl.h.

◆ isolate_

template<typename Next >
Isolate* v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::isolate_ = __ data() -> isolate()
private

Definition at line 3919 of file machine-lowering-reducer-inl.h.

◆ undetectable_objects_protector_

template<typename Next >
std::optional<bool> v8::internal::compiler::turboshaft::MachineLoweringReducer< Next >::undetectable_objects_protector_ = {}
private

Definition at line 3922 of file machine-lowering-reducer-inl.h.


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