V8 Project
|
#include <operator.h>
Public Types | |
enum | Property { kNoProperties = 0 , kReducible = 1 << 0 , kCommutative = 1 << 1 , kAssociative = 1 << 2 , kIdempotent = 1 << 3 , kNoRead = 1 << 4 , kNoWrite = 1 << 5 , kNoThrow = 1 << 6 , kFoldable = kNoRead | kNoWrite , kEliminatable = kNoWrite | kNoThrow , kPure = kNoRead | kNoWrite | kNoThrow | kIdempotent } |
typedef uint8_t | Opcode |
typedef base::Flags< Property, uint8_t > | Properties |
Public Member Functions | |
Operator (Opcode opcode, Properties properties, const char *mnemonic) | |
virtual | ~Operator () |
Opcode | opcode () const |
const char * | mnemonic () const |
virtual bool | Equals (const Operator *other) const =0 |
virtual int | HashCode () const =0 |
bool | HasProperty (Property property) const |
virtual int | InputCount () const =0 |
virtual int | OutputCount () const =0 |
Properties | properties () const |
![]() | |
INLINE (void *operator new(size_t size, Zone *zone)) | |
void | operator delete (void *, size_t) |
void | operator delete (void *pointer, Zone *zone) |
Protected Member Functions | |
virtual OStream & | PrintTo (OStream &os) const =0 |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (Operator) | |
Private Attributes | |
Opcode | opcode_ |
Properties | properties_ |
const char * | mnemonic_ |
Friends | |
OStream & | operator<< (OStream &os, const Operator &op) |
Definition at line 28 of file operator.h.
typedef uint8_t v8::internal::compiler::Operator::Opcode |
Definition at line 30 of file operator.h.
typedef base::Flags<Property, uint8_t> v8::internal::compiler::Operator::Properties |
Definition at line 48 of file operator.h.
Enumerator | |
---|---|
kNoProperties | |
kReducible | |
kCommutative | |
kAssociative | |
kIdempotent | |
kNoRead | |
kNoWrite | |
kNoThrow | |
kFoldable | |
kEliminatable | |
kPure |
Definition at line 34 of file operator.h.
|
inline |
Definition at line 50 of file operator.h.
|
virtual |
Definition at line 11 of file operator.cc.
|
private |
|
pure virtual |
Definition at line 74 of file operator.h.
References properties().
Referenced by v8::internal::compiler::OperatorProperties::GetControlInputCount(), v8::internal::compiler::OperatorProperties::GetEffectInputCount(), and v8::internal::compiler::NodeMatcher::HasProperty().
|
pure virtual |
Implemented in v8::internal::compiler::Operator1< T >, v8::internal::compiler::Operator1< int >, and v8::internal::compiler::SimpleOperator.
Referenced by v8::internal::compiler::OperatorProperties::GetValueInputCount(), v8::internal::compiler::StructuredGraphBuilder::MakeNode(), and v8::internal::compiler::Graph::NewNode().
|
inline |
Definition at line 61 of file operator.h.
References mnemonic_.
Referenced by v8::internal::compiler::SimpleOperator::PrintTo(), and v8::internal::compiler::Operator1< T >::PrintTo().
|
inline |
Definition at line 57 of file operator.h.
References opcode_.
Referenced by v8::internal::compiler::ElementAccessOf(), v8::internal::compiler::Operator1< T >::Equals(), v8::internal::compiler::SimpleOperator::Equals(), v8::internal::compiler::FieldAccessOf(), v8::internal::compiler::FindInsertionPoint(), v8::internal::compiler::OperatorProperties::GetControlInputCount(), v8::internal::compiler::OperatorProperties::GetControlOutputCount(), v8::internal::compiler::OperatorProperties::GetEffectInputCount(), v8::internal::compiler::OperatorProperties::HasContextInput(), v8::internal::compiler::OperatorProperties::HasControlOutput(), v8::internal::compiler::OperatorProperties::HasEffectOutput(), v8::internal::compiler::OperatorProperties::HasFrameStateInput(), v8::internal::compiler::SimpleOperator::HashCode(), v8::internal::compiler::Operator1< T >::HashCode(), v8::internal::compiler::OperatorProperties::IsBasicBlockBegin(), v8::internal::compiler::RawMachineAssembler::MakeNode(), v8::internal::compiler::NodeData::opcode(), and v8::internal::compiler::TEST_P().
|
pure virtual |
Implemented in v8::internal::compiler::Operator1< T >, v8::internal::compiler::Operator1< int >, and v8::internal::compiler::SimpleOperator.
Referenced by v8::internal::compiler::OperatorProperties::GetValueOutputCount().
|
inline |
Definition at line 84 of file operator.h.
References properties_.
Referenced by HasProperty(), and v8::internal::compiler::TEST_P().
|
private |
Definition at line 96 of file operator.h.
Referenced by mnemonic().
|
private |
Definition at line 94 of file operator.h.
Referenced by opcode().
|
private |
Definition at line 95 of file operator.h.
Referenced by properties().