![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <operator.h>
Public Types | |
| 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> |
Public Member Functions | |
| 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 | |
| Operator & | operator= (const Operator &)=delete |
| virtual | ~Operator ()=default |
| constexpr Opcode | opcode () const |
| const char * | mnemonic () const |
| virtual bool | Equals (const Operator *that) const |
| virtual size_t | HashCode () 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 |
Static Public Member Functions | |
| static size_t | ZeroIfEliminatable (Properties properties) |
| static size_t | ZeroIfNoThrow (Properties properties) |
| static size_t | ZeroIfPure (Properties properties) |
Protected Member Functions | |
| virtual void | PrintToImpl (std::ostream &os, PrintVerbosity verbose) const |
Private Attributes | |
| const char * | mnemonic_ |
| Opcode | opcode_ |
| Properties | properties_ |
| uint32_t | value_in_ |
| uint32_t | effect_in_ |
| uint32_t | control_in_ |
| uint32_t | value_out_ |
| uint8_t | effect_out_ |
| uint32_t | control_out_ |
Definition at line 33 of file operator.h.
| using v8::internal::compiler::Operator::Opcode = uint16_t |
Definition at line 35 of file operator.h.
| using v8::internal::compiler::Operator::Properties = base::Flags<Property, uint8_t> |
Definition at line 60 of file operator.h.
|
strong |
| Enumerator | |
|---|---|
| kVerbose | |
| kSilent | |
Definition at line 61 of file operator.h.
| Enumerator | |
|---|---|
| kNoProperties | |
| kCommutative | |
| kAssociative | |
| kIdempotent | |
| kNoRead | |
| kNoWrite | |
| kNoThrow | |
| kNoDeopt | |
| kFoldable | |
| kEliminatable | |
| kKontrol | |
| kPure | |
Definition at line 39 of file operator.h.
| 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 ) |
Definition at line 27 of file operator.cc.
|
delete |
|
virtualdefault |
|
inline |
|
inline |
|
inline |
|
inline |
Reimplemented in v8::internal::compiler::Operator1< T, Pred, Hash >, v8::internal::compiler::Operator1< AtomicMemoryOrder >, v8::internal::compiler::Operator1< BigIntOperationParameters >, v8::internal::compiler::Operator1< BranchParameters >, v8::internal::compiler::Operator1< CheckFloat64HoleParameters >, v8::internal::compiler::Operator1< CheckForMinusZeroMode >, v8::internal::compiler::Operator1< CheckIfParameters >, v8::internal::compiler::Operator1< CheckMinusZeroParameters >, v8::internal::compiler::Operator1< CheckTaggedInputParameters >, v8::internal::compiler::Operator1< const char * >, v8::internal::compiler::Operator1< ConvertReceiverMode >, v8::internal::compiler::Operator1< DeoptimizeParameters >, v8::internal::compiler::Operator1< GrowFastElementsParameters >, v8::internal::compiler::Operator1< MachineRepresentation >, v8::internal::compiler::Operator1< NumberOperationParameters >, v8::internal::compiler::Operator1< ParameterInfo >, v8::internal::compiler::Operator1< RegionObservability >, v8::internal::compiler::Operator1< ShiftKind >, v8::internal::compiler::Operator1< size_t >, v8::internal::compiler::Operator1< SparseInputMask >, v8::internal::compiler::Operator1< StackCheckKind >, v8::internal::compiler::Operator1< StackSlotRepresentation >, v8::internal::compiler::Operator1< StoreRepresentation >, and v8::internal::compiler::Operator1< TruncateKind >.
Definition at line 84 of file operator.h.
|
inlinevirtual |
Reimplemented in v8::internal::compiler::Operator1< T, Pred, Hash >, v8::internal::compiler::Operator1< AtomicMemoryOrder >, v8::internal::compiler::Operator1< BigIntOperationParameters >, v8::internal::compiler::Operator1< BranchParameters >, v8::internal::compiler::Operator1< CheckFloat64HoleParameters >, v8::internal::compiler::Operator1< CheckForMinusZeroMode >, v8::internal::compiler::Operator1< CheckIfParameters >, v8::internal::compiler::Operator1< CheckMinusZeroParameters >, v8::internal::compiler::Operator1< CheckTaggedInputParameters >, v8::internal::compiler::Operator1< const char * >, v8::internal::compiler::Operator1< ConvertReceiverMode >, v8::internal::compiler::Operator1< DeoptimizeParameters >, v8::internal::compiler::Operator1< GrowFastElementsParameters >, v8::internal::compiler::Operator1< MachineRepresentation >, v8::internal::compiler::Operator1< NumberOperationParameters >, v8::internal::compiler::Operator1< ParameterInfo >, v8::internal::compiler::Operator1< RegionObservability >, v8::internal::compiler::Operator1< ShiftKind >, v8::internal::compiler::Operator1< size_t >, v8::internal::compiler::Operator1< SparseInputMask >, v8::internal::compiler::Operator1< StackCheckKind >, v8::internal::compiler::Operator1< StackSlotRepresentation >, v8::internal::compiler::Operator1< StoreRepresentation >, and v8::internal::compiler::Operator1< TruncateKind >.
Definition at line 91 of file operator.h.
|
inline |
|
inlineconstexpr |
Definition at line 75 of file operator.h.
| void v8::internal::compiler::Operator::PrintPropsTo | ( | std::ostream & | os | ) | const |
Definition at line 49 of file operator.cc.
|
inline |
|
protectedvirtual |
Reimplemented in v8::internal::compiler::Operator1< T, Pred, Hash >, v8::internal::compiler::Operator1< AtomicMemoryOrder >, v8::internal::compiler::Operator1< BigIntOperationParameters >, v8::internal::compiler::Operator1< BranchParameters >, v8::internal::compiler::Operator1< CheckFloat64HoleParameters >, v8::internal::compiler::Operator1< CheckForMinusZeroMode >, v8::internal::compiler::Operator1< CheckIfParameters >, v8::internal::compiler::Operator1< CheckMinusZeroParameters >, v8::internal::compiler::Operator1< CheckTaggedInputParameters >, v8::internal::compiler::Operator1< const char * >, v8::internal::compiler::Operator1< ConvertReceiverMode >, v8::internal::compiler::Operator1< DeoptimizeParameters >, v8::internal::compiler::Operator1< GrowFastElementsParameters >, v8::internal::compiler::Operator1< MachineRepresentation >, v8::internal::compiler::Operator1< NumberOperationParameters >, v8::internal::compiler::Operator1< ParameterInfo >, v8::internal::compiler::Operator1< RegionObservability >, v8::internal::compiler::Operator1< ShiftKind >, v8::internal::compiler::Operator1< size_t >, v8::internal::compiler::Operator1< SparseInputMask >, v8::internal::compiler::Operator1< StackCheckKind >, v8::internal::compiler::Operator1< StackSlotRepresentation >, v8::internal::compiler::Operator1< StoreRepresentation >, and v8::internal::compiler::Operator1< TruncateKind >.
Definition at line 45 of file operator.cc.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Definition at line 109 of file operator.h.
|
inlinestatic |
Definition at line 113 of file operator.h.
|
inlinestatic |
Definition at line 117 of file operator.h.
|
private |
Definition at line 143 of file operator.h.
|
private |
Definition at line 146 of file operator.h.
|
private |
Definition at line 142 of file operator.h.
|
private |
Definition at line 145 of file operator.h.
|
private |
Definition at line 138 of file operator.h.
|
private |
Definition at line 139 of file operator.h.
|
private |
Definition at line 140 of file operator.h.
|
private |
Definition at line 141 of file operator.h.
|
private |
Definition at line 144 of file operator.h.