v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
machine-operator.h File Reference
Include dependency graph for machine-operator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::compiler::OptionalOperator
 
class  v8::internal::compiler::AtomicLoadParameters
 
class  v8::internal::compiler::AtomicOpParameters
 
struct  v8::internal::compiler::LoadTransformParameters
 
struct  v8::internal::compiler::LoadLaneParameters
 
class  v8::internal::compiler::StoreRepresentation
 
struct  v8::internal::compiler::StorePairRepresentation
 
class  v8::internal::compiler::AtomicStoreParameters
 
struct  v8::internal::compiler::StoreLaneParameters
 
class  v8::internal::compiler::StackSlotRepresentation
 
class  v8::internal::compiler::SimdImmediateParameter< simd_size, typename >
 
class  v8::internal::compiler::MachineOperatorBuilder
 
class  v8::internal::compiler::MachineOperatorBuilder::AlignmentRequirements
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::compiler
 

Macros

#define PSEUDO_OP_LIST(V)
 
#define PSEUDO_OP(Prefix, Suffix)
 

Typedefs

using v8::internal::compiler::LoadRepresentation = MachineType
 
using v8::internal::compiler::UnalignedStoreRepresentation = MachineRepresentation
 
using v8::internal::compiler::S128ImmediateParameter = SimdImmediateParameter<kSimd128Size>
 
using v8::internal::compiler::S256ImmediateParameter = SimdImmediateParameter<kSimd256Size>
 

Enumerations

enum class  v8::internal::compiler::LoadTransformation {
  v8::internal::compiler::kS128Load8Splat , v8::internal::compiler::kS128Load16Splat , v8::internal::compiler::kS128Load32Splat , v8::internal::compiler::kS128Load64Splat ,
  v8::internal::compiler::kFirst128Splat = kS128Load8Splat , v8::internal::compiler::kLast128Splat = kS128Load64Splat , v8::internal::compiler::kS128Load8x8S , v8::internal::compiler::kS128Load8x8U ,
  v8::internal::compiler::kS128Load16x4S , v8::internal::compiler::kS128Load16x4U , v8::internal::compiler::kS128Load32x2S , v8::internal::compiler::kS128Load32x2U ,
  v8::internal::compiler::kFirst128Extend = kS128Load8x8S , v8::internal::compiler::kLast128Extend = kS128Load32x2U , v8::internal::compiler::kS128Load32Zero , v8::internal::compiler::kS128Load64Zero ,
  v8::internal::compiler::kS256Load8Splat , v8::internal::compiler::kS256Load16Splat , v8::internal::compiler::kS256Load32Splat , v8::internal::compiler::kS256Load64Splat ,
  v8::internal::compiler::kS256Load8x16S , v8::internal::compiler::kS256Load8x16U , v8::internal::compiler::kS256Load8x8U , v8::internal::compiler::kS256Load16x8S ,
  v8::internal::compiler::kS256Load16x8U , v8::internal::compiler::kS256Load32x4S , v8::internal::compiler::kS256Load32x4U , v8::internal::compiler::kFirst256Transform = kS256Load8Splat
}
 
enum class  v8::internal::compiler::ShiftKind { v8::internal::compiler::kNormal , v8::internal::compiler::kShiftOutZeros }
 
enum class  v8::internal::compiler::TruncateKind { v8::internal::compiler::kArchitectureDefault , v8::internal::compiler::kSetOverflowToMin }
 

Functions

LoadRepresentation v8::internal::compiler::LoadRepresentationOf (Operator const *op)
 
bool v8::internal::compiler::operator== (AtomicLoadParameters lhs, AtomicLoadParameters rhs)
 
bool v8::internal::compiler::operator!= (AtomicLoadParameters lhs, AtomicLoadParameters rhs)
 
size_t v8::internal::compiler::hash_value (AtomicLoadParameters params)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, AtomicLoadParameters params)
 
AtomicLoadParameters v8::internal::compiler::AtomicLoadParametersOf (Operator const *op)
 
bool v8::internal::compiler::operator== (AtomicOpParameters lhs, AtomicOpParameters rhs)
 
bool v8::internal::compiler::operator!= (AtomicOpParameters lhs, AtomicOpParameters rhs)
 
size_t v8::internal::compiler::hash_value (AtomicOpParameters params)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, AtomicOpParameters params)
 
AtomicOpParameters v8::internal::compiler::AtomicOpParametersOf (Operator const *op)
 
size_t v8::internal::compiler::hash_value (LoadTransformation rep)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, LoadTransformation rep)
 
size_t v8::internal::compiler::hash_value (LoadTransformParameters params)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, LoadTransformParameters params)
 
V8_EXPORT_PRIVATE LoadTransformParameters const & v8::internal::compiler::LoadTransformParametersOf (Operator const *) V8_WARN_UNUSED_RESULT
 
