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

Go to the source code of this file.

Classes

struct  v8::internal::compiler::turboshaft::Opmask::OpMaskField< T, Offset >
 
struct  v8::internal::compiler::turboshaft::Opmask::UnwrapRepresentation< T >
 
struct  v8::internal::compiler::turboshaft::Opmask::UnwrapRepresentation< WordRepresentation >
 
struct  v8::internal::compiler::turboshaft::Opmask::UnwrapRepresentation< FloatRepresentation >
 
struct  v8::internal::compiler::turboshaft::Opmask::UnwrapRepresentation< RegisterRepresentation >
 
struct  v8::internal::compiler::turboshaft::Opmask::MaskBuilder< Op, Fields >
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::compiler
 
namespace  v8::internal::compiler::turboshaft
 
namespace  v8::internal::compiler::turboshaft::Opmask
 

Macros

#define FIELD(op, field_name)
 

Typedefs

using v8::internal::compiler::turboshaft::Opmask::WordBinopMask
 
using v8::internal::compiler::turboshaft::Opmask::WordBinopKindMask = MaskBuilder<WordBinopOp, FIELD(WordBinopOp, kind)>
 
using v8::internal::compiler::turboshaft::Opmask::kWord32Add
 
using v8::internal::compiler::turboshaft::Opmask::kWord32Sub
 
using v8::internal::compiler::turboshaft::Opmask::kWord32Mul
 
using v8::internal::compiler::turboshaft::Opmask::kWord32SignedMulOverflownBits
 
using v8::internal::compiler::turboshaft::Opmask::kWord32UnsignedMulOverflownBits
 
using v8::internal::compiler::turboshaft::Opmask::kWord32BitwiseAnd
 
using v8::internal::compiler::turboshaft::Opmask::kWord32BitwiseOr
 
using v8::internal::compiler::turboshaft::Opmask::kWord32BitwiseXor
 
using v8::internal::compiler::turboshaft::Opmask::kWord64Add
 
using v8::internal::compiler::turboshaft::Opmask::kWord64Sub
 
using v8::internal::compiler::turboshaft::Opmask::kWord64Mul
 
using v8::internal::compiler::turboshaft::Opmask::kWord64BitwiseAnd
 
using v8::internal::compiler::turboshaft::Opmask::kWord64BitwiseOr
 
using v8::internal::compiler::turboshaft::Opmask::kWord64BitwiseXor
 
using v8::internal::compiler::turboshaft::Opmask::kBitwiseAnd = WordBinopKindMask::For<WordBinopOp::Kind::kBitwiseAnd>
 
using v8::internal::compiler::turboshaft::Opmask::kBitwiseXor = WordBinopKindMask::For<WordBinopOp::Kind::kBitwiseXor>
 
using v8::internal::compiler::turboshaft::Opmask::WordUnaryMask
 
using v8::internal::compiler::turboshaft::Opmask::kWord32ReverseBytes
 
using v8::internal::compiler::turboshaft::Opmask::kWord64ReverseBytes
 
using v8::internal::compiler::turboshaft::Opmask::FloatUnaryMask
 
using v8::internal::compiler::turboshaft::Opmask::kFloat32Negate
 
using v8::internal::compiler::turboshaft::Opmask::kFloat64Abs
 
using v8::internal::compiler::turboshaft::Opmask::kFloat64Negate
 
using v8::internal::compiler::turboshaft::Opmask::FloatBinopMask
 
using v8::internal::compiler::turboshaft::Opmask::kFloat32Sub
 
using v8::internal::compiler::turboshaft::Opmask::kFloat32Mul
 
using v8::internal::compiler::turboshaft::Opmask::kFloat64Sub
 
using v8::internal::compiler::turboshaft::Opmask::kFloat64Mul
 
using v8::internal::compiler::turboshaft::Opmask::ShiftMask
 
using v8::internal::compiler::turboshaft::Opmask::ShiftKindMask = MaskBuilder<ShiftOp, FIELD(ShiftOp, kind)>
 
using v8::internal::compiler::turboshaft::Opmask::kWord32ShiftLeft
 
using v8::internal::compiler::turboshaft::Opmask::kWord32ShiftRightArithmetic
 
using v8::internal::compiler::turboshaft::Opmask::kWord32ShiftRightArithmeticShiftOutZeros
 
using v8::internal::compiler::turboshaft::Opmask::kWord32ShiftRightLogical
 
using v8::internal::compiler::turboshaft::Opmask::kWord32RotateRight
 
using v8::internal::compiler::turboshaft::Opmask::kWord64ShiftLeft
 
