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

#include <operator.h>

Inheritance diagram for v8::internal::compiler::Operator1< T, Pred, Hash >:
Collaboration diagram for v8::internal::compiler::Operator1< T, Pred, Hash >:

Public Member Functions

 Operator1 (Opcode opcode, Properties properties, const char *mnemonic, size_t value_in, size_t effect_in, size_t control_in, size_t value_out, size_t effect_out, size_t control_out, T parameter, Pred const &pred=Pred(), Hash const &hash=Hash())
 
T const & parameter () const
 
bool Equals (const Operator *other) const final
 
size_t HashCode () const final
 
virtual void PrintParameter (std::ostream &os, PrintVerbosity verbose) const
 
void PrintToImpl (std::ostream &os, PrintVerbosity verbose) const override
 
void PrintParameter (std::ostream &os, PrintVerbosity verbose) const
 
void PrintParameter (std::ostream &os, PrintVerbosity verbose) const
 
- Public Member Functions inherited from v8::internal::compiler::Operator
 Operator (Opcode opcode, Properties properties, const char *mnemonic, size_t value_in, size_t effect_in, size_t control_in, size_t value_out, size_t effect_out, size_t control_out)
 
 Operator (const Operator &)=delete
 
Operatoroperator= (const Operator &)=delete
 
virtual ~Operator ()=default
 
constexpr Opcode opcode () const
 
const char * mnemonic () const
 
bool HasProperty (Property property) const
 
Properties properties () const
 
int ValueInputCount () const
 
int EffectInputCount () const
 
int ControlInputCount () const
 
int ValueOutputCount () const
 
int EffectOutputCount () const
 
int ControlOutputCount () const
 
void PrintTo (std::ostream &os, PrintVerbosity verbose=PrintVerbosity::kVerbose) const
 
void PrintPropsTo (std::ostream &os) const
 

Private Attributes

T const parameter_
 
Pred const pred_
 
Hash const hash_
 

Additional Inherited Members

- Public Types inherited from v8::internal::compiler::Operator
enum  Property {
  kNoProperties = 0 , kCommutative = 1 << 0 , kAssociative = 1 << 1 , kIdempotent = 1 << 2 ,
  kNoRead = 1 << 3 , kNoWrite = 1 << 4 , kNoThrow = 1 << 5 , kNoDeopt = 1 << 6 ,
  kFoldable = kNoRead | kNoWrite , kEliminatable = kNoDeopt | kNoWrite | kNoThrow , kKontrol = kNoDeopt | kFoldable | kNoThrow , kPure = kKontrol | kIdempotent
}
 
enum class  PrintVerbosity { kVerbose , kSilent }
 
using Opcode = uint16_t
 
using Properties = base::Flags<Property, uint8_t>
 
- Static Public Member Functions inherited from v8::internal::compiler::Operator
static size_t ZeroIfEliminatable (Properties properties)
 
static size_t ZeroIfNoThrow (Properties properties)
 
static size_t ZeroIfPure (Properties properties)
 
- Protected Member Functions inherited from v8::internal::compiler::Operator

Detailed Description

template<typename T, typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
class v8::internal::compiler::Operator1< T, Pred, Hash >

Definition at line 167 of file operator.h.

Constructor & Destructor Documentation

◆ Operator1()

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
v8::internal::compiler::Operator1< T, Pred, Hash >::Operator1 ( Opcode opcode,
Properties properties,
const char * mnemonic,
size_t value_in,
size_t effect_in,
size_t control_in,
size_t value_out,
size_t effect_out,
size_t control_out,
T parameter,
Pred const & pred = Pred(),
Hash const & hash = Hash() )
inline

Definition at line 169 of file operator.h.

Member Function Documentation

◆ Equals()

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
bool v8::internal::compiler::Operator1< T, Pred, Hash >::Equals ( const Operator * other) const
inlinefinalvirtual

Reimplemented from v8::internal::compiler::Operator.

Definition at line 181 of file operator.h.

Here is the call graph for this function:

◆ HashCode()

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
size_t v8::internal::compiler::Operator1< T, Pred, Hash >::HashCode ( ) const
inlinefinalvirtual

Reimplemented from v8::internal::compiler::Operator.

Definition at line 187 of file operator.h.

Here is the call graph for this function:

◆ parameter()

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
T const & v8::internal::compiler::Operator1< T, Pred, Hash >::parameter ( ) const
inline

Definition at line 179 of file operator.h.

Here is the caller graph for this function:

◆ PrintParameter() [1/3]

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
virtual void v8::internal::compiler::Operator1< T, Pred, Hash >::PrintParameter ( std::ostream & os,
PrintVerbosity verbose ) const
inlinevirtual

Definition at line 196 of file operator.h.

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

◆ PrintParameter() [2/3]

void v8::internal::compiler::Operator1< FieldAccess >::PrintParameter ( std::ostream & os,
PrintVerbosity verbose ) const

Definition at line 108 of file simplified-operator.cc.

◆ PrintParameter() [3/3]

void v8::internal::compiler::Operator1< FieldAccess >::PrintParameter ( std::ostream & os,
PrintVerbosity verbose ) const

◆ PrintToImpl()

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
void v8::internal::compiler::Operator1< T, Pred, Hash >::PrintToImpl ( std::ostream & os,
PrintVerbosity verbose ) const
inlineoverridevirtual

Reimplemented from v8::internal::compiler::Operator.

Definition at line 200 of file operator.h.

Here is the call graph for this function:

Member Data Documentation

◆ hash_

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
Hash const v8::internal::compiler::Operator1< T, Pred, Hash >::hash_
private

Definition at line 208 of file operator.h.

◆ parameter_

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
T const v8::internal::compiler::Operator1< T, Pred, Hash >::parameter_
private

Definition at line 206 of file operator.h.

◆ pred_

template<typename T , typename Pred = OpEqualTo<T>, typename Hash = OpHash<T>>
Pred const v8::internal::compiler::Operator1< T, Pred, Hash >::pred_
private

Definition at line 207 of file operator.h.


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