V8_EXPORT_PRIVATE bool v8::internal::compiler::operator== (LoadTransformParameters, LoadTransformParameters)
 
bool v8::internal::compiler::operator!= (LoadTransformParameters, LoadTransformParameters)
 
V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::operator<< (std::ostream &, LoadLaneParameters)
 
V8_EXPORT_PRIVATE LoadLaneParameters const & v8::internal::compiler::LoadLaneParametersOf (Operator const *) V8_WARN_UNUSED_RESULT
 
bool v8::internal::compiler::operator== (StoreRepresentation lhs, StoreRepresentation rhs)
 
bool v8::internal::compiler::operator!= (StoreRepresentation lhs, StoreRepresentation rhs)
 
size_t v8::internal::compiler::hash_value (StoreRepresentation rep)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, StoreRepresentation rep)
 
StoreRepresentation const & v8::internal::compiler::StoreRepresentationOf (Operator const *op)
 
StorePairRepresentation const & v8::internal::compiler::StorePairRepresentationOf (Operator const *op)
 
bool v8::internal::compiler::operator== (AtomicStoreParameters lhs, AtomicStoreParameters rhs)
 
bool v8::internal::compiler::operator!= (AtomicStoreParameters lhs, AtomicStoreParameters rhs)
 
size_t v8::internal::compiler::hash_value (AtomicStoreParameters params)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, AtomicStoreParameters params)
 
AtomicStoreParameters const & v8::internal::compiler::AtomicStoreParametersOf (Operator const *op)
 
UnalignedStoreRepresentation const & v8::internal::compiler::UnalignedStoreRepresentationOf (Operator const *op)
 
V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::operator<< (std::ostream &, StoreLaneParameters)
 
V8_EXPORT_PRIVATE StoreLaneParameters const & v8::internal::compiler::StoreLaneParametersOf (Operator const *) V8_WARN_UNUSED_RESULT
 
bool v8::internal::compiler::operator== (StackSlotRepresentation lhs, StackSlotRepresentation rhs)
 
bool v8::internal::compiler::operator!= (StackSlotRepresentation lhs, StackSlotRepresentation rhs)
 
size_t v8::internal::compiler::hash_value (StackSlotRepresentation rep)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, StackSlotRepresentation rep)
 
StackSlotRepresentation const & v8::internal::compiler::StackSlotRepresentationOf (Operator const *op)
 
MachineType v8::internal::compiler::AtomicOpType (Operator const *op)
 
template<const int simd_size>
V8_EXPORT_PRIVATE bool v8::internal::compiler::operator== (SimdImmediateParameter< simd_size > const &lhs, SimdImmediateParameter< simd_size > const &rhs)
 
template<const int simd_size>
bool v8::internal::compiler::operator!= (SimdImmediateParameter< simd_size > const &lhs, SimdImmediateParameter< simd_size > const &rhs)
 
template<const int simd_size>
size_t v8::internal::compiler::hash_value (SimdImmediateParameter< simd_size > const &p)
 
template<const int simd_size>
V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::operator<< (std::ostream &os, SimdImmediateParameter< simd_size > const &p)
 
V8_EXPORT_PRIVATE S128ImmediateParameter const & v8::internal::compiler::S128ImmediateParameterOf (Operator const *op) V8_WARN_UNUSED_RESULT
 
V8_EXPORT_PRIVATE S256ImmediateParameter const & v8::internal::compiler::S256ImmediateParameterOf (Operator const *op) V8_WARN_UNUSED_RESULT
 
StackCheckKind v8::internal::compiler::StackCheckKindOf (Operator const *op)
 
size_t v8::internal::compiler::hash_value (ShiftKind kind)
 
V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ShiftKind kind)
 
ShiftKind v8::internal::compiler::ShiftKindOf (Operator const *op)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, TruncateKind kind)
 
size_t v8::internal::compiler::hash_value (TruncateKind kind)
 

Macro Definition Documentation

◆ PSEUDO_OP

#define PSEUDO_OP ( Prefix,
Suffix )
Value:
const Operator* Prefix##Suffix() { \
return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \
}

Definition at line 1382 of file machine-operator.h.

◆ PSEUDO_OP_LIST

#define PSEUDO_OP_LIST ( V)
Value:
V(Word, And) \
V(Word, Or) \
V(Word, Xor) \
V(Word, Shl) \
V(Word, Shr) \
V(Word, Ror) \
V(Word, Clz) \
V(Word, Equal) \
V(Int, Add) \
V(Int, Sub) \
V(Int, Mul) \
V(Int, Div) \
V(Int, Mod) \
V(Int, LessThan) \
V(Int, LessThanOrEqual) \
V(Uint, Div) \
V(Uint, LessThan) \
V(Uint, Mod)
#define V(Name)

Definition at line 1363 of file machine-operator.h.