v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode > Struct Template Reference

#include <node-matchers.h>

Inheritance diagram for v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >:
Collaboration diagram for v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >:

Public Types

using Matcher = ScaleMatcher<BinopMatcher, kMulOpcode, kShiftOpcode>
 
- Public Types inherited from v8::internal::compiler::BinopMatcher< Left, Right, rep >
using LeftMatcher = Left
 
using RightMatcher = Right
 

Public Member Functions

 AddMatcher (Node *node, bool allow_input_swap)
 
 AddMatcher (Node *node)
 
bool HasIndexInput () const
 
NodeIndexInput () const
 
int scale () const
 
bool power_of_two_plus_one () const
 
- Public Member Functions inherited from v8::internal::compiler::BinopMatcher< Left, Right, rep >
 BinopMatcher (Node *node)
 
 BinopMatcher (Node *node, bool allow_input_swap)
 
const Left & left () const
 
const Right & right () const
 
bool IsFoldable () const
 
bool LeftEqualsRight () const
 
bool OwnsInput (Node *input)
 
- Public Member Functions inherited from v8::internal::compiler::NodeMatcher
 NodeMatcher (Node *node)
 
Nodenode () const
 
const Operatorop () const
 
IrOpcode::Value opcode () const
 
bool HasProperty (Operator::Property property) const
 
NodeInputAt (int index) const
 
bool Equals (const Node *node) const
 
bool IsComparison () const
 

Static Public Attributes

static const IrOpcode::Value kAddOpcode = AddOpcode
 
static const IrOpcode::Value kSubOpcode = SubOpcode
 
- Static Public Attributes inherited from v8::internal::compiler::BinopMatcher< Left, Right, rep >
static constexpr MachineRepresentation representation = rep
 

Private Member Functions

void Initialize (Node *node, bool allow_input_swap)
 

Private Attributes

int scale_
 
bool power_of_two_plus_one_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::compiler::BinopMatcher< Left, Right, rep >
void SwapInputs ()
 

Detailed Description

template<class BinopMatcher, IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
struct v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >

Definition at line 424 of file node-matchers.h.

Member Typedef Documentation

◆ Matcher

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
using v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::Matcher = ScaleMatcher<BinopMatcher, kMulOpcode, kShiftOpcode>

Definition at line 427 of file node-matchers.h.

Constructor & Destructor Documentation

◆ AddMatcher() [1/2]

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::AddMatcher ( Node * node,
bool allow_input_swap )
inline

Definition at line 429 of file node-matchers.h.

◆ AddMatcher() [2/2]

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::AddMatcher ( Node * node)
inlineexplicit

Definition at line 435 of file node-matchers.h.

Member Function Documentation

◆ HasIndexInput()

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
bool v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::HasIndexInput ( ) const
inline

Definition at line 442 of file node-matchers.h.

Here is the caller graph for this function:

◆ IndexInput()

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
Node * v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::IndexInput ( ) const
inline

Definition at line 443 of file node-matchers.h.

Here is the caller graph for this function:

◆ Initialize()

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
void v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::Initialize ( Node * node,
bool allow_input_swap )
inlineprivate

Definition at line 454 of file node-matchers.h.

Here is the call graph for this function:

◆ power_of_two_plus_one()

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
bool v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::power_of_two_plus_one ( ) const
inline

Definition at line 451 of file node-matchers.h.

Here is the caller graph for this function:

◆ scale()

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
int v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::scale ( ) const
inline

Definition at line 447 of file node-matchers.h.

Here is the caller graph for this function:

Member Data Documentation

◆ kAddOpcode

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
const IrOpcode::Value v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::kAddOpcode = AddOpcode
static

Definition at line 425 of file node-matchers.h.

◆ kSubOpcode

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
const IrOpcode::Value v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::kSubOpcode = SubOpcode
static

Definition at line 426 of file node-matchers.h.

◆ power_of_two_plus_one_

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
bool v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::power_of_two_plus_one_
private

Definition at line 483 of file node-matchers.h.

◆ scale_

template<class BinopMatcher , IrOpcode::Value AddOpcode, IrOpcode::Value SubOpcode, IrOpcode::Value kMulOpcode, IrOpcode::Value kShiftOpcode>
int v8::internal::compiler::AddMatcher< BinopMatcher, AddOpcode, SubOpcode, kMulOpcode, kShiftOpcode >::scale_
private

Definition at line 482 of file node-matchers.h.


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