5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_
6 #define V8_COMPILER_MACHINE_OPERATOR_H_
15 struct MachineOperatorBuilderImpl;
30 class StoreRepresentation
FINAL {
34 : machine_type_(machine_type), write_barrier_kind_(write_barrier_kind) {}
45 const StoreRepresentation& rep2) {
46 return rep1.machine_type() == rep2.machine_type() &&
47 rep1.write_barrier_kind() == rep2.write_barrier_kind();
51 const StoreRepresentation& rep2) {
52 return !(rep1 == rep2);
61 class MachineOperatorBuilder
FINAL {
152 #define PSEUDO_OP_LIST(V) \
169 V(Int, LessThanOrEqual)
170 #define PSEUDO_OP(Prefix, Suffix) \
171 const Operator* Prefix##Suffix() { \
172 return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \
176 #undef PSEUDO_OP_LIST
Source to read snapshot and builtins files from.
const Operator * Int32Div()
const Operator * Store(StoreRepresentation rep)
const Operator * Int32LessThan()
const Operator * Int32UMod()
const Operator * Float64LessThan()
const Operator * Int64Add()
const Operator * Int64UMod()
const Operator * Float64LessThanOrEqual()
const Operator * Int64Mod()
const Operator * ChangeFloat32ToFloat64()
const Operator * Float64Sub()
const Operator * Word64Ror()
const Operator * ChangeInt32ToInt64()
const Operator * TruncateFloat64ToFloat32()
const Operator * Word32Equal()
const Operator * Word32Shr()
const Operator * Int32LessThanOrEqual()
const Operator * Int64Mul()
const Operator * Word32Sar()
WriteBarrierKind write_barrier_kind() const
const Operator * ChangeUint32ToUint64()
const Operator * Word32And()
const Operator * Word64Sar()
const Operator * Word64Xor()
const Operator * Uint32LessThanOrEqual()
const Operator * Int32Add()
const Operator * Uint32LessThan()
const Operator * Word64And()
MachineType machine_type() const
const Operator * Int32UDiv()
const Operator * ChangeUint32ToFloat64()
const Operator * Word64Or()
const Operator * Word32Shl()
const Operator * ChangeInt32ToFloat64()
const Operator * Word64Shr()
const Operator * Int32Sub()
const Operator * Word32Ror()
const Operator * Float64Div()
const Operator * Float64Mul()
const Operator * Float64Sqrt()
const Operator * Float64Equal()
const Operator * Word64Shl()
WriteBarrierKind write_barrier_kind_
const Operator * Int32Mod()
const Operator * Float64Add()
MachineType machine_type_
const Operator * Int64UDiv()
const Operator * Word32Or()
const Operator * Int32SubWithOverflow()
const Operator * ChangeFloat64ToInt32()
const Operator * Int32Mul()
const Operator * Int32AddWithOverflow()
const Operator * ChangeFloat64ToUint32()
const Operator * Int64Sub()
const Operator * Load(LoadRepresentation rep)
const Operator * Int64LessThanOrEqual()
StoreRepresentation(MachineType machine_type, WriteBarrierKind write_barrier_kind)
const Operator * Word64Equal()
const Operator * Float64Mod()
const Operator * Word32Xor()
MachineOperatorBuilder(MachineType word=kMachPtr)
const Operator * Int64Div()
const MachineOperatorBuilderImpl & impl_
const Operator * TruncateFloat64ToInt32()
const Operator * TruncateInt64ToInt32()
const Operator * Int64LessThan()
#define PSEUDO_OP(Prefix, Suffix)
#define PSEUDO_OP_LIST(V)
bool operator==(const StoreRepresentation &rep1, const StoreRepresentation &rep2)
std::ostream & operator<<(std::ostream &os, const MachineType &type)
MachineType LoadRepresentation
bool operator!=(const StoreRepresentation &rep1, const StoreRepresentation &rep2)
Debugger support for the V8 JavaScript engine.