using v8::internal::compiler::turboshaft::Opmask::kWord64ShiftRightArithmetic
 
using v8::internal::compiler::turboshaft::Opmask::kWord64ShiftRightLogical
 
using v8::internal::compiler::turboshaft::Opmask::kShiftLeft = ShiftKindMask::For<ShiftOp::Kind::kShiftLeft>
 
using v8::internal::compiler::turboshaft::Opmask::PhiMask = MaskBuilder<PhiOp, FIELD(PhiOp, rep)>
 
using v8::internal::compiler::turboshaft::Opmask::kTaggedPhi = PhiMask::For<RegisterRepresentation::Tagged()>
 
using v8::internal::compiler::turboshaft::Opmask::ConstantMask = MaskBuilder<ConstantOp, FIELD(ConstantOp, kind)>
 
using v8::internal::compiler::turboshaft::Opmask::kWord32Constant = ConstantMask::For<ConstantOp::Kind::kWord32>
 
using v8::internal::compiler::turboshaft::Opmask::kWord64Constant = ConstantMask::For<ConstantOp::Kind::kWord64>
 
using v8::internal::compiler::turboshaft::Opmask::kExternalConstant = ConstantMask::For<ConstantOp::Kind::kExternal>
 
using v8::internal::compiler::turboshaft::Opmask::kHeapConstant = ConstantMask::For<ConstantOp::Kind::kHeapObject>
 
using v8::internal::compiler::turboshaft::Opmask::kSmiConstant = ConstantMask::For<ConstantOp::Kind::kSmi>
 
using v8::internal::compiler::turboshaft::Opmask::ProjectionMask = MaskBuilder<ProjectionOp, FIELD(ProjectionOp, index)>
 
using v8::internal::compiler::turboshaft::Opmask::kProjection0 = ProjectionMask::For<0>
 
using v8::internal::compiler::turboshaft::Opmask::kProjection1 = ProjectionMask::For<1>
 
using v8::internal::compiler::turboshaft::Opmask::ComparisonMask
 
using v8::internal::compiler::turboshaft::Opmask::kWord32Equal
 
using v8::internal::compiler::turboshaft::Opmask::kWord64Equal
 
using v8::internal::compiler::turboshaft::Opmask::ComparisonKindMask = MaskBuilder<ComparisonOp, FIELD(ComparisonOp, kind)>
 
using v8::internal::compiler::turboshaft::Opmask::kComparisonEqual = ComparisonKindMask::For<ComparisonOp::Kind::kEqual>
 
using v8::internal::compiler::turboshaft::Opmask::ChangeOpMask
 
using v8::internal::compiler::turboshaft::Opmask::kChangeInt32ToInt64
 
using v8::internal::compiler::turboshaft::Opmask::kChangeUint32ToUint64
 
using v8::internal::compiler::turboshaft::Opmask::kFloat64ExtractHighWord32
 
using v8::internal::compiler::turboshaft::Opmask::kTruncateFloat64ToInt64OverflowToMin
 
using v8::internal::compiler::turboshaft::Opmask::kTruncateFloat32ToInt32OverflowToMin
 
using v8::internal::compiler::turboshaft::Opmask::kTruncateFloat32ToUint32OverflowToMin
 
using v8::internal::compiler::turboshaft::Opmask::kTruncateWord64ToWord32
 
using v8::internal::compiler::turboshaft::Opmask::OverflowCheckedBinopMask
 
using v8::internal::compiler::turboshaft::Opmask::kOverflowCheckedWord32Add
 
using v8::internal::compiler::turboshaft::Opmask::TaggedBitcastMask
 
using v8::internal::compiler::turboshaft::Opmask::kBitcastTaggedToWordPtrForTagAndSmiBits
 
using v8::internal::compiler::turboshaft::Opmask::kBitcastWordPtrToSmi
 
using v8::internal::compiler::turboshaft::Opmask::TaggedBitcastKindMask
 
using v8::internal::compiler::turboshaft::Opmask::kTaggedBitcastSmi
 
using v8::internal::compiler::turboshaft::Opmask::kTaggedBitcastHeapObject
 

Functions

template<typename T >
constexpr uint64_t v8::internal::compiler::turboshaft::Opmask::encode_for_mask (T value)
 

Macro Definition Documentation

◆ FIELD

#define FIELD ( op,
field_name )
Value:
OpMaskField<UnwrapRepresentation<decltype(op::field_name)>::type, \
OFFSET_OF(op, field_name)>
#define OFFSET_OF(type, field)
Definition macros.h:57