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

Classes

class  ForBuilder0
 
class  ForBuilder1
 
class  TryCatchBuilder0
 

Public Types

using ConditionFunction1 = std::function<TNode<Boolean>(TNode<Number>)>
 
using StepFunction1 = std::function<TNode<Number>(TNode<Number>)>
 
using For1BodyFunction = std::function<void(TNode<Number>, TNode<Object>*)>
 
- Public Types inherited from v8::internal::compiler::JSGraphAssembler
using NodeGenerator0 = std::function<TNode<Object>()>
 
using VoidGenerator0 = std::function<void()>
 

Public Member Functions

 JSCallReducerAssembler (JSCallReducer *reducer, Node *node, Node *effect=nullptr, Node *control=nullptr)
 
TNode< ObjectReduceJSCallWithArrayLikeOrSpreadOfEmpty (std::unordered_set< Node * > *generated_calls_with_array_like_or_spread)
 
TNode< ObjectReduceMathUnary (const Operator *op)
 
TNode< ObjectReduceMathBinary (const Operator *op)
 
TNode< StringReduceStringPrototypeSubstring ()
 
TNode< BooleanReduceStringPrototypeStartsWith ()
 
TNode< BooleanReduceStringPrototypeStartsWith (StringRef search_element_string)
 
TNode< BooleanReduceStringPrototypeEndsWith ()
 
TNode< BooleanReduceStringPrototypeEndsWith (StringRef search_element_string)
 
TNode< StringReduceStringPrototypeCharAt ()
 
TNode< StringReduceStringPrototypeCharAt (StringRef s, uint32_t index)
 
TNode< StringReduceStringPrototypeSlice ()
 
TNode< ObjectReduceJSCallMathMinMaxWithArrayLike (Builtin builtin)
 
TNode< ObjectTargetInput () const
 
template<typename T >
TNode< TReceiverInputAs () const
 
TNode< ObjectReceiverInput () const
 
Nodenode_ptr () const
 
TNode< NumberSpeculativeToNumber (TNode< Object > value, NumberOperationHint hint=NumberOperationHint::kNumberOrOddball)
 
TNode< SmiCheckSmi (TNode< Object > value)
 
TNode< NumberCheckNumber (TNode< Object > value)
 
TNode< StringCheckString (TNode< Object > value)
 
TNode< NumberCheckBounds (TNode< Number > value, TNode< Number > limit, CheckBoundsFlags flags={})
 
TNode< SmiTypeGuardUnsignedSmall (TNode< Object > value)
 
TNode< ObjectTypeGuardNonInternal (TNode< Object > value)
 
TNode< NumberTypeGuardFixedArrayLength (TNode< Object > value)
 
TNode< ObjectCall4 (const Callable &callable, TNode< Context > context, TNode< Object > arg0, TNode< Object > arg1, TNode< Object > arg2, TNode< Object > arg3)
 
TNode< ObjectJSCall3 (TNode< Object > function, TNode< Object > this_arg, TNode< Object > arg0, TNode< Object > arg1, TNode< Object > arg2, FrameState frame_state)
 
TNode< ObjectJSCall4 (TNode< Object > function, TNode< Object > this_arg, TNode< Object > arg0, TNode< Object > arg1, TNode< Object > arg2, TNode< Object > arg3, FrameState frame_state)
 
TNode< ObjectCopyNode ()
 
TNode< JSArrayCreateArrayNoThrow (TNode< Object > ctor, TNode< Number > size, FrameState frame_state)
 
TNode< JSArrayAllocateEmptyJSArray (ElementsKind kind, NativeContextRef native_context)
 
TNode< NumberNumberInc (TNode< Number > value)
 
TNode< NumberLoadMapElementsKind (TNode< Map > map)
 
template<typename T , typename U >
TNode< TEnterMachineGraph (TNode< U > input, UseInfo use_info)
 
template<typename T , typename U >
TNode< TExitMachineGraph (TNode< U > input, MachineRepresentation output_representation, Type output_type)
 
void MaybeInsertMapChecks (MapInference *inference, bool has_stability_dependency)
 
TNode< ObjectConvertHoleToUndefined (TNode< Object > value, ElementsKind kind)
 
TryCatchBuilder0 Try (const VoidGenerator0 &try_body)
 
ForBuilder0 ForZeroUntil (TNode< Number > excluded_limit)
 
ForBuilder0 Forever (TNode< Number > initial_value, const StepFunction1 &step)
 
ForBuilder1 For1 (TNode< Number > initial_value, const ConditionFunction1 &cond, const StepFunction1 &step, TNode< Object > initial_arg0)
 
ForBuilder1 For1ZeroUntil (TNode< Number > excluded_limit, TNode< Object > initial_arg0)
 
void ThrowIfNotCallable (TNode< Object > maybe_callable, FrameState frame_state)
 
const FeedbackSourcefeedback () const
 
int ArgumentCount () const
 
TNode< ObjectArgument (int index) const
 
template<typename T >
TNode< TArgumentAs (int index) const
 
TNode< ObjectArgumentOrNaN (int index)
 
TNode< ObjectArgumentOrUndefined (int index)
 
TNode< NumberArgumentOrZero (int index)
 
TNode< ContextContextInput () const
 
FrameState FrameStateInput () const
 
CompilationDependenciesdependencies () const
 
- Public Member Functions inherited from v8::internal::compiler::JSGraphAssembler
 JSGraphAssembler (JSHeapBroker *broker, JSGraph *jsgraph, Zone *zone, BranchSemantics branch_semantics, std::optional< NodeChangedCallback > node_changed_callback=std::nullopt, bool mark_loop_exits=false)
 
TNode< SmiSmiConstant (int32_t value)
 
TNode< HeapObjectHeapConstant (Handle< HeapObject > object)
 
TNode< ObjectConstant (ObjectRef ref)
 
TNode< NumberNumberConstant (double value)
 
NodeCEntryStubConstant (int result_size)
 
NodeAllocate (AllocationType allocation, Node *size)
 
TNode< MapLoadMap (TNode< HeapObject > object)
 
NodeLoadField (FieldAccess const &, Node *object)
 
template<typename T >
TNode< TLoadField (FieldAccess const &access, TNode< HeapObject > object)
 
TNode< Uint32TLoadElementsKind (TNode< Map > map)
 
NodeLoadElement (ElementAccess const &, Node *object, Node *index)
 
template<typename T >
TNode< TLoadElement (ElementAccess const &access, TNode< HeapObject > object, TNode< Number > index)
 
NodeStoreField (FieldAccess const &, Node *object, Node *value)
 
NodeStoreElement (ElementAccess const &, Node *object, Node *index, Node *value)
 
NodeClearPendingMessage ()
 
void TransitionAndStoreElement (MapRef double_map, MapRef fast_map, TNode< HeapObject > object, TNode< Number > index, TNode< Object > value)
 
TNode< NumberStringLength (TNode< String > string)
 
TNode< BooleanReferenceEqual (TNode< Object > lhs, TNode< Object > rhs)
 
TNode< NumberPlainPrimitiveToNumber (TNode< Object > value)
 
TNode< NumberNumberMin (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberMax (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< BooleanNumberEqual (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< BooleanNumberLessThan (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< BooleanNumberLessThanOrEqual (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberAdd (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberSubtract (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberShiftRightLogical (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberBitwiseAnd (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberBitwiseOr (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberDivide (TNode< Number > lhs, TNode< Number > rhs)
 
TNode< NumberNumberFloor (TNode< Number > value)
 
TNode< StringStringSubstring (TNode< String > string, TNode< Number > from, TNode< Number > to)
 
TNode< BooleanObjectIsCallable (TNode< Object > value)
 
TNode< BooleanObjectIsSmi (TNode< Object > value)
 
TNode< BooleanObjectIsUndetectable (TNode< Object > value)
 
NodeBooleanNot (Node *cond)
 
NodeCheckSmi (Node *value, const FeedbackSource &feedback={})
 
NodeCheckNumber (Node *value, const FeedbackSource &feedback={})
 
NodeCheckNumberFitsInt32 (Node *value, const FeedbackSource &feedback={})
 
NodeCheckIf (Node *cond, DeoptimizeReason reason, const FeedbackSource &feedback={})
 
NodeAssert (Node *cond, const char *condition_string="", const char *file="", int line=-1)
 
void Assert (TNode< Word32T > cond, const char *condition_string="", const char *file="", int line=-1)
 
TNode< BooleanNumberIsFloat64Hole (TNode< Number > value)
 
TNode< BooleanToBoolean (TNode< Object > value)
 
TNode< ObjectConvertTaggedHoleToUndefined (TNode< Object > value)
 
TNode< FixedArrayBaseMaybeGrowFastElements (ElementsKind kind, const FeedbackSource &feedback, TNode< JSArray > array, TNode< FixedArrayBase > elements, TNode< Number > new_length, TNode< Number > old_length)
 
NodeStringCharCodeAt (TNode< String > string, TNode< Number > position)
 
TNode< StringStringFromSingleCharCode (TNode< Number > code)
 
TNode< ObjectDoubleArrayMax (TNode< JSArray > array)
 
TNode< ObjectDoubleArrayMin (TNode< JSArray > array)
 
TNode< NumberArrayBufferViewByteLength (TNode< JSArrayBufferView > array_buffer_view, InstanceType instance_type, std::set< ElementsKind > elements_kinds_candidates, TNode< Context > context)
 
TNode< Word32TArrayBufferDetachedBit (TNode< HeapObject > buffer)
 
TNode< Word32TArrayBufferViewDetachedBit (TNode< JSArrayBufferView > array_buffer_view)
 
TNode< NumberTypedArrayLength (TNode< JSTypedArray > typed_array, std::set< ElementsKind > elements_kinds_candidates, TNode< Context > context)
 
void CheckIfTypedArrayWasDetachedOrOutOfBounds (TNode< JSTypedArray > typed_array, std::set< ElementsKind > elements_kinds_candidates, const FeedbackSource &feedback)
 
TNode< Uint32TLookupByteShiftForElementsKind (TNode< Uint32T > elements_kind)
 
TNode< Uint32TLookupByteSizeForElementsKind (TNode< Uint32T > elements_kind)
 
TNode< ObjectJSCallRuntime1 (Runtime::FunctionId function_id, TNode< Object > arg0, TNode< Context > context, std::optional< FrameState > frame_state, Operator::Properties properties=Operator::kNoProperties)
 
TNode< ObjectJSCallRuntime2 (Runtime::FunctionId function_id, TNode< Object > arg0, TNode< Object > arg1, TNode< Context > context, FrameState frame_state)
 
NodeChained (const Operator *op, Node *input)
 
JSHeapBrokerbroker () const
 
JSGraphjsgraph () const
 
Isolateisolate () const
 
SimplifiedOperatorBuildersimplified () override
 
JSOperatorBuilderjavascript () const
 
template<typename T , typename U >
TNode< TEnterMachineGraph (TNode< U > input, UseInfo use_info)
 
template<typename T , typename U >
TNode< TExitMachineGraph (TNode< U > input, MachineRepresentation output_representation, Type output_type)
 
CatchScopecatch_scope () const
 
Nodeoutermost_handler () const
 
TNode< ObjectMayThrow (const NodeGenerator0 &body)
 
IfBuilder0 If (TNode< Boolean > cond)
 
IfBuilder0 IfNot (TNode< Boolean > cond)
 
template<typename T >
IfBuilder1< T, BooleanSelectIf (TNode< Boolean > cond)
 
template<typename T >
IfBuilder1< T, BooleanSelectIfNot (TNode< Boolean > cond)
 
template<typename T >
IfBuilder1< T, Word32TMachineSelectIf (TNode< Word32T > cond)
 
template<typename T >
TNode< TMachineSelect (TNode< Word32T > cond, TNode< T > true_value, TNode< T > false_value, BranchHint hint=BranchHint::kNone)
 
- Public Member Functions inherited from v8::internal::compiler::GraphAssembler
 GraphAssembler (MachineGraph *jsgraph, Zone *zone, BranchSemantics default_branch_semantics, std::optional< NodeChangedCallback > node_changed_callback=std::nullopt, bool mark_loop_exits=false)
 
virtual ~GraphAssembler ()
 
void Reset ()
 
void InitializeEffectControl (Node *effect, Node *control)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeLabelFor (GraphAssemblerLabelType type, Reps... reps)
 
GraphAssemblerDynamicLabel MakeLabelFor (GraphAssemblerLabelType type, base::SmallVector< MachineRepresentation, 4 > reps)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeLabel (Reps... reps)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeLoopLabel (Reps... reps)
 
template<typename... Reps>
detail::GraphAssemblerLabelForReps< Reps... > MakeDeferredLabel (Reps... reps)
 
NodeIntPtrConstant (intptr_t value)
 
TNode< UintPtrTUintPtrConstant (uintptr_t value)
 
NodeInt32Constant (int32_t value)
 
TNode< Uint32TUint32Constant (uint32_t value)
 
NodeInt64Constant (int64_t value)
 
NodeUint64Constant (uint64_t value)
 
NodeUniqueIntPtrConstant (intptr_t value)
 
NodeFloat64Constant (double value)
 
NodeExternalConstant (ExternalReference ref)
 
NodeIsolateField (IsolateFieldId id)
 
NodeProjection (int index, Node *value, Node *ctrl=nullptr)
 
NodeParameter (int index)
 
NodeLoadFramePointer ()
 
NodeLoadRootRegister ()
 
NodeLoadHeapNumberValue (Node *heap_number)
 
TNode< BoolTUintPtrLessThan (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< BoolTUintPtrLessThanOrEqual (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrTUintPtrAdd (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrTUintPtrSub (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrTUintPtrDiv (TNode< UintPtrT > left, TNode< UintPtrT > right)
 
TNode< UintPtrTChangeUint32ToUintPtr (SloppyTNode< Uint32T > value)
 
TNode< MapLoadMap (Node *object)
 
NodeDebugBreak ()
 
NodeUnreachable ()
 
NodeUnreachableWithoutConnectToEnd ()
 
NodeIntPtrEqual (Node *left, Node *right)
 
NodeTaggedEqual (Node *left, Node *right)
 
NodeSmiSub (Node *left, Node *right)
 
NodeSmiLessThan (Node *left, Node *right)
 
NodeFloat64RoundDown (Node *value)
 
NodeFloat64RoundTruncate (Node *value)
 
NodeTruncateFloat64ToInt64 (Node *value, TruncateKind kind)
 
NodeBitcastWordToTagged (Node *value)
 
NodeBitcastWordToTaggedSigned (Node *value)
 
NodeBitcastTaggedToWord (Node *value)
 
NodeBitcastTaggedToWordForTagAndSmiBits (Node *value)
 
NodeBitcastMaybeObjectToWord (Node *value)
 
NodeTypeGuard (Type type, Node *value)
 
template<typename T >
TNode< TTypeGuard (Type type, TNode< T > value)
 
NodeCheckpoint (FrameState frame_state)
 
TNode< RawPtrTStackSlot (int size, int alignment, bool is_tagged=false)
 
NodeAdaptLocalArgument (Node *argument)
 
NodeStore (StoreRepresentation rep, Node *object, Node *offset, Node *value)
 
NodeStore (StoreRepresentation rep, Node *object, int offset, Node *value)
 
NodeLoad (MachineType type, Node *object, Node *offset)
 
NodeLoad (MachineType type, Node *object, int offset)
 
NodeStoreUnaligned (MachineRepresentation rep, Node *object, Node *offset, Node *value)
 
NodeLoadUnaligned (MachineType type, Node *object, Node *offset)
 
NodeProtectedStore (MachineRepresentation rep, Node *object, Node *offset, Node *value)
 
NodeProtectedLoad (MachineType type, Node *object, Node *offset)
 
NodeLoadTrapOnNull (MachineType type, Node *object, Node *offset)
 
NodeStoreTrapOnNull (StoreRepresentation rep, Node *object, Node *offset, Node *value)
 
NodeRetain (Node *buffer)
 
NodeIntPtrAdd (Node *a, Node *b)
 
NodeIntPtrSub (Node *a, Node *b)
 
NodeDeoptimizeIf (DeoptimizeReason reason, FeedbackSource const &feedback, Node *condition, Node *frame_state)
 
NodeDeoptimizeIfNot (DeoptimizeReason reason, FeedbackSource const &feedback, Node *condition, Node *frame_state)
 
TNode< ObjectCall (const CallDescriptor *call_descriptor, int inputs_size, Node **inputs)
 
TNode< ObjectCall (const Operator *op, int inputs_size, Node **inputs)
 
template<typename... Args>
TNode< ObjectCall (const CallDescriptor *call_descriptor, Node *first_arg, Args... args)
 
template<typename... Args>
TNode< ObjectCall (const Operator *op, Node *first_arg, Args... args)
 
void TailCall (const CallDescriptor *call_descriptor, int inputs_size, Node **inputs)
 
template<size_t VarCount>
void Bind (GraphAssemblerLabel< VarCount > *label)
 
template<typename... Vars>
void Goto (detail::GraphAssemblerLabelForVars< Vars... > *label, Vars...)
 
void BranchWithCriticalSafetyCheck (Node *condition, GraphAssemblerLabel< 0u > *if_true, GraphAssemblerLabel< 0u > *if_false)
 
template<typename... Vars>
void Branch (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *if_true, detail::GraphAssemblerLabelForVars< Vars... > *if_false, Vars...)
 
template<typename... Vars>
void BranchWithHint (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *if_true, detail::GraphAssemblerLabelForVars< Vars... > *if_false, BranchHint hint, Vars...)
 
template<typename... Vars>
void MachineBranch (TNode< Word32T > condition, GraphAssemblerLabel< sizeof...(Vars)> *if_true, GraphAssemblerLabel< sizeof...(Vars)> *if_false, BranchHint hint, Vars...)
 
template<typename... Vars>
void JSBranch (TNode< Boolean > condition, GraphAssemblerLabel< sizeof...(Vars)> *if_true, GraphAssemblerLabel< sizeof...(Vars)> *if_false, BranchHint hint, Vars...)
 
template<typename... Vars>
void GotoIf (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, BranchHint hint, Vars...)
 
template<typename... Vars>
void GotoIfNot (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, BranchHint hint, Vars...)
 
template<typename... Vars>
void GotoIf (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, Vars...)
 
template<typename... Vars>
void GotoIfNot (Node *condition, detail::GraphAssemblerLabelForVars< Vars... > *label, Vars...)
 
void RuntimeAbort (AbortReason reason)
 
bool HasActiveBlock () const
 
V8_INLINE void UpdateEffectControlWith (Node *node)
 
NodeAddNode (Node *node)
 
template<typename T >
TNode< TAddNode (Node *node)
 
void ConnectUnreachableToEnd ()
 
void AddInlineReducer (Reducer *reducer)
 
Control control () const
 
Effect effect () const
 
Nodestart () const
 

Private Attributes

CompilationDependencies *const dependencies_
 
Node *const node_
 

Static Private Attributes

static constexpr bool kMarkLoopExits = true
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::compiler::JSGraphAssembler
Operator const * PlainPrimitiveToNumberOperator ()
 
- Protected Member Functions inherited from v8::internal::compiler::GraphAssembler
constexpr bool Is64 () const
 
template<typename... Vars>
void MergeState (detail::GraphAssemblerLabelForVars< Vars... > *label, Vars... vars)
 
V8_INLINE NodeAddClonedNode (Node *node)
 
MachineGraphmcgraph () const
 
TFGraphgraph () const
 
Zonetemp_zone () const
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
- Protected Attributes inherited from v8::internal::compiler::JSGraphAssembler
CatchScope outermost_catch_scope_
 
Nodeoutermost_handler_
 
CatchScopecatch_scope_
 

Detailed Description

Definition at line 56 of file js-call-reducer.cc.

Member Typedef Documentation

◆ ConditionFunction1

◆ For1BodyFunction

◆ StepFunction1

Constructor & Destructor Documentation

◆ JSCallReducerAssembler()

v8::internal::compiler::JSCallReducerAssembler::JSCallReducerAssembler ( JSCallReducer * reducer,
Node * node,
Node * effect = nullptr,
Node * control = nullptr )
inline

Definition at line 60 of file js-call-reducer.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AllocateEmptyJSArray()

TNode< JSArray > v8::internal::compiler::JSCallReducerAssembler::AllocateEmptyJSArray ( ElementsKind kind,
NativeContextRef native_context )

Definition at line 879 of file js-call-reducer.cc.

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

◆ Argument()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::Argument ( int index) const
inline

Definition at line 387 of file js-call-reducer.cc.

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

◆ ArgumentAs()

template<typename T >
TNode< T > v8::internal::compiler::JSCallReducerAssembler::ArgumentAs ( int index) const
inline

Definition at line 392 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ArgumentCount()

int v8::internal::compiler::JSCallReducerAssembler::ArgumentCount ( ) const
inline

Definition at line 385 of file js-call-reducer.cc.

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

◆ ArgumentOrNaN()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ArgumentOrNaN ( int index)
inline

Definition at line 396 of file js-call-reducer.cc.

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

◆ ArgumentOrUndefined()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ArgumentOrUndefined ( int index)
inline

Definition at line 401 of file js-call-reducer.cc.

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

◆ ArgumentOrZero()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::ArgumentOrZero ( int index)
inline

Definition at line 406 of file js-call-reducer.cc.

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

◆ Call4()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::Call4 ( const Callable & callable,
TNode< Context > context,
TNode< Object > arg0,
TNode< Object > arg1,
TNode< Object > arg2,
TNode< Object > arg3 )

Definition at line 816 of file js-call-reducer.cc.

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

◆ CheckBounds()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::CheckBounds ( TNode< Number > value,
TNode< Number > limit,
CheckBoundsFlags flags = {} )

Definition at line 791 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ CheckNumber()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::CheckNumber ( TNode< Object > value)

Definition at line 781 of file js-call-reducer.cc.

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

◆ CheckSmi()

TNode< Smi > v8::internal::compiler::JSCallReducerAssembler::CheckSmi ( TNode< Object > value)

Definition at line 776 of file js-call-reducer.cc.

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

◆ CheckString()

TNode< String > v8::internal::compiler::JSCallReducerAssembler::CheckString ( TNode< Object > value)

Definition at line 786 of file js-call-reducer.cc.

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

◆ ContextInput()

TNode< Context > v8::internal::compiler::JSCallReducerAssembler::ContextInput ( ) const
inline

Definition at line 411 of file js-call-reducer.cc.

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

◆ ConvertHoleToUndefined()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ConvertHoleToUndefined ( TNode< Object > value,
ElementsKind kind )
inline

Definition at line 173 of file js-call-reducer.cc.

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

◆ CopyNode()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::CopyNode ( )

Definition at line 863 of file js-call-reducer.cc.

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

◆ CreateArrayNoThrow()

TNode< JSArray > v8::internal::compiler::JSCallReducerAssembler::CreateArrayNoThrow ( TNode< Object > ctor,
TNode< Number > size,
FrameState frame_state )

Definition at line 872 of file js-call-reducer.cc.

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

◆ dependencies()

CompilationDependencies * v8::internal::compiler::JSCallReducerAssembler::dependencies ( ) const
inline

Definition at line 420 of file js-call-reducer.cc.

◆ EnterMachineGraph()

template<typename T , typename U >
TNode< T > v8::internal::compiler::JSCallReducerAssembler::EnterMachineGraph ( TNode< U > input,
UseInfo use_info )
inline

Definition at line 149 of file js-call-reducer.cc.

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

◆ ExitMachineGraph()

template<typename T , typename U >
TNode< T > v8::internal::compiler::JSCallReducerAssembler::ExitMachineGraph ( TNode< U > input,
MachineRepresentation output_representation,
Type output_type )
inline

Definition at line 155 of file js-call-reducer.cc.

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

◆ feedback()

const FeedbackSource & v8::internal::compiler::JSCallReducerAssembler::feedback ( ) const
inline

Definition at line 380 of file js-call-reducer.cc.

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

◆ For1()

ForBuilder1 v8::internal::compiler::JSCallReducerAssembler::For1 ( TNode< Number > initial_value,
const ConditionFunction1 & cond,
const StepFunction1 & step,
TNode< Object > initial_arg0 )
inline

Definition at line 352 of file js-call-reducer.cc.

Here is the caller graph for this function:

◆ For1ZeroUntil()

ForBuilder1 v8::internal::compiler::JSCallReducerAssembler::For1ZeroUntil ( TNode< Number > excluded_limit,
TNode< Object > initial_arg0 )
inline

Definition at line 357 of file js-call-reducer.cc.

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

◆ Forever()

ForBuilder0 v8::internal::compiler::JSCallReducerAssembler::Forever ( TNode< Number > initial_value,
const StepFunction1 & step )
inline

Definition at line 285 of file js-call-reducer.cc.

Here is the caller graph for this function:

◆ ForZeroUntil()

ForBuilder0 v8::internal::compiler::JSCallReducerAssembler::ForZeroUntil ( TNode< Number > excluded_limit)
inline

Definition at line 274 of file js-call-reducer.cc.

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

◆ FrameStateInput()

FrameState v8::internal::compiler::JSCallReducerAssembler::FrameStateInput ( ) const
inline

Definition at line 416 of file js-call-reducer.cc.

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

◆ JSCall3()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::JSCall3 ( TNode< Object > function,
TNode< Object > this_arg,
TNode< Object > arg0,
TNode< Object > arg1,
TNode< Object > arg2,
FrameState frame_state )

Definition at line 830 of file js-call-reducer.cc.

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

◆ JSCall4()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::JSCall4 ( TNode< Object > function,
TNode< Object > this_arg,
TNode< Object > arg0,
TNode< Object > arg1,
TNode< Object > arg2,
TNode< Object > arg3,
FrameState frame_state )

Definition at line 846 of file js-call-reducer.cc.

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

◆ LoadMapElementsKind()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::LoadMapElementsKind ( TNode< Map > map)

Definition at line 901 of file js-call-reducer.cc.

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

◆ MaybeInsertMapChecks()

void v8::internal::compiler::JSCallReducerAssembler::MaybeInsertMapChecks ( MapInference * inference,
bool has_stability_dependency )
inline

Definition at line 162 of file js-call-reducer.cc.

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

◆ node_ptr()

Node * v8::internal::compiler::JSCallReducerAssembler::node_ptr ( ) const
inline

Definition at line 103 of file js-call-reducer.cc.

Here is the caller graph for this function:

◆ NumberInc()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::NumberInc ( TNode< Number > value)
inline

Definition at line 142 of file js-call-reducer.cc.

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

◆ ReceiverInput()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ReceiverInput ( ) const
inline

Definition at line 101 of file js-call-reducer.cc.

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

◆ ReceiverInputAs()

template<typename T >
TNode< T > v8::internal::compiler::JSCallReducerAssembler::ReceiverInputAs ( ) const
inline

Definition at line 97 of file js-call-reducer.cc.

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

◆ ReduceJSCallMathMinMaxWithArrayLike()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ReduceJSCallMathMinMaxWithArrayLike ( Builtin builtin)

Definition at line 1229 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceJSCallWithArrayLikeOrSpreadOfEmpty()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ReduceJSCallWithArrayLikeOrSpreadOfEmpty ( std::unordered_set< Node * > * generated_calls_with_array_like_or_spread)

Definition at line 5173 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceMathBinary()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ReduceMathBinary ( const Operator * op)

Definition at line 916 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceMathUnary()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::ReduceMathUnary ( const Operator * op)

Definition at line 910 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeCharAt() [1/2]

TNode< String > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeCharAt ( )

Definition at line 1169 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeCharAt() [2/2]

TNode< String > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeCharAt ( StringRef s,
uint32_t index )

Definition at line 1142 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeEndsWith() [1/2]

TNode< Boolean > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeEndsWith ( )

Definition at line 1091 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeEndsWith() [2/2]

TNode< Boolean > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeEndsWith ( StringRef search_element_string)

Definition at line 1043 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeSlice()

TNode< String > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeSlice ( )

Definition at line 1185 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeStartsWith() [1/2]

TNode< Boolean > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeStartsWith ( )

Definition at line 995 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeStartsWith() [2/2]

TNode< Boolean > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeStartsWith ( StringRef search_element_string)

Definition at line 950 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ ReduceStringPrototypeSubstring()

TNode< String > v8::internal::compiler::JSCallReducerAssembler::ReduceStringPrototypeSubstring ( )

Definition at line 925 of file js-call-reducer.cc.

Here is the call graph for this function:

◆ SpeculativeToNumber()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::SpeculativeToNumber ( TNode< Object > value,
NumberOperationHint hint = NumberOperationHint::kNumberOrOddball )

Definition at line 769 of file js-call-reducer.cc.

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

◆ TargetInput()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::TargetInput ( ) const
inline

Definition at line 94 of file js-call-reducer.cc.

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

◆ ThrowIfNotCallable()

void v8::internal::compiler::JSCallReducerAssembler::ThrowIfNotCallable ( TNode< Object > maybe_callable,
FrameState frame_state )
inline

Definition at line 369 of file js-call-reducer.cc.

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

◆ Try()

TryCatchBuilder0 v8::internal::compiler::JSCallReducerAssembler::Try ( const VoidGenerator0 & try_body)
inline

Definition at line 222 of file js-call-reducer.cc.

Here is the caller graph for this function:

◆ TypeGuardFixedArrayLength()

TNode< Number > v8::internal::compiler::JSCallReducerAssembler::TypeGuardFixedArrayLength ( TNode< Object > value)

Definition at line 808 of file js-call-reducer.cc.

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

◆ TypeGuardNonInternal()

TNode< Object > v8::internal::compiler::JSCallReducerAssembler::TypeGuardNonInternal ( TNode< Object > value)

Definition at line 803 of file js-call-reducer.cc.

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

◆ TypeGuardUnsignedSmall()

TNode< Smi > v8::internal::compiler::JSCallReducerAssembler::TypeGuardUnsignedSmall ( TNode< Object > value)

Definition at line 799 of file js-call-reducer.cc.

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

Member Data Documentation

◆ dependencies_

CompilationDependencies* const v8::internal::compiler::JSCallReducerAssembler::dependencies_
private

Definition at line 423 of file js-call-reducer.cc.

◆ kMarkLoopExits

bool v8::internal::compiler::JSCallReducerAssembler::kMarkLoopExits = true
staticconstexprprivate

Definition at line 57 of file js-call-reducer.cc.

◆ node_

Node* const v8::internal::compiler::JSCallReducerAssembler::node_
private

Definition at line 424 of file js-call-reducer.cc.


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