V8 Project
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands > Class Template Reference

#include <access-builder.h>

+ Inheritance diagram for v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >:
+ Collaboration diagram for v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >:

Classes

class  Assembler
 
struct  DeoptimizationState
 
class  FINAL
 
class  Scope
 
class  StateId
 

Public Types

enum  Type {
  kInt32 , kInt64 , kFloat32 , kFloat64 ,
  kExternalReference , kHeapObject
}
 
enum  Kind { kCallCodeObject , kCallJSFunction , kCallAddress }
 
enum  Flag {
  kNoFlags = 0u , kNeedsFrameState = 1u << 0 , kPatchableCallSite = 1u << 1 , kNeedsNopAfterCall = 1u << 2 ,
  kPatchableCallSiteWithNop = kPatchableCallSite | kNeedsNopAfterCall
}
 
typedef InstructionDeque::const_iterator const_iterator
 
typedef ConstantDeque Immediates
 
typedef base::Flags< FlagFlags
 
typedef Uses Successors
 
typedef Inputs Predecessors
 
typedef NodeVector::iterator iterator
 
typedef NodeVector::const_iterator const_iterator
 
typedef NodeVector::reverse_iterator reverse_iterator
 
- Public Types inherited from v8::internal::compiler::InstructionOperand
enum  Kind {
  INVALID , UNALLOCATED , CONSTANT , IMMEDIATE ,
  STACK_SLOT , DOUBLE_STACK_SLOT , REGISTER , DOUBLE_REGISTER
}
 
- Public Types inherited from v8::internal::compiler::GapInstruction
enum  InnerPosition {
  BEFORE , START , END , AFTER ,
  FIRST_INNER_POSITION = BEFORE , LAST_INNER_POSITION = AFTER
}
 
- Public Types inherited from v8::internal::compiler::GenericNode< NodeData, Node >
typedef NodeData BaseClass
 
typedef Node DerivedClass
 
- Public Types inherited from v8::internal::compiler::GenericNode< BasicBlockData, BasicBlock >
typedef BasicBlockData BaseClass
 
typedef BasicBlock DerivedClass
 
- Public Types inherited from v8::internal::compiler::BasicBlockData
enum  Control {
  kNone , kGoto , kBranch , kReturn ,
  kThrow
}
 

Public Member Functions

 ArmOperandConverter (CodeGenerator *gen, Instruction *instr)
 
SwVfpRegister OutputFloat32Register (int index=0)
 
SwVfpRegister InputFloat32Register (int index)
 
SwVfpRegister ToFloat32Register (InstructionOperand *op)
 
LowDwVfpRegister OutputFloat64Register (int index=0)
 
LowDwVfpRegister InputFloat64Register (int index)
 
LowDwVfpRegister ToFloat64Register (InstructionOperand *op)
 
SBit OutputSBit () const
 
Operand InputImmediate (int index)
 
Operand InputOperand2 (int first_index)
 
MemOperand InputOffset (int *first_index)
 
MemOperand InputOffset ()
 
MemOperand ToMemOperand (InstructionOperand *op) const
 
 Arm64OperandConverter (CodeGenerator *gen, Instruction *instr)
 
Register InputRegister32 (int index)
 
Register InputRegister64 (int index)
 
Operand InputImmediate (int index)
 
Operand InputOperand (int index)
 
Operand InputOperand64 (int index)
 
Operand InputOperand32 (int index)
 
Register OutputRegister64 ()
 
Register OutputRegister32 ()
 
MemOperand MemoryOperand (int *first_index)
 
MemOperand MemoryOperand ()
 
Operand ToOperand (InstructionOperand *op)
 
Operand ToOperand32 (InstructionOperand *op)
 
Operand ToImmediate (InstructionOperand *operand)
 
MemOperand ToMemOperand (InstructionOperand *op, MacroAssembler *masm) const
 
 Arm64OperandGenerator (InstructionSelector *selector)
 
InstructionOperandUseOperand (Node *node, ImmediateMode mode)
 
bool CanBeImmediate (Node *node, ImmediateMode mode)
 
 AstEffectContext (AstGraphBuilder *owner)
 
virtual ~AstEffectContext ()
 
virtual void ProduceValue (Node *value) OVERRIDE
 
virtual NodeConsumeValue () OVERRIDE
 
 AstValueContext (AstGraphBuilder *owner)
 
virtual ~AstValueContext ()
 
virtual void ProduceValue (Node *value) OVERRIDE
 
virtual NodeConsumeValue () OVERRIDE
 
 AstTestContext (AstGraphBuilder *owner)
 
virtual ~AstTestContext ()
 
virtual void ProduceValue (Node *value) OVERRIDE
 
virtual NodeConsumeValue () OVERRIDE
 
 ChangeLowering (JSGraph *jsgraph, Linkage *linkage)
 
virtual ~ChangeLowering ()
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
 CodeGenerator (InstructionSequence *code)
 
Handle< CodeGenerateCode ()
 
InstructionSequencecode () const
 
Frameframe () const
 
Graphgraph () const
 
Isolateisolate () const
 
Linkagelinkage () const
 
Scheduleschedule () const
 
 CommonNodeCache (Zone *zone)
 
Node ** FindInt32Constant (int32_t value)
 
Node ** FindFloat64Constant (double value)
 
Node ** FindExternalConstant (ExternalReference reference)
 
Node ** FindNumberConstant (double value)
 
Zonezone () const
 
 FrameStateCallInfo (FrameStateType type, BailoutId bailout_id, OutputFrameStateCombine state_combine, MaybeHandle< JSFunction > jsfunction=MaybeHandle< JSFunction >())
 
FrameStateType type () const
 
BailoutId bailout_id () const
 
OutputFrameStateCombine state_combine () const
 
MaybeHandle< JSFunctionjsfunction () const
 
 CommonOperatorBuilder (Zone *zone)
 
const OperatorDead ()
 
const OperatorEnd ()
 
const OperatorBranch ()
 
const OperatorIfTrue ()
 
const OperatorIfFalse ()
 
const OperatorThrow ()
 
const OperatorReturn ()
 
const OperatorStart (int num_formal_parameters)
 
const OperatorMerge (int controls)
 
const OperatorLoop (int controls)
 
const OperatorParameter (int index)
 
const OperatorInt32Constant (int32_t)
 
const OperatorInt64Constant (int64_t)
 
const OperatorFloat32Constant (volatile float)
 
const OperatorFloat64Constant (volatile double)
 
const OperatorExternalConstant (const ExternalReference &)
 
const OperatorNumberConstant (volatile double)
 
const OperatorHeapConstant (const Unique< Object > &)
 
const OperatorPhi (MachineType type, int arguments)
 
const OperatorEffectPhi (int arguments)
 
const OperatorControlEffect ()
 
const OperatorValueEffect (int arguments)
 
const OperatorFinish (int arguments)
 
const OperatorStateValues (int arguments)
 
const OperatorFrameState (FrameStateType type, BailoutId bailout_id, OutputFrameStateCombine state_combine, MaybeHandle< JSFunction > jsfunction=MaybeHandle< JSFunction >())
 
const OperatorCall (const CallDescriptor *descriptor)
 
const OperatorProjection (size_t index)
 
 GapResolver (Assembler *assembler)
 
void Resolve (ParallelMove *parallel_move) const
 
 GraphReducerVisitor (GraphReducer *reducer)
 
GenericGraphVisit::Control Post (Node *node)
 
 Reduction (Node *replacement=NULL)
 
Nodereplacement () const
 
bool Changed () const
 
 GraphReducer (Graph *graph)
 
Graphgraph () const
 
void AddReducer (Reducer *reducer)
 
void ReduceNode (Node *node)
 
void ReduceGraph ()
 
GenericGraphVisit::Control Pre (Node *node)
 
void PostEdge (Node *from, int index, Node *to)
 
 IA32OperandGenerator (InstructionSelector *selector)
 
InstructionOperandUseByteRegister (Node *node)
 
bool CanBeImmediate (Node *node)
 
bool CanBeBetterLeftOperand (Node *node) const
 
 FlagsContinuation ()
 
 FlagsContinuation (FlagsCondition condition, BasicBlock *true_block, BasicBlock *false_block)
 
 FlagsContinuation (FlagsCondition condition, Node *result)
 
bool IsNone () const
 
bool IsBranch () const
 
bool IsSet () const
 
FlagsCondition condition () const
 
Noderesult () const
 
BasicBlocktrue_block () const
 
BasicBlockfalse_block () const
 
void Negate ()
 
void Commute ()
 
void OverwriteAndNegateIfEqual (FlagsCondition condition)
 
void SwapBlocks ()
 
InstructionCode Encode (InstructionCode opcode)
 
 InstructionSelector (InstructionSequence *sequence, SourcePositionTable *source_positions, Features features=SupportedFeatures())
 
void SelectInstructions ()
 
InstructionEmit (InstructionCode opcode, InstructionOperand *output, size_t temp_count=0, InstructionOperand **temps=NULL)
 
InstructionEmit (InstructionCode opcode, InstructionOperand *output, InstructionOperand *a, size_t temp_count=0, InstructionOperand **temps=NULL)
 
InstructionEmit (InstructionCode opcode, InstructionOperand *output, InstructionOperand *a, InstructionOperand *b, size_t temp_count=0, InstructionOperand **temps=NULL)
 
InstructionEmit (InstructionCode opcode, InstructionOperand *output, InstructionOperand *a, InstructionOperand *b, InstructionOperand *c, size_t temp_count=0, InstructionOperand **temps=NULL)
 
InstructionEmit (InstructionCode opcode, InstructionOperand *output, InstructionOperand *a, InstructionOperand *b, InstructionOperand *c, InstructionOperand *d, size_t temp_count=0, InstructionOperand **temps=NULL)
 
InstructionEmit (InstructionCode opcode, size_t output_count, InstructionOperand **outputs, size_t input_count, InstructionOperand **inputs, size_t temp_count=0, InstructionOperand **temps=NULL)
 
InstructionEmit (Instruction *instr)
 
bool IsSupported (CpuFeature feature) const
 
bool IsLive (Node *node) const
 
 MoveOperands (InstructionOperand *source, InstructionOperand *destination)
 
InstructionOperandsource () const
 
void set_source (InstructionOperand *operand)
 
InstructionOperanddestination () const
 
void set_destination (InstructionOperand *operand)
 
bool IsPending () const
 
bool Blocks (InstructionOperand *operand) const
 
bool IsRedundant () const
 
bool IsIgnored () const
 
void Eliminate ()
 
bool IsEliminated () const
 
 ParallelMove (Zone *zone)
 
void AddMove (InstructionOperand *from, InstructionOperand *to, Zone *zone)
 
bool IsRedundant () const
 
ZoneList< MoveOperands > * move_operands ()
 
const ZoneList< MoveOperands > * move_operands () const
 
 PointerMap (Zone *zone)
 
const ZoneList< InstructionOperand * > * GetNormalizedOperands ()
 
int instruction_position () const
 
void set_instruction_position (int pos)
 
void RecordPointer (InstructionOperand *op, Zone *zone)
 
void RemovePointer (InstructionOperand *op)
 
void RecordUntagged (InstructionOperand *op, Zone *zone)
 
BasicBlockblock () const
 
Labellabel ()
 
SourcePosition source_position () const
 
 Constant (int32_t v)
 
 Constant (int64_t v)
 
 Constant (float v)
 
 Constant (double v)
 
 Constant (ExternalReference ref)
 
 Constant (Handle< HeapObject > obj)
 
Type type () const
 
int32_t ToInt32 () const
 
int64_t ToInt64 () const
 
float ToFloat32 () const
 
double ToFloat64 () const
 
ExternalReference ToExternalReference () const
 
Handle< HeapObjectToHeapObject () const
 
 InstructionSequence (Linkage *linkage, Graph *graph, Schedule *schedule)
 
int NextVirtualRegister ()
 
int VirtualRegisterCount () const
 
int ValueCount () const
 
int BasicBlockCount () const
 
BasicBlockBlockAt (int rpo_number) const
 
BasicBlockGetContainingLoop (BasicBlock *block)
 
int GetLoopEnd (BasicBlock *block) const
 
BasicBlockGetBasicBlock (int instruction_index)
 
int GetVirtualRegister (Node *node) const
 
bool IsReference (int virtual_register) const
 
bool IsDouble (int virtual_register) const
 
void MarkAsReference (int virtual_register)
 
void MarkAsDouble (int virtual_register)
 
void AddGapMove (int index, InstructionOperand *from, InstructionOperand *to)
 
LabelGetLabel (BasicBlock *block)
 
BlockStartInstructionGetBlockStart (BasicBlock *block)
 
const_iterator begin () const
 
const_iterator end () const
 
GapInstructionGapAt (int index) const
 
bool IsGapAt (int index) const
 
InstructionInstructionAt (int index) const
 
Frameframe ()
 
Graphgraph () const
 
Isolateisolate () const
 
Linkagelinkage () const
 
Scheduleschedule () const
 
const PointerMapDequepointer_maps () const
 
Zonezone () const
 
int AddInstruction (Instruction *instr, BasicBlock *block)
 
void StartBlock (BasicBlock *block)
 
void EndBlock (BasicBlock *block)
 
void AddConstant (int virtual_register, Constant constant)
 
Constant GetConstant (int virtual_register) const
 
const Immediatesimmediates () const
 
int AddImmediate (Constant constant)
 
Constant GetImmediate (int index) const
 
StateId AddFrameStateDescriptor (FrameStateDescriptor *descriptor)
 
FrameStateDescriptorGetFrameStateDescriptor (StateId deoptimization_id)
 
int GetFrameStateDescriptorCount ()
 
 JSBuiltinReducer (JSGraph *jsgraph)
 
virtual ~JSBuiltinReducer ()
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
 JSTypedLowering (JSGraph *jsgraph)
 
virtual ~JSTypedLowering ()
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
JSGraphjsgraph ()
 
Graphgraph ()
 
Zonezone ()
 
 CallDescriptor (Kind kind, MachineType target_type, LinkageLocation target_loc, MachineSignature *machine_sig, LocationSignature *location_sig, size_t js_param_count, Operator::Properties properties, RegList callee_saved_registers, Flags flags, const char *debug_name="")
 
Kind kind () const
 
bool IsJSFunctionCall () const
 
size_t ReturnCount () const
 
size_t JSParameterCount () const
 
size_t InputCount () const
 
size_t FrameStateCount () const
 
Flags flags () const
 
bool NeedsFrameState () const
 
LinkageLocation GetReturnLocation (size_t index) const
 
LinkageLocation GetInputLocation (size_t index) const
 
const MachineSignatureGetMachineSignature () const
 
MachineType GetReturnType (size_t index) const
 
MachineType GetInputType (size_t index) const
 
Operator::Properties properties () const
 
RegList CalleeSavedRegisters () const
 
const char * debug_name () const
 
 MachineOperatorReducer (JSGraph *jsgraph)
 
 ~MachineOperatorReducer ()
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
 StoreRepresentation (MachineType machine_type, WriteBarrierKind write_barrier_kind)
 
MachineType machine_type () const
 
WriteBarrierKind write_barrier_kind () const
 
 MachineOperatorBuilder (MachineType word=kMachPtr)
 
const OperatorWord32And ()
 
const OperatorWord32Or ()
 
const OperatorWord32Xor ()
 
const OperatorWord32Shl ()
 
const OperatorWord32Shr ()
 
const OperatorWord32Sar ()
 
const OperatorWord32Ror ()
 
const OperatorWord32Equal ()
 
const OperatorWord64And ()
 
const OperatorWord64Or ()
 
const OperatorWord64Xor ()
 
const OperatorWord64Shl ()
 
const OperatorWord64Shr ()
 
const OperatorWord64Sar ()
 
const OperatorWord64Ror ()
 
const OperatorWord64Equal ()
 
const OperatorInt32Add ()
 
const OperatorInt32AddWithOverflow ()
 
const OperatorInt32Sub ()
 
const OperatorInt32SubWithOverflow ()
 
const OperatorInt32Mul ()
 
const OperatorInt32Div ()
 
const OperatorInt32UDiv ()
 
const OperatorInt32Mod ()
 
const OperatorInt32UMod ()
 
const OperatorInt32LessThan ()
 
const OperatorInt32LessThanOrEqual ()
 
const OperatorUint32LessThan ()
 
const OperatorUint32LessThanOrEqual ()
 
const OperatorInt64Add ()
 
const OperatorInt64Sub ()
 
const OperatorInt64Mul ()
 
const OperatorInt64Div ()
 
const OperatorInt64UDiv ()
 
const OperatorInt64Mod ()
 
const OperatorInt64UMod ()
 
const OperatorInt64LessThan ()
 
const OperatorInt64LessThanOrEqual ()
 
const OperatorChangeFloat32ToFloat64 ()
 
const OperatorChangeFloat64ToInt32 ()
 
const OperatorChangeFloat64ToUint32 ()
 
const OperatorChangeInt32ToFloat64 ()
 
const OperatorChangeInt32ToInt64 ()
 
const OperatorChangeUint32ToFloat64 ()
 
const OperatorChangeUint32ToUint64 ()
 
const OperatorTruncateFloat64ToFloat32 ()
 
const OperatorTruncateFloat64ToInt32 ()
 
const OperatorTruncateInt64ToInt32 ()
 
const OperatorFloat64Add ()
 
const OperatorFloat64Sub ()
 
const OperatorFloat64Mul ()
 
const OperatorFloat64Div ()
 
const OperatorFloat64Mod ()
 
const OperatorFloat64Sqrt ()
 
const OperatorFloat64Equal ()
 
const OperatorFloat64LessThan ()
 
const OperatorFloat64LessThanOrEqual ()
 
const OperatorLoad (LoadRepresentation rep)
 
const OperatorStore (StoreRepresentation rep)
 
bool Is32 () const
 
bool Is64 () const
 
MachineType word () const
 
 IntMatcher (Node *node)
 
bool IsPowerOf2 () const
 
 FloatMatcher (Node *node)
 
bool IsNaN () const
 
 HeapObjectMatcher (Node *node)
 
 BinopMatcher (Node *node)
 
const Left & left () const
 
const Right & right () const
 
bool IsFoldable () const
 
bool LeftEqualsRight () const
 
 Node (GenericGraphBase *graph, int input_count)
 
void Initialize (const Operator *op)
 
bool IsDead () const
 
void Kill ()
 
void CollectProjections (ZoneVector< Node * > *projections)
 
NodeFindProjection (size_t projection_index)
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
 BasicBlock (GenericGraphBase *graph, int input_count)
 
Successors successors ()
 
Predecessors predecessors ()
 
int PredecessorCount ()
 
BasicBlockPredecessorAt (int index)
 
int SuccessorCount ()
 
BasicBlockSuccessorAt (int index)
 
int PredecessorIndexOf (BasicBlock *predecessor)
 
BasicBlockloop_header ()
 
BasicBlockContainingLoop ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
 SimplifiedOperatorReducer (JSGraph *jsgraph)
 
virtual ~SimplifiedOperatorReducer ()
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
 SimplifiedOperatorBuilder (Zone *zone)
 
const OperatorBooleanNot ()
 
const OperatorBooleanToNumber ()
 
const OperatorNumberEqual ()
 
const OperatorNumberLessThan ()
 
const OperatorNumberLessThanOrEqual ()
 
const OperatorNumberAdd ()
 
const OperatorNumberSubtract ()
 
const OperatorNumberMultiply ()
 
const OperatorNumberDivide ()
 
const OperatorNumberModulus ()
 
const OperatorNumberToInt32 ()
 
const OperatorNumberToUint32 ()
 
const OperatorReferenceEqual (Type *type)
 
const OperatorStringEqual ()
 
const OperatorStringLessThan ()
 
const OperatorStringLessThanOrEqual ()
 
const OperatorStringAdd ()
 
const OperatorChangeTaggedToInt32 ()
 
const OperatorChangeTaggedToUint32 ()
 
const OperatorChangeTaggedToFloat64 ()
 
const OperatorChangeInt32ToTagged ()
 
const OperatorChangeUint32ToTagged ()
 
const OperatorChangeFloat64ToTagged ()
 
const OperatorChangeBoolToBit ()
 
const OperatorChangeBitToBool ()
 
const OperatorLoadField (const FieldAccess &)
 
const OperatorStoreField (const FieldAccess &)
 
const OperatorLoadElement (ElementAccess const &)
 
const OperatorStoreElement (ElementAccess const &)
 
 SourcePosition (int raw=kUnknownPosition)
 
bool IsUnknown () const
 
bool IsInvalid () const
 
int raw () const
 
 SourcePositionTable (Graph *graph)
 
 ~SourcePositionTable ()
 
void AddDecorator ()
 
void RemoveDecorator ()
 
SourcePosition GetSourcePosition (Node *node)
 
 Entry (Node *node, Entry *next)
 
Nodenode () const
 
Entrynext () const
 
 ValueNumberingReducer (Zone *zone)
 
 ~ValueNumberingReducer ()
 
virtual Reduction Reduce (Node *node) OVERRIDE
 
 X64OperandGenerator (InstructionSelector *selector)
 
InstructionOperandTempRegister (Register reg)
 
InstructionOperandUseImmediate64 (Node *node)
 
bool CanBeImmediate (Node *node)
 
bool CanBeImmediate64 (Node *node)
 
bool CanBeBetterLeftOperand (Node *node) const
 
- Public Member Functions inherited from v8::internal::compiler::InstructionOperandConverter
 InstructionOperandConverter (CodeGenerator *gen, Instruction *instr)
 
Register InputRegister (int index)
 
DoubleRegister InputDoubleRegister (int index)
 
double InputDouble (int index)
 
int32_t InputInt32 (int index)
 
int8_t InputInt8 (int index)
 
int16_t InputInt16 (int index)
 
uint8_t InputInt5 (int index)
 
uint8_t InputInt6 (int index)
 
Handle< HeapObjectInputHeapObject (int index)
 
Label * InputLabel (int index)
 
BasicBlock * InputBlock (int index)
 
Register OutputRegister (int index=0)
 
DoubleRegister OutputDoubleRegister ()
 
Register TempRegister (int index)
 
Register ToRegister (InstructionOperand *op)
 
DoubleRegister ToDoubleRegister (InstructionOperand *op)
 
Constant ToConstant (InstructionOperand *operand)
 
double ToDouble (InstructionOperand *operand)
 
Handle< HeapObjectToHeapObject (InstructionOperand *operand)
 
Frameframe () const
 
Isolateisolate () const
 
Linkagelinkage () const
 
- Public Member Functions inherited from v8::internal::compiler::OperandGenerator
 OperandGenerator (InstructionSelector *selector)
 
InstructionOperandDefineAsRegister (Node *node)
 
InstructionOperandDefineSameAsFirst (Node *result)
 
InstructionOperandDefineAsFixed (Node *node, Register reg)
 
InstructionOperandDefineAsFixed (Node *node, DoubleRegister reg)
 
InstructionOperandDefineAsConstant (Node *node)
 
InstructionOperandDefineAsLocation (Node *node, LinkageLocation location, MachineType type)
 
InstructionOperandUse (Node *node)
 
InstructionOperandUseRegister (Node *node)
 
InstructionOperandUseUnique (Node *node)
 
InstructionOperandUseUniqueRegister (Node *node)
 
InstructionOperandUseFixed (Node *node, Register reg)
 
InstructionOperandUseFixed (Node *node, DoubleRegister reg)
 
InstructionOperandUseImmediate (Node *node)
 
InstructionOperandUseLocation (Node *node, LinkageLocation location, MachineType type)
 
InstructionOperandTempRegister ()
 
InstructionOperandTempDoubleRegister ()
 
InstructionOperandTempRegister (Register reg)
 
InstructionOperandTempImmediate (int32_t imm)
 
InstructionOperandLabel (BasicBlock *block)
 
- Public Member Functions inherited from v8::internal::AstContext
bool IsEffect () const
 
bool IsValue () const
 
bool IsTest () const
 
virtual void ReturnValue (HValue *value)=0
 
virtual void ReturnInstruction (HInstruction *instr, BailoutId ast_id)=0
 
virtual void ReturnControl (HControlInstruction *instr, BailoutId ast_id)=0
 
virtual void ReturnContinuation (HIfContinuation *continuation, BailoutId ast_id)=0
 
void set_for_typeof (bool for_typeof)
 
bool is_for_typeof ()
 
- Public Member Functions inherited from v8::internal::compiler::Reducer
 Reducer ()
 
virtual ~Reducer ()
 
- Public Member Functions inherited from v8::internal::ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 
- Public Member Functions inherited from v8::internal::compiler::GenericGraphVisit::NullNodeVisitor< B, S >
Control Pre (GenericNode< B, S > *node)
 
Control Post (GenericNode< B, S > *node)
 
void PreEdge (GenericNode< B, S > *from, int index, GenericNode< B, S > *to)
 
void PostEdge (GenericNode< B, S > *from, int index, GenericNode< B, S > *to)
 
- Public Member Functions inherited from v8::internal::compiler::InstructionOperand
 InstructionOperand ()
 
 InstructionOperand (Kind kind, int index)
 
Kind kind () const
 
int index () const
 
bool Equals (InstructionOperand *other) const
 
void ConvertTo (Kind kind, int index)
 
- Public Member Functions inherited from v8::internal::compiler::GapInstruction
ParallelMove * GetOrCreateParallelMove (InnerPosition pos, Zone *zone)
 
ParallelMove * GetParallelMove (InnerPosition pos)
 
- Public Member Functions inherited from v8::internal::compiler::Instruction
size_t OutputCount () const
 
InstructionOperandOutputAt (size_t i) const
 
bool HasOutput () const
 
InstructionOperandOutput () const
 
size_t InputCount () const
 
InstructionOperandInputAt (size_t i) const
 
size_t TempCount () const
 
InstructionOperandTempAt (size_t i) const
 
InstructionCode opcode () const
 
ArchOpcode arch_opcode () const
 
AddressingMode addressing_mode () const
 
FlagsMode flags_mode () const
 
FlagsCondition flags_condition () const
 
InstructionMarkAsControl ()
 
InstructionMarkAsCall ()
 
bool IsControl () const
 
bool IsCall () const
 
bool NeedsPointerMap () const
 
bool HasPointerMap () const
 
bool IsGapMoves () const
 
bool IsBlockStart () const
 
bool IsSourcePosition () const
 
bool ClobbersRegisters () const
 
bool ClobbersTemps () const
 
bool ClobbersDoubleRegisters () const
 
PointerMap * pointer_map () const
 
void set_pointer_map (PointerMap *map)
 
void * operator new (size_t, void *location)
 
void operator delete (void *pointer, void *location)
 
- Public Member Functions inherited from v8::internal::compiler::ValueMatcher< T, kOpcode >
 ValueMatcher (Node *node)
 
bool HasValue () const
 
const TValue () const
 
bool Is (const T &value) const
 
bool IsInRange (const T &low, const T &high) const
 
- Public Member Functions inherited from v8::internal::compiler::NodeMatcher
 NodeMatcher (Node *node)
 
Node * node () const
 
const Operatorop () const
 
IrOpcode::Value opcode () const
 
bool HasProperty (Operator::Property property) const
 
Node * InputAt (int index) const
 
- Public Member Functions inherited from v8::internal::compiler::ValueMatcher< Unique< T >, IrOpcode::kHeapConstant >
 ValueMatcher (Node *node)
 
bool HasValue () const
 
const Unique< T > & Value () const
 
bool Is (const Unique< T > &value) const
 
bool IsInRange (const Unique< T > &low, const Unique< T > &high) const
 
- Public Member Functions inherited from v8::internal::compiler::GenericNode< NodeData, Node >
NodeId id () const
 
int InputCount () const
 
Node * InputAt (int index) const
 
void ReplaceInput (int index, GenericNode *new_input)
 
void AppendInput (Zone *zone, GenericNode *new_input)
 
void InsertInput (Zone *zone, int index, GenericNode *new_input)
 
void RemoveInput (int index)
 
int UseCount ()
 
Node * UseAt (int index)
 
void ReplaceUses (GenericNode *replace_to)
 
void ReplaceUsesIf (UnaryPredicate pred, GenericNode *replace_to)
 
void RemoveAllInputs ()
 
void TrimInputCount (int input_count)
 
Inputs inputs ()
 
Uses uses ()
 
bool OwnedBy (GenericNode *owner) const
 
- Public Member Functions inherited from v8::internal::compiler::NodeData
const Operatorop () const
 
void set_op (const Operator *op)
 
IrOpcode::Value opcode () const
 
Bounds bounds ()
 
- Public Member Functions inherited from v8::internal::compiler::GenericNode< BasicBlockData, BasicBlock >
NodeId id () const
 
int InputCount () const
 
BasicBlock * InputAt (int index) const
 
void ReplaceInput (int index, GenericNode *new_input)
 
void AppendInput (Zone *zone, GenericNode *new_input)
 
void InsertInput (Zone *zone, int index, GenericNode *new_input)
 
void RemoveInput (int index)
 
int UseCount ()
 
BasicBlock * UseAt (int index)
 
void ReplaceUses (GenericNode *replace_to)
 
void ReplaceUsesIf (UnaryPredicate pred, GenericNode *replace_to)
 
void RemoveAllInputs ()
 
void TrimInputCount (int input_count)
 
Inputs inputs ()
 
Uses uses ()
 
bool OwnedBy (GenericNode *owner) const
 
- Public Member Functions inherited from v8::internal::compiler::BasicBlockData
 BasicBlockData (Zone *zone)
 
bool IsLoopHeader () const
 
bool LoopContains (BasicBlockData *block) const
 
int first_instruction_index ()
 
int last_instruction_index ()
 

Static Public Member Functions

static FieldAccess ForMap ()
 
static FieldAccess ForJSObjectProperties ()
 
static FieldAccess ForJSObjectElements ()
 
static FieldAccess ForJSFunctionContext ()
 
static FieldAccess ForJSArrayBufferBackingStore ()
 
static FieldAccess ForExternalArrayPointer ()
 
static ElementAccess ForFixedArrayElement ()
 
static ElementAccess ForTypedArrayElement (ExternalArrayType type, bool is_external)
 
static void PrintReplay (Graph *graph)
 
static Features SupportedFeatures ()
 
static SubKindOperandCreate (int index, Zone *zone)
 
static SubKindOperandcast (InstructionOperand *op)
 
static void SetUpCache ()
 
static void TearDownCache ()
 
static BlockStartInstructionNew (Zone *zone, BasicBlock *block)
 
static BlockStartInstructioncast (Instruction *instr)
 
static SourcePositionInstructionNew (Zone *zone, SourcePosition position)
 
static SourcePositionInstructioncast (Instruction *instr)
 
static const SourcePositionInstructioncast (const Instruction *instr)
 
static SourcePosition Unknown ()
 
static SourcePosition Invalid ()
 
- Static Public Member Functions inherited from v8::internal::compiler::Reducer
static Reduction NoChange ()
 
static Reduction Replace (Node *node)
 
static Reduction Changed (Node *node)
 
- Static Public Member Functions inherited from v8::internal::compiler::InstructionOperand
static void SetUpCaches ()
 
static void TearDownCaches ()
 
- Static Public Member Functions inherited from v8::internal::compiler::GapInstruction
static GapInstructionNew (Zone *zone)
 
static GapInstructioncast (Instruction *instr)
 
static const GapInstructioncast (const Instruction *instr)
 
- Static Public Member Functions inherited from v8::internal::compiler::Instruction
static InstructionNew (Zone *zone, InstructionCode opcode)
 
static InstructionNew (Zone *zone, InstructionCode opcode, size_t output_count, InstructionOperand **outputs, size_t input_count, InstructionOperand **inputs, size_t temp_count, InstructionOperand **temps)
 
- Static Public Member Functions inherited from v8::internal::compiler::GenericNode< NodeData, Node >
static Node * New (GenericGraphBase *graph, int input_count, Node **inputs)
 
- Static Public Member Functions inherited from v8::internal::compiler::GenericNode< BasicBlockData, BasicBlock >
static BasicBlock * New (GenericGraphBase *graph, int input_count, BasicBlock **inputs)
 

Public Attributes

ControlEffectOperator kControlEffectOperator
 
GraphReducerreducer_
 
- Public Attributes inherited from v8::internal::compiler::GenericNode< NodeData, Node >
Input * static_
 
InputDequeappendable_
 
- Public Attributes inherited from v8::internal::compiler::GenericNode< BasicBlockData, BasicBlock >
Input * static_
 
InputDequeappendable_
 
- Public Attributes inherited from v8::internal::compiler::BasicBlockData
int32_t rpo_number_
 
BasicBlock * dominator_
 
BasicBlock * loop_header_
 
int32_t loop_depth_
 
int32_t loop_end_
 
int32_t code_start_
 
int32_t code_end_
 
bool deferred_
 
Control control_
 
Node * control_input_
 
NodeVector nodes_
 

Private Types

typedef std::set< int, std::less< int >, ZoneIntAllocatorVirtualRegisterSet
 

Private Member Functions

 DISALLOW_IMPLICIT_CONSTRUCTORS (AccessBuilder)
 
bool IsLoadStoreImmediate (int64_t value, LSDataSize size)
 
NodeHeapNumberValueIndexConstant ()
 
NodeSmiMaxValueConstant ()
 
NodeSmiShiftBitsConstant ()
 
NodeAllocateHeapNumberWithValue (Node *value, Node *control)
 
NodeChangeSmiToInt32 (Node *value)
 
NodeLoadHeapNumberValue (Node *value, Node *control)
 
Reduction ChangeBitToBool (Node *val, Node *control)
 
Reduction ChangeBoolToBit (Node *val)
 
Reduction ChangeFloat64ToTagged (Node *val, Node *control)
 
Reduction ChangeInt32ToTagged (Node *val, Node *control)
 
Reduction ChangeTaggedToFloat64 (Node *val, Node *control)
 
Reduction ChangeTaggedToUI32 (Node *val, Node *control, Signedness signedness)
 
Reduction ChangeUint32ToTagged (Node *val, Node *control)
 
Graphgraph () const
 
Isolateisolate () const
 
JSGraphjsgraph () const
 
Linkagelinkage () const
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
MacroAssemblermasm ()
 
GapResolverresolver ()
 
SafepointTableBuilder * safepoints ()
 
Zonezone () const
 
bool IsNextInAssemblyOrder (const BasicBlock *block) const
 
void RecordSafepoint (PointerMap *pointers, Safepoint::Kind kind, int arguments, Safepoint::DeoptMode deopt_mode)
 
void AssembleInstruction (Instruction *instr)
 
void AssembleSourcePosition (SourcePositionInstruction *instr)
 
void AssembleGap (GapInstruction *gap)
 
void AssembleArchInstruction (Instruction *instr)
 
void AssembleArchBranch (Instruction *instr, FlagsCondition condition)
 
void AssembleArchBoolean (Instruction *instr, FlagsCondition condition)
 
void AssembleDeoptimizerCall (int deoptimization_id)
 
void AssemblePrologue ()
 
void AssembleReturn ()
 
virtual void AssembleMove (InstructionOperand *source, InstructionOperand *destination) OVERRIDE
 
virtual void AssembleSwap (InstructionOperand *source, InstructionOperand *destination) OVERRIDE
 
void AddSafepointAndDeopt (Instruction *instr)
 
void PopulateDeoptimizationData (Handle< Code > code)
 
int DefineDeoptimizationLiteral (Handle< Object > literal)
 
FrameStateDescriptorGetFrameStateDescriptor (Instruction *instr, size_t frame_state_offset)
 
int BuildTranslation (Instruction *instr, int pc_offset, size_t frame_state_offset, OutputFrameStateCombine state_combine)
 
void BuildTranslationForFrameStateDescriptor (FrameStateDescriptor *descriptor, Instruction *instr, Translation *translation, size_t frame_state_offset, OutputFrameStateCombine state_combine)
 
void AddTranslationForOperand (Translation *translation, Instruction *instr, InstructionOperand *op)
 
void AddNopForSmiCodeInlining ()
 
void EnsureSpaceForLazyDeopt ()
 
void MarkLazyDeoptSite ()
 
Zonezone () const
 
void PerformMove (ZoneList< MoveOperands > *moves, MoveOperands *move) const
 
 DISALLOW_COPY_AND_ASSIGN (GraphReducer)
 
 GraphReplayPrinter ()
 
 DISALLOW_COPY_AND_ASSIGN (GraphReplayPrinter)
 
bool IsNextInAssemblyOrder (const BasicBlock *block) const
 
bool CanCover (Node *user, Node *node) const
 
bool IsDefined (Node *node) const
 
void MarkAsDefined (Node *node)
 
bool IsUsed (Node *node) const
 
void MarkAsUsed (Node *node)
 
bool IsDouble (const Node *node) const
 
void MarkAsDouble (Node *node)
 
bool IsReference (const Node *node) const
 
void MarkAsReference (Node *node)
 
void MarkAsRepresentation (MachineType rep, Node *node)
 
void InitializeCallBuffer (Node *call, CallBuffer *buffer, bool call_code_immediate, bool call_address_immediate)
 
FrameStateDescriptorGetFrameStateDescriptor (Node *node)
 
void AddFrameStateInputs (Node *state, InstructionOperandVector *inputs, FrameStateDescriptor *descriptor)
 
void VisitBlock (BasicBlock *block)
 
void VisitControl (BasicBlock *block)
 
void VisitNode (Node *node)
 
void VisitInt32AddWithOverflow (Node *node, FlagsContinuation *cont)
 
void VisitInt32SubWithOverflow (Node *node, FlagsContinuation *cont)
 
void VisitWord32Test (Node *node, FlagsContinuation *cont)
 
void VisitWord64Test (Node *node, FlagsContinuation *cont)
 
void VisitWord32Compare (Node *node, FlagsContinuation *cont)
 
void VisitWord64Compare (Node *node, FlagsContinuation *cont)
 
void VisitFloat64Compare (Node *node, FlagsContinuation *cont)
 
void VisitFinish (Node *node)
 
void VisitParameter (Node *node)
 
void VisitPhi (Node *node)
 
void VisitProjection (Node *node)
 
void VisitConstant (Node *node)
 
void VisitCall (Node *call, BasicBlock *continuation, BasicBlock *deoptimization)
 
void VisitGoto (BasicBlock *target)
 
void VisitBranch (Node *input, BasicBlock *tbranch, BasicBlock *fbranch)
 
void VisitReturn (Node *value)
 
void VisitThrow (Node *value)
 
void VisitDeoptimize (Node *deopt)
 
Graphgraph () const
 
Linkagelinkage () const
 
Scheduleschedule () const
 
InstructionSequencesequence () const
 
Zoneinstruction_zone () const
 
Zonezone ()
 
 SubKindOperand ()
 
 SubKindOperand (int index)
 
 BlockStartInstruction (BasicBlock *block)
 
 SourcePositionInstruction (SourcePosition source_position)
 
JSGraphjsgraph () const
 
Graphgraph () const
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
SimplifiedOperatorBuildersimplified ()
 
Reduction ReduceMathAbs (Node *node)
 
Reduction ReduceMathSqrt (Node *node)
 
Reduction ReduceMathMax (Node *node)
 
Reduction ReduceMathImul (Node *node)
 
Reduction ReduceMathFround (Node *node)
 
Reduction ReplaceEagerly (Node *old, Node *node)
 
Reduction ReplaceWith (Node *node)
 
Reduction ReduceJSAdd (Node *node)
 
Reduction ReduceJSComparison (Node *node)
 
Reduction ReduceJSLoadProperty (Node *node)
 
Reduction ReduceJSStoreProperty (Node *node)
 
Reduction ReduceJSEqual (Node *node, bool invert)
 
Reduction ReduceJSStrictEqual (Node *node, bool invert)
 
Reduction ReduceJSToNumberInput (Node *input)
 
Reduction ReduceJSToStringInput (Node *input)
 
Reduction ReduceJSToBooleanInput (Node *input)
 
Reduction ReduceNumberBinop (Node *node, const Operator *numberOp)
 
Reduction ReduceI32Binop (Node *node, bool left_signed, bool right_signed, const Operator *intOp)
 
Reduction ReduceI32Shift (Node *node, bool left_signed, const Operator *shift_op)
 
JSOperatorBuilderjavascript ()
 
CommonOperatorBuildercommon ()
 
SimplifiedOperatorBuildersimplified ()
 
MachineOperatorBuildermachine ()
 
NodeFloat32Constant (volatile float value)
 
NodeFloat64Constant (volatile double value)
 
NodeInt32Constant (int32_t value)
 
NodeInt64Constant (int64_t value)
 
NodeUint32Constant (uint32_t value)
 
Reduction ReplaceBool (bool value)
 
Reduction ReplaceFloat32 (volatile float value)
 
Reduction ReplaceFloat64 (volatile double value)
 
Reduction ReplaceInt32 (int32_t value)
 
Reduction ReplaceInt64 (int64_t value)
 
Reduction ReduceProjection (size_t index, Node *node)
 
Graphgraph () const
 
JSGraphjsgraph () const
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
void PutConstantOnRight ()
 
 DISALLOW_COPY_AND_ASSIGN (BasicBlock)
 
Reduction Change (Node *node, const Operator *op, Node *a)
 
Reduction ReplaceFloat64 (double value)
 
Reduction ReplaceInt32 (int32_t value)
 
Reduction ReplaceUint32 (uint32_t value)
 
Reduction ReplaceNumber (double value)
 
Reduction ReplaceNumber (int32_t value)
 
Graphgraph () const
 
Factory * factory () const
 
JSGraphjsgraph () const
 
MachineOperatorBuildermachine () const
 
 DISALLOW_COPY_AND_ASSIGN (SimplifiedOperatorReducer)
 
Zonezone () const
 
 DISALLOW_COPY_AND_ASSIGN (SimplifiedOperatorBuilder)
 
 STATIC_ASSERT (kInvalidPosition !=kUnknownPosition)
 
 DISALLOW_COPY_AND_ASSIGN (SourcePositionTable)
 
Zonezone () const
 

Static Private Member Functions

static void PrintReplayOpCreator (const Operator *op)
 

Private Attributes

JSGraphjsgraph_
 
Linkagelinkage_
 
InstructionSequencecode_
 
BasicBlockcurrent_block_
 
SourcePosition current_source_position_
 
MacroAssembler masm_
 
GapResolver resolver_
 
SafepointTableBuilder safepoints_
 
ZoneDeque< DeoptimizationState * > deoptimization_states_
 
ZoneDeque< Handle< Object > > deoptimization_literals_
 
TranslationBuffer translations_
 
int last_lazy_deopt_pc_
 
Int32NodeCache int32_constants_
 
Int64NodeCache float64_constants_
 
PtrNodeCache external_constants_
 
Int64NodeCache number_constants_
 
Zonezone_
 
FrameStateType type_
 
BailoutId bailout_id_
 
OutputFrameStateCombine frame_state_combine_
 
MaybeHandle< JSFunctionjsfunction_
 
const CommonOperatorBuilderImpl & impl_
 
Zone *const zone_
 
Assembler *const assembler_
 
Nodereplacement_
 
Graphgraph_
 
ZoneVector< Reducer * > reducers_
 
FlagsMode mode_
 
FlagsCondition condition_
 
Noderesult_
 
BasicBlocktrue_block_
 
BasicBlockfalse_block_
 
Zone zone_
 
InstructionSequencesequence_
 
SourcePositionTablesource_positions_
 
Features features_
 
ZoneDeque< Instruction * > instructions_
 
BoolVector defined_
 
BoolVector used_
 
InstructionOperandsource_
 
InstructionOperanddestination_
 
ZoneList< MoveOperandsmove_operands_
 
ZoneList< InstructionOperand * > pointer_operands_
 
ZoneList< InstructionOperand * > untagged_operands_
 
int instruction_position_
 
BasicBlockblock_
 
Label label_
 
SourcePosition source_position_
 
Type type_
 
int64_t value_
 
Scheduleschedule_
 
ConstantMap constants_
 
ConstantDeque immediates_
 
InstructionDeque instructions_
 
int next_virtual_register_
 
PointerMapDeque pointer_maps_
 
VirtualRegisterSet doubles_
 
VirtualRegisterSet references_
 
Frame frame_
 
DeoptimizationVector deoptimization_entries_
 
SimplifiedOperatorBuilder simplified_
 
Kind kind_
 
MachineType target_type_
 
LinkageLocation target_loc_
 
MachineSignaturemachine_sig_
 
LocationSignaturelocation_sig_
 
size_t js_param_count_
 
Operator::Properties properties_
 
RegList callee_saved_registers_
 
Flags flags_
 
const char * debug_name_
 
MachineType machine_type_
 
WriteBarrierKind write_barrier_kind_
 
const MachineOperatorBuilderImplimpl_
 
const MachineType word_
 
Left left_
 
Right right_
 
const SimplifiedOperatorBuilderImpl & impl_
 
int raw_
 
Decorator * decorator_
 
SourcePosition current_position_
 
NodeAuxData< SourcePositiontable_
 
Nodenode_
 
Entrynext_
 
Entrybuckets_ [117u]
 

Static Private Attributes

static SubKindOperandcache
 
static const int kInvalidPosition = -2
 
static const int kUnknownPosition = RelocInfo::kNoPosition
 

Friends

class OperandGenerator
 
class JSBinopReduction
 
class Linkage
 
OStreamoperator<< (OStream &os, const PointerMap &pm)
 
OStreamoperator<< (OStream &os, const InstructionSequence &code)
 

Additional Inherited Members

- Protected Types inherited from v8::internal::compiler::InstructionOperand
typedef BitField< Kind, 0, 3 > KindField
 
- Protected Types inherited from v8::internal::compiler::Instruction
typedef BitField< size_t, 0, 8 > OutputCountField
 
typedef BitField< size_t, 8, 16 > InputCountField
 
typedef BitField< size_t, 24, 6 > TempCountField
 
typedef BitField< bool, 30, 1 > IsCallField
 
typedef BitField< bool, 31, 1 > IsControlField
 
- Protected Member Functions inherited from v8::internal::compiler::OperandGenerator
Graphgraph () const
 
InstructionSelector * selector () const
 
InstructionSequencesequence () const
 
Isolateisolate () const
 
Zonezone () const
 
- Protected Member Functions inherited from v8::internal::AstContext
 AstContext (HOptimizedGraphBuilder *owner, Expression::Context kind)
 
virtual ~AstContext ()
 
HOptimizedGraphBuilderowner () const
 
Zonezone () const
 
- Protected Member Functions inherited from v8::internal::compiler::GapInstruction
 GapInstruction (InstructionCode opcode)
 
- Protected Member Functions inherited from v8::internal::compiler::Instruction
 Instruction (InstructionCode opcode)
 
 Instruction (InstructionCode opcode, size_t output_count, InstructionOperand **outputs, size_t input_count, InstructionOperand **inputs, size_t temp_count, InstructionOperand **temps)
 
- Protected Member Functions inherited from v8::internal::compiler::GenericNode< NodeData, Node >
void EnsureAppendableInputs (Zone *zone)
 
Input * GetInputRecordPtr (int index) const
 
void AppendUse (Use *use)
 
void RemoveUse (Use *use)
 
void * operator new (size_t, void *location)
 
 GenericNode (GenericGraphBase *graph, int input_count)
 
- Protected Member Functions inherited from v8::internal::compiler::NodeData
 NodeData (Zone *zone)
 
void set_bounds (Bounds b)
 
- Protected Member Functions inherited from v8::internal::compiler::GenericNode< BasicBlockData, BasicBlock >
void EnsureAppendableInputs (Zone *zone)
 
Input * GetInputRecordPtr (int index) const
 
void AppendUse (Use *use)
 
void RemoveUse (Use *use)
 
void * operator new (size_t, void *location)
 
 GenericNode (GenericGraphBase *graph, int input_count)
 
- Protected Attributes inherited from v8::internal::compiler::InstructionOperandConverter
CodeGeneratorgen_
 
Instructioninstr_
 
- Protected Attributes inherited from v8::internal::compiler::InstructionOperand
unsigned value_
 
- Protected Attributes inherited from v8::internal::compiler::Instruction
InstructionCode opcode_
 
uint32_t bit_field_
 
PointerMap * pointer_map_
 
InstructionOperandoperands_ [1]
 
- Protected Attributes inherited from v8::internal::compiler::NodeData
const Operatorop_
 
Bounds bounds_
 

Detailed Description

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
class v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >

Definition at line 17 of file access-builder.h.

Member Typedef Documentation

◆ const_iterator [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef InstructionDeque::const_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::const_iterator

Definition at line 862 of file instruction.h.

◆ const_iterator [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef NodeVector::const_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::const_iterator

Definition at line 134 of file schedule.h.

◆ Flags

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef base::Flags<Flag> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Flags

Definition at line 56 of file linkage.h.

◆ Immediates

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef ConstantDeque v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Immediates

Definition at line 900 of file instruction.h.

◆ iterator

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef NodeVector::iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::iterator

Definition at line 130 of file schedule.h.

◆ Predecessors

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef Inputs v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Predecessors

Definition at line 102 of file schedule.h.

◆ reverse_iterator

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef NodeVector::reverse_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::reverse_iterator

Definition at line 138 of file schedule.h.

◆ Successors

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef Uses v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Successors

Definition at line 101 of file schedule.h.

◆ VirtualRegisterSet

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
typedef std::set<int, std::less<int>, ZoneIntAllocator> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VirtualRegisterSet
private

Definition at line 931 of file instruction.h.

Member Enumeration Documentation

◆ Flag

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
enum v8::internal::compiler::FINAL::Flag
Enumerator
kNoFlags 
kNeedsFrameState 
kPatchableCallSite 
kNeedsNopAfterCall 
kPatchableCallSiteWithNop 

Definition at line 48 of file linkage.h.

48  {
49  // TODO(jarin) kLazyDeoptimization and kNeedsFrameState should be unified.
50  kNoFlags = 0u,
51  kNeedsFrameState = 1u << 0,
52  kPatchableCallSite = 1u << 1,
53  kNeedsNopAfterCall = 1u << 2,
55  };

◆ Kind

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
enum v8::internal::compiler::FINAL::Kind
Enumerator
kCallCodeObject 
kCallJSFunction 
kCallAddress 

Definition at line 42 of file linkage.h.

42  {
43  kCallCodeObject, // target is a Code object
44  kCallJSFunction, // target is a JSFunction object
45  kCallAddress // target is a machine pointer
46  };

◆ Type

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
enum v8::internal::compiler::FINAL::Type
Enumerator
kInt32 
kInt64 
kFloat32 
kFloat64 
kExternalReference 
kHeapObject 

Definition at line 657 of file instruction.h.

Constructor & Destructor Documentation

◆ ~AstEffectContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~AstEffectContext ( )
virtual

◆ ~AstValueContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~AstValueContext ( )
virtual

◆ ~AstTestContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~AstTestContext ( )
virtual

◆ ~ChangeLowering()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~ChangeLowering ( )
virtual

◆ ~JSBuiltinReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~JSBuiltinReducer ( )
inlinevirtual

Definition at line 22 of file js-builtin-reducer.h.

22 {}

◆ ~JSTypedLowering()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~JSTypedLowering ( )
virtual

◆ ~MachineOperatorReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~MachineOperatorReducer ( )

◆ ~SimplifiedOperatorReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~SimplifiedOperatorReducer ( )
virtual

◆ ~SourcePositionTable()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~SourcePositionTable ( )
inline

Definition at line 75 of file source-position.h.

75  {
77  }
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL

References NULL.

◆ ~ValueNumberingReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::~ValueNumberingReducer ( )

Member Function Documentation

◆ AddConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddConstant ( int  virtual_register,
Constant  constant 
)
inline

Definition at line 889 of file instruction.h.

889  {
890  DCHECK(constants_.find(virtual_register) == constants_.end());
891  constants_.insert(std::make_pair(virtual_register, constant));
892  }
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK.

◆ AddDecorator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddDecorator ( )

◆ AddFrameStateDescriptor()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
StateId v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddFrameStateDescriptor ( FrameStateDescriptor descriptor)

◆ AddFrameStateInputs()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddFrameStateInputs ( Node state,
InstructionOperandVector inputs,
FrameStateDescriptor descriptor 
)
private

◆ AddGapMove()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddGapMove ( int  index,
InstructionOperand from,
InstructionOperand to 
)

◆ AddImmediate()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddImmediate ( Constant  constant)
inline

Definition at line 903 of file instruction.h.

903  {
904  int index = static_cast<int>(immediates_.size());
905  immediates_.push_back(constant);
906  return index;
907  }

◆ AddInstruction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddInstruction ( Instruction instr,
BasicBlock block 
)

◆ AddMove()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddMove ( InstructionOperand from,
InstructionOperand to,
Zone zone 
)
inline

Definition at line 351 of file instruction.h.

351  {
353  }
void Add(const T &element, AllocationPolicy allocator=AllocationPolicy())
Definition: list-inl.h:17
ZoneList< MoveOperands > move_operands_
Definition: instruction.h:363
MoveOperands(InstructionOperand *source, InstructionOperand *destination)
Definition: instruction.h:272
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be expose gc extension under the specified name show built in functions in stack traces use random jit cookie to mask large constants minimum length for automatic enable preparsing CPU profiler sampling interval in microseconds trace out of bounds accesses to external arrays default size of stack region v8 is allowed to maximum length of function source code printed in a stack trace min size of a semi the new space consists of two semi spaces print one trace line following each garbage collection do not print trace line after scavenger collection print cumulative GC statistics in only print modified registers Trace simulator debug messages Implied by trace sim abort randomize hashes to avoid predictable hash Fixed seed to use to hash property Print the time it takes to deserialize the snapshot A filename with extra code to be included in the A file to write the raw snapshot bytes to(mksnapshot only)") DEFINE_STRING(raw_context_file

References to().

+ Here is the call graph for this function:

◆ AddNopForSmiCodeInlining()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddNopForSmiCodeInlining ( )
private

◆ AddReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddReducer ( Reducer reducer)
inline

Definition at line 62 of file graph-reducer.h.

62 { reducers_.push_back(reducer); }
ZoneVector< Reducer * > reducers_
Definition: graph-reducer.h:71

◆ AddSafepointAndDeopt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddSafepointAndDeopt ( Instruction instr)
private

◆ AddTranslationForOperand()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AddTranslationForOperand ( Translation *  translation,
Instruction instr,
InstructionOperand op 
)
private

◆ AllocateHeapNumberWithValue()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AllocateHeapNumberWithValue ( Node value,
Node control 
)
private

◆ Arm64OperandConverter()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Arm64OperandConverter ( CodeGenerator gen,
Instruction instr 
)
inline

Definition at line 24 of file code-generator-arm64.cc.

25  : InstructionOperandConverter(gen, instr) {}
InstructionOperandConverter(CodeGenerator *gen, Instruction *instr)

◆ Arm64OperandGenerator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Arm64OperandGenerator ( InstructionSelector selector)
inlineexplicit

◆ ArmOperandConverter()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ArmOperandConverter ( CodeGenerator gen,
Instruction instr 
)
inline

Definition at line 27 of file code-generator-arm.cc.

28  : InstructionOperandConverter(gen, instr) {}

◆ AssembleArchBoolean()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleArchBoolean ( Instruction instr,
FlagsCondition  condition 
)
private

◆ AssembleArchBranch()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleArchBranch ( Instruction instr,
FlagsCondition  condition 
)
private

◆ AssembleArchInstruction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleArchInstruction ( Instruction instr)
private

◆ AssembleDeoptimizerCall()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleDeoptimizerCall ( int  deoptimization_id)
private

◆ AssembleGap()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleGap ( GapInstruction gap)
private

◆ AssembleInstruction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleInstruction ( Instruction instr)
private

◆ AssembleMove()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleMove ( InstructionOperand source,
InstructionOperand destination 
)
privatevirtual

◆ AssemblePrologue()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssemblePrologue ( )
private

◆ AssembleReturn()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleReturn ( )
private

◆ AssembleSourcePosition()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleSourcePosition ( SourcePositionInstruction instr)
private

◆ AssembleSwap()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AssembleSwap ( InstructionOperand source,
InstructionOperand destination 
)
privatevirtual

◆ AstEffectContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AstEffectContext ( AstGraphBuilder owner)
inlineexplicit

Definition at line 328 of file ast-graph-builder.h.

HOptimizedGraphBuilder * owner() const
Definition: hydrogen.h:798
AstContext(HOptimizedGraphBuilder *owner, Expression::Context kind)
Definition: hydrogen.cc:3985

◆ AstTestContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AstTestContext ( AstGraphBuilder owner)
inlineexplicit

Definition at line 350 of file ast-graph-builder.h.

◆ AstValueContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::AstValueContext ( AstGraphBuilder owner)
inlineexplicit

Definition at line 339 of file ast-graph-builder.h.

◆ bailout_id()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BailoutId v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::bailout_id ( ) const
inline

Definition at line 54 of file common-operator.h.

54 { return bailout_id_; }

◆ BasicBlock()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BasicBlock ( GenericGraphBase graph,
int  input_count 
)
inline

Definition at line 98 of file schedule.h.

99  : GenericNode<BasicBlockData, BasicBlock>(graph, input_count) {}

◆ BasicBlockCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BasicBlockCount ( ) const
inline

Definition at line 833 of file instruction.h.

833  {
834  return static_cast<int>(schedule_->rpo_order()->size());
835  }
BasicBlockVector * rpo_order()
Definition: schedule.h:279

◆ begin() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::begin ( )
inline

Definition at line 131 of file schedule.h.

131 { return nodes_.begin(); }

◆ begin() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::begin ( ) const
inline

Definition at line 863 of file instruction.h.

863 { return instructions_.begin(); }
ZoneDeque< Instruction * > instructions_

◆ begin() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::begin ( ) const
inline

Definition at line 135 of file schedule.h.

135 { return nodes_.begin(); }

◆ BinopMatcher()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BinopMatcher ( Node node)
inlineexplicit

◆ block()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::block ( ) const
inline

Definition at line 602 of file instruction.h.

602 { return block_; }

◆ BlockAt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BlockAt ( int  rpo_number) const
inline

Definition at line 837 of file instruction.h.

837  {
838  return (*schedule_->rpo_order())[rpo_number];
839  }

◆ Blocks()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Blocks ( InstructionOperand operand) const
inline

Definition at line 286 of file instruction.h.

286  {
287  return !IsEliminated() && source()->Equals(operand);
288  }
InstructionOperand * source() const
Definition: instruction.h:275
bool Equals(InstructionOperand *other) const
Definition: instruction.h:71

◆ BlockStartInstruction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BlockStartInstruction ( BasicBlock block)
inlineexplicitprivate

Definition at line 616 of file instruction.h.

BasicBlock * block() const
Definition: instruction.h:602
GapInstruction(InstructionCode opcode)
Definition: instruction.h:584
const InstructionCode kBlockStartInstruction
Definition: instruction.h:35

◆ BooleanNot()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BooleanNot ( )

◆ BooleanToNumber()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BooleanToNumber ( )

◆ Branch()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Branch ( )

◆ BuildTranslation()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BuildTranslation ( Instruction instr,
int  pc_offset,
size_t  frame_state_offset,
OutputFrameStateCombine  state_combine 
)
private

◆ BuildTranslationForFrameStateDescriptor()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::BuildTranslationForFrameStateDescriptor ( FrameStateDescriptor descriptor,
Instruction instr,
Translation *  translation,
size_t  frame_state_offset,
OutputFrameStateCombine  state_combine 
)
private

◆ Call()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Call ( const CallDescriptor descriptor)

◆ CallDescriptor()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CallDescriptor ( Kind  kind,
MachineType  target_type,
LinkageLocation  target_loc,
MachineSignature machine_sig,
LocationSignature location_sig,
size_t  js_param_count,
Operator::Properties  properties,
RegList  callee_saved_registers,
Flags  flags,
const char *  debug_name = "" 
)
inline

Definition at line 58 of file linkage.h.

63  : kind_(kind),
64  target_type_(target_type),
65  target_loc_(target_loc),
66  machine_sig_(machine_sig),
67  location_sig_(location_sig),
68  js_param_count_(js_param_count),
70  callee_saved_registers_(callee_saved_registers),
71  flags_(flags),
73  DCHECK(machine_sig->return_count() == location_sig->return_count());
74  DCHECK(machine_sig->parameter_count() == location_sig->parameter_count());
75  }
const char * debug_name() const
Definition: linkage.h:127
Operator::Properties properties_
Definition: linkage.h:138
LocationSignature * location_sig_
Definition: linkage.h:136
LinkageLocation target_loc_
Definition: linkage.h:134
Operator::Properties properties() const
Definition: linkage.h:122
MachineSignature * machine_sig_
Definition: linkage.h:135

References DCHECK, v8::internal::compiler::Signature< T >::parameter_count(), and v8::internal::compiler::Signature< T >::return_count().

+ Here is the call graph for this function:

◆ CalleeSavedRegisters()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
RegList v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CalleeSavedRegisters ( ) const
inline

Definition at line 125 of file linkage.h.

125 { return callee_saved_registers_; }

◆ CanBeBetterLeftOperand() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeBetterLeftOperand ( Node node) const
inline

Definition at line 41 of file instruction-selector-ia32.cc.

41  {
42  return !selector()->IsLive(node);
43  }

◆ CanBeBetterLeftOperand() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeBetterLeftOperand ( Node node) const
inline

Definition at line 51 of file instruction-selector-x64.cc.

51  {
52  return !selector()->IsLive(node);
53  }

◆ CanBeImmediate() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeImmediate ( Node node)
inline

Definition at line 24 of file instruction-selector-ia32.cc.

24  {
25  switch (node->opcode()) {
26  case IrOpcode::kInt32Constant:
27  case IrOpcode::kNumberConstant:
28  case IrOpcode::kExternalConstant:
29  return true;
30  case IrOpcode::kHeapConstant: {
31  // Constants in new space cannot be used as immediates in V8 because
32  // the GC does not scan code objects when collecting the new generation.
33  Unique<HeapObject> value = OpParameter<Unique<HeapObject> >(node);
34  return !isolate()->heap()->InNewSpace(*value.handle());
35  }
36  default:
37  return false;
38  }
39  }
bool InNewSpace(Object *object)
Definition: heap-inl.h:322

References v8::internal::Unique< T >::handle().

+ Here is the call graph for this function:

◆ CanBeImmediate() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeImmediate ( Node node)
inline

Definition at line 25 of file instruction-selector-x64.cc.

25  {
26  switch (node->opcode()) {
27  case IrOpcode::kInt32Constant:
28  return true;
29  default:
30  return false;
31  }
32  }

◆ CanBeImmediate() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeImmediate ( Node node,
ImmediateMode  mode 
)
inline

Definition at line 39 of file instruction-selector-arm64.cc.

39  {
40  int64_t value;
41  if (node->opcode() == IrOpcode::kInt32Constant)
42  value = OpParameter<int32_t>(node);
43  else if (node->opcode() == IrOpcode::kInt64Constant)
44  value = OpParameter<int64_t>(node);
45  else
46  return false;
47  unsigned ignored;
48  switch (mode) {
49  case kLogical32Imm:
50  // TODO(dcarney): some unencodable values can be handled by
51  // switching instructions.
52  return Assembler::IsImmLogical(static_cast<uint64_t>(value), 32,
53  &ignored, &ignored, &ignored);
54  case kLogical64Imm:
55  return Assembler::IsImmLogical(static_cast<uint64_t>(value), 64,
56  &ignored, &ignored, &ignored);
57  case kArithmeticImm:
58  // TODO(dcarney): -values can be handled by instruction swapping
59  return Assembler::IsImmAddSub(value);
60  case kShift32Imm:
61  return 0 <= value && value < 32;
62  case kShift64Imm:
63  return 0 <= value && value < 64;
64  case kLoadStoreImm8:
65  return IsLoadStoreImmediate(value, LSByte);
66  case kLoadStoreImm16:
67  return IsLoadStoreImmediate(value, LSHalfword);
68  case kLoadStoreImm32:
69  return IsLoadStoreImmediate(value, LSWord);
70  case kLoadStoreImm64:
71  return IsLoadStoreImmediate(value, LSDoubleWord);
72  case kNoImmediate:
73  return false;
74  }
75  return false;
76  }
static bool IsImmAddSub(int64_t immediate)
static bool IsImmLogical(uint64_t value, unsigned width, unsigned *n, unsigned *imm_s, unsigned *imm_r)
bool IsLoadStoreImmediate(int64_t value, LSDataSize size)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long mode(MIPS only)") DEFINE_BOOL(enable_always_align_csp

References v8::internal::Assembler::IsImmAddSub(), v8::internal::Assembler::IsImmLogical(), v8::internal::compiler::kArithmeticImm, v8::internal::compiler::kLoadStoreImm16, v8::internal::compiler::kLoadStoreImm32, v8::internal::compiler::kLoadStoreImm64, v8::internal::compiler::kLoadStoreImm8, v8::internal::compiler::kLogical32Imm, v8::internal::compiler::kLogical64Imm, v8::internal::compiler::kNoImmediate, v8::internal::compiler::kShift32Imm, v8::internal::compiler::kShift64Imm, v8::internal::LSByte, v8::internal::LSDoubleWord, v8::internal::LSHalfword, v8::internal::LSWord, and mode().

+ Here is the call graph for this function:

◆ CanBeImmediate64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeImmediate64 ( Node node)
inline

Definition at line 34 of file instruction-selector-x64.cc.

34  {
35  switch (node->opcode()) {
36  case IrOpcode::kInt32Constant:
37  return true;
38  case IrOpcode::kNumberConstant:
39  return true;
40  case IrOpcode::kHeapConstant: {
41  // Constants in new space cannot be used as immediates in V8 because
42  // the GC does not scan code objects when collecting the new generation.
43  Unique<HeapObject> value = OpParameter<Unique<HeapObject> >(node);
44  return !isolate()->heap()->InNewSpace(*value.handle());
45  }
46  default:
47  return false;
48  }
49  }

References v8::internal::Unique< T >::handle().

+ Here is the call graph for this function:

◆ CanCover()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanCover ( Node user,
Node node 
) const
private

◆ cast() [1/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static const SourcePositionInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::cast ( const Instruction instr)
inlinestatic

Definition at line 638 of file instruction.h.

638  {
639  DCHECK(instr->IsSourcePosition());
640  return static_cast<const SourcePositionInstruction*>(instr);
641  }
SourcePositionInstruction(SourcePosition source_position)
Definition: instruction.h:644

References DCHECK, and v8::internal::compiler::Instruction::IsSourcePosition().

+ Here is the call graph for this function:

◆ cast() [2/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static BlockStartInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::cast ( Instruction instr)
inlinestatic

Definition at line 610 of file instruction.h.

610  {
611  DCHECK(instr->IsBlockStart());
612  return static_cast<BlockStartInstruction*>(instr);
613  }
BlockStartInstruction(BasicBlock *block)
Definition: instruction.h:616

References DCHECK, and v8::internal::compiler::Instruction::IsBlockStart().

+ Here is the call graph for this function:

◆ cast() [3/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static SourcePositionInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::cast ( Instruction instr)
inlinestatic

Definition at line 633 of file instruction.h.

633  {
634  DCHECK(instr->IsSourcePosition());
635  return static_cast<SourcePositionInstruction*>(instr);
636  }

References DCHECK, and v8::internal::compiler::Instruction::IsSourcePosition().

+ Here is the call graph for this function:

◆ cast() [4/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static SubKindOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::cast ( InstructionOperand op)
inlinestatic

Definition at line 324 of file instruction.h.

324  {
325  DCHECK(op->kind() == kOperandKind);
326  return reinterpret_cast<SubKindOperand*>(op);
327  }
const Operator * op() const
Definition: node-matchers.h:20

References DCHECK, and v8::internal::compiler::InstructionOperand::kind().

+ Here is the call graph for this function:

◆ Change()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Change ( Node node,
const Operator op,
Node a 
)
private

◆ ChangeBitToBool() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeBitToBool ( )

◆ ChangeBitToBool() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeBitToBool ( Node val,
Node control 
)
private

◆ ChangeBoolToBit() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeBoolToBit ( )

◆ ChangeBoolToBit() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeBoolToBit ( Node val)
private

◆ Changed()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Changed ( ) const
inline

Definition at line 25 of file graph-reducer.h.

25 { return replacement() != NULL; }

References NULL.

◆ ChangeFloat32ToFloat64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeFloat32ToFloat64 ( )

◆ ChangeFloat64ToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeFloat64ToInt32 ( )

◆ ChangeFloat64ToTagged() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeFloat64ToTagged ( )

◆ ChangeFloat64ToTagged() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeFloat64ToTagged ( Node val,
Node control 
)
private

◆ ChangeFloat64ToUint32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeFloat64ToUint32 ( )

◆ ChangeInt32ToFloat64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeInt32ToFloat64 ( )

◆ ChangeInt32ToInt64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeInt32ToInt64 ( )

◆ ChangeInt32ToTagged() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeInt32ToTagged ( )

◆ ChangeInt32ToTagged() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeInt32ToTagged ( Node val,
Node control 
)
private

◆ ChangeLowering()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeLowering ( JSGraph jsgraph,
Linkage linkage 
)
inline

◆ ChangeSmiToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeSmiToInt32 ( Node value)
private

◆ ChangeTaggedToFloat64() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeTaggedToFloat64 ( )

◆ ChangeTaggedToFloat64() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeTaggedToFloat64 ( Node val,
Node control 
)
private

◆ ChangeTaggedToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeTaggedToInt32 ( )

◆ ChangeTaggedToUI32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeTaggedToUI32 ( Node val,
Node control,
Signedness  signedness 
)
private

◆ ChangeTaggedToUint32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeTaggedToUint32 ( )

◆ ChangeUint32ToFloat64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeUint32ToFloat64 ( )

◆ ChangeUint32ToTagged() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeUint32ToTagged ( )

◆ ChangeUint32ToTagged() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeUint32ToTagged ( Node val,
Node control 
)
private

◆ ChangeUint32ToUint64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ChangeUint32ToUint64 ( )

◆ code()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionSequence* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::code ( ) const
inline

Definition at line 28 of file code-generator.h.

28 { return code_; }
InstructionSequence * code_

◆ CodeGenerator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CodeGenerator ( InstructionSequence code)
explicit

◆ CollectProjections()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CollectProjections ( ZoneVector< Node * > *  projections)

◆ common() [1/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
CommonOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::common ( )
inlineprivate

Definition at line 52 of file js-typed-lowering.h.

52 { return jsgraph_->common(); }
CommonOperatorBuilder * common()
Definition: js-graph.h:87

◆ common() [2/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
CommonOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::common ( ) const
private

◆ common() [3/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
CommonOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::common ( ) const
inlineprivate

Definition at line 29 of file js-builtin-reducer.h.

29 { return jsgraph_->common(); }

◆ common() [4/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
CommonOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::common ( ) const
private

◆ CommonNodeCache()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CommonNodeCache ( Zone zone)
inlineexplicit

Definition at line 18 of file common-node-cache.h.

◆ CommonOperatorBuilder()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CommonOperatorBuilder ( Zone zone)
explicit

◆ Commute()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Commute ( )
inline

Definition at line 255 of file instruction-selector-impl.h.

255  {
256  DCHECK(!IsNone());
257  switch (condition_) {
258  case kEqual:
259  case kNotEqual:
260  case kOverflow:
261  case kNotOverflow:
262  return;
263  case kSignedLessThan:
265  return;
268  return;
271  return;
272  case kSignedGreaterThan:
274  return;
275  case kUnsignedLessThan:
277  return;
280  return;
283  return;
286  return;
287  case kUnorderedEqual:
288  case kUnorderedNotEqual:
289  return;
290  case kUnorderedLessThan:
292  return;
295  return;
298  return;
301  return;
302  }
303  UNREACHABLE();
304  }
#define UNREACHABLE()
Definition: logging.h:30

References DCHECK, v8::internal::compiler::kEqual, v8::internal::compiler::kNotEqual, v8::internal::compiler::kNotOverflow, v8::internal::compiler::kOverflow, v8::internal::compiler::kSignedGreaterThan, v8::internal::compiler::kSignedGreaterThanOrEqual, v8::internal::compiler::kSignedLessThan, v8::internal::compiler::kSignedLessThanOrEqual, v8::internal::compiler::kUnorderedEqual, v8::internal::compiler::kUnorderedGreaterThan, v8::internal::compiler::kUnorderedGreaterThanOrEqual, v8::internal::compiler::kUnorderedLessThan, v8::internal::compiler::kUnorderedLessThanOrEqual, v8::internal::compiler::kUnorderedNotEqual, v8::internal::compiler::kUnsignedGreaterThan, v8::internal::compiler::kUnsignedGreaterThanOrEqual, v8::internal::compiler::kUnsignedLessThan, v8::internal::compiler::kUnsignedLessThanOrEqual, and UNREACHABLE.

◆ condition()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FlagsCondition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::condition ( ) const
inline

Definition at line 233 of file instruction-selector-impl.h.

233  {
234  DCHECK(!IsNone());
235  return condition_;
236  }

References DCHECK.

◆ Constant() [1/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Constant ( double  v)
inlineexplicit

Definition at line 669 of file instruction.h.

669 : type_(kFloat64), value_(bit_cast<int64_t>(v)) {}

◆ Constant() [2/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Constant ( ExternalReference  ref)
inlineexplicit

Definition at line 670 of file instruction.h.

671  : type_(kExternalReference), value_(bit_cast<intptr_t>(ref)) {}

◆ Constant() [3/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Constant ( float  v)
inlineexplicit

Definition at line 668 of file instruction.h.

668 : type_(kFloat32), value_(bit_cast<int32_t>(v)) {}

◆ Constant() [4/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Constant ( Handle< HeapObject obj)
inlineexplicit

Definition at line 672 of file instruction.h.

673  : type_(kHeapObject), value_(bit_cast<intptr_t>(obj)) {}

◆ Constant() [5/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Constant ( int32_t  v)
inlineexplicit

Definition at line 666 of file instruction.h.

666 : type_(kInt32), value_(v) {}

◆ Constant() [6/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Constant ( int64_t  v)
inlineexplicit

Definition at line 667 of file instruction.h.

667 : type_(kInt64), value_(v) {}

◆ ConsumeValue() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ConsumeValue ( )
virtual

◆ ConsumeValue() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ConsumeValue ( )
virtual

◆ ConsumeValue() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ConsumeValue ( )
virtual

◆ ContainingLoop()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ContainingLoop ( )
inline

Definition at line 125 of file schedule.h.

125  {
126  if (IsLoopHeader()) return this;
127  return static_cast<BasicBlock*>(loop_header_);
128  }
BasicBlock(GenericGraphBase *graph, int input_count)
Definition: schedule.h:98

◆ ControlEffect()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ControlEffect ( )

◆ Create()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static SubKindOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Create ( int  index,
Zone zone 
)
inlinestatic

Definition at line 318 of file instruction.h.

318  {
319  DCHECK(index >= 0);
320  if (index < kNumCachedOperands) return &cache[index];
321  return new (zone) SubKindOperand(index);
322  }
static SubKindOperand * cache
Definition: instruction.h:333

References DCHECK.

◆ Dead()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Dead ( )

◆ debug_name()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const char* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::debug_name ( ) const
inline

Definition at line 127 of file linkage.h.

127 { return debug_name_; }

◆ DefineDeoptimizationLiteral()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DefineDeoptimizationLiteral ( Handle< Object literal)
private

◆ destination()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::destination ( ) const
inline

Definition at line 278 of file instruction.h.

278 { return destination_; }
InstructionOperand * destination_
Definition: instruction.h:310

◆ DISALLOW_COPY_AND_ASSIGN() [1/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_COPY_AND_ASSIGN ( BasicBlock  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [2/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_COPY_AND_ASSIGN ( GraphReducer  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [3/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_COPY_AND_ASSIGN ( GraphReplayPrinter  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [4/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_COPY_AND_ASSIGN ( SimplifiedOperatorBuilder  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [5/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_COPY_AND_ASSIGN ( SimplifiedOperatorReducer  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [6/6]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_COPY_AND_ASSIGN ( SourcePositionTable  )
private

◆ DISALLOW_IMPLICIT_CONSTRUCTORS()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::DISALLOW_IMPLICIT_CONSTRUCTORS ( AccessBuilder  )
private

◆ EffectPhi()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::EffectPhi ( int  arguments)

◆ Eliminate()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Eliminate ( )
inline

Definition at line 302 of file instruction.h.

302 { source_ = destination_ = NULL; }
InstructionOperand * source_
Definition: instruction.h:309

References NULL.

◆ Emit() [1/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( Instruction instr)

◆ Emit() [2/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( InstructionCode  opcode,
InstructionOperand output,
InstructionOperand a,
InstructionOperand b,
InstructionOperand c,
InstructionOperand d,
size_t  temp_count = 0,
InstructionOperand **  temps = NULL 
)

◆ Emit() [3/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( InstructionCode  opcode,
InstructionOperand output,
InstructionOperand a,
InstructionOperand b,
InstructionOperand c,
size_t  temp_count = 0,
InstructionOperand **  temps = NULL 
)

◆ Emit() [4/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( InstructionCode  opcode,
InstructionOperand output,
InstructionOperand a,
InstructionOperand b,
size_t  temp_count = 0,
InstructionOperand **  temps = NULL 
)

◆ Emit() [5/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( InstructionCode  opcode,
InstructionOperand output,
InstructionOperand a,
size_t  temp_count = 0,
InstructionOperand **  temps = NULL 
)

◆ Emit() [6/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( InstructionCode  opcode,
InstructionOperand output,
size_t  temp_count = 0,
InstructionOperand **  temps = NULL 
)

◆ Emit() [7/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Emit ( InstructionCode  opcode,
size_t  output_count,
InstructionOperand **  outputs,
size_t  input_count,
InstructionOperand **  inputs,
size_t  temp_count = 0,
InstructionOperand **  temps = NULL 
)

◆ Encode()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionCode v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Encode ( InstructionCode  opcode)
inline

Definition at line 315 of file instruction-selector-impl.h.

References v8::internal::BitFieldBase< T, shift, size, uint32_t >::encode(), and v8::internal::compiler::kFlags_none.

+ Here is the call graph for this function:

◆ End()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::End ( )

◆ end() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::end ( )
inline

Definition at line 132 of file schedule.h.

132 { return nodes_.end(); }

◆ end() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::end ( ) const
inline

Definition at line 864 of file instruction.h.

864 { return instructions_.end(); }

◆ end() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::end ( ) const
inline

Definition at line 136 of file schedule.h.

136 { return nodes_.end(); }

◆ EndBlock()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::EndBlock ( BasicBlock block)

◆ EnsureSpaceForLazyDeopt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::EnsureSpaceForLazyDeopt ( )
private

◆ Entry()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Entry ( Node node,
Entry *  next 
)
inline

◆ ExternalConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ExternalConstant ( const ExternalReference &  )

◆ factory()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Factory* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::factory ( ) const
private

◆ false_block()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::false_block ( ) const
inline

Definition at line 245 of file instruction-selector-impl.h.

245  {
246  DCHECK(IsBranch());
247  return false_block_;
248  }

References DCHECK, and v8::internal::compiler::IsBranch().

+ Here is the call graph for this function:

◆ FindExternalConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node** v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FindExternalConstant ( ExternalReference  reference)
inline

Definition at line 29 of file common-node-cache.h.

29  {
30  return external_constants_.Find(zone_, reference.address());
31  }
Node ** Find(Zone *zone, Key key)
Definition: node-cache.cc:78

◆ FindFloat64Constant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node** v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FindFloat64Constant ( double  value)
inline

Definition at line 24 of file common-node-cache.h.

24  {
25  // We canonicalize double constants at the bit representation level.
26  return float64_constants_.Find(zone_, bit_cast<int64_t>(value));
27  }

◆ FindInt32Constant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node** v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FindInt32Constant ( int32_t  value)
inline

Definition at line 20 of file common-node-cache.h.

20  {
21  return int32_constants_.Find(zone_, value);
22  }

◆ FindNumberConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node** v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FindNumberConstant ( double  value)
inline

Definition at line 33 of file common-node-cache.h.

33  {
34  // We canonicalize double constants at the bit representation level.
35  return number_constants_.Find(zone_, bit_cast<int64_t>(value));
36  }

◆ FindProjection()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FindProjection ( size_t  projection_index)

◆ Finish()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Finish ( int  arguments)

◆ flags()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Flags v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::flags ( ) const
inline

Definition at line 97 of file linkage.h.

97 { return flags_; }

◆ FlagsContinuation() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FlagsContinuation ( )
inline

Definition at line 210 of file instruction-selector-impl.h.

210 : mode_(kFlags_none) {}

◆ FlagsContinuation() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FlagsContinuation ( FlagsCondition  condition,
BasicBlock true_block,
BasicBlock false_block 
)
inline

◆ FlagsContinuation() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FlagsContinuation ( FlagsCondition  condition,
Node result 
)
inline

◆ Float32Constant() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float32Constant ( volatile float  value)
private

◆ Float32Constant() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float32Constant ( volatile float  )

◆ Float64Add()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Add ( )

◆ Float64Constant() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Constant ( volatile double  value)
private

◆ Float64Constant() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Constant ( volatile double  )

◆ Float64Div()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Div ( )

◆ Float64Equal()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Equal ( )

◆ Float64LessThan()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64LessThan ( )

◆ Float64LessThanOrEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64LessThanOrEqual ( )

◆ Float64Mod()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Mod ( )

◆ Float64Mul()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Mul ( )

◆ Float64Sqrt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Sqrt ( )

◆ Float64Sub()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Float64Sub ( )

◆ FloatMatcher()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FloatMatcher ( Node node)
inlineexplicit

Definition at line 88 of file node-matchers.h.

88 : ValueMatcher<T, kOpcode>(node) {}

◆ ForExternalArrayPointer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static FieldAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForExternalArrayPointer ( )
static

◆ ForFixedArrayElement()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static ElementAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForFixedArrayElement ( )
static

◆ ForJSArrayBufferBackingStore()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static FieldAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForJSArrayBufferBackingStore ( )
static

◆ ForJSFunctionContext()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static FieldAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForJSFunctionContext ( )
static

◆ ForJSObjectElements()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static FieldAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForJSObjectElements ( )
static

◆ ForJSObjectProperties()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static FieldAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForJSObjectProperties ( )
static

◆ ForMap()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static FieldAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForMap ( )
static

◆ ForTypedArrayElement()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static ElementAccess v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ForTypedArrayElement ( ExternalArrayType  type,
bool  is_external 
)
static

◆ frame() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Frame* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::frame ( )
inline

Definition at line 876 of file instruction.h.

876 { return &frame_; }

◆ frame() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Frame* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::frame ( ) const
inline

Definition at line 29 of file code-generator.h.

29 { return code()->frame(); }
InstructionSequence * code() const

◆ FrameState()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FrameState ( FrameStateType  type,
BailoutId  bailout_id,
OutputFrameStateCombine  state_combine,
MaybeHandle< JSFunction jsfunction = MaybeHandleJSFunction >() 
)

◆ FrameStateCallInfo()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FrameStateCallInfo ( FrameStateType  type,
BailoutId  bailout_id,
OutputFrameStateCombine  state_combine,
MaybeHandle< JSFunction jsfunction = MaybeHandle<JSFunction>() 
)
inline

Definition at line 44 of file common-operator.h.

48  : type_(type),
MaybeHandle< JSFunction > jsfunction_
FrameStateType type() const
MaybeHandle< JSFunction > jsfunction() const
OutputFrameStateCombine frame_state_combine_
OutputFrameStateCombine state_combine() const

◆ FrameStateCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
size_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::FrameStateCount ( ) const
inline

Definition at line 95 of file linkage.h.

95 { return NeedsFrameState() ? 1 : 0; }
bool NeedsFrameState() const
Definition: linkage.h:99

◆ GapAt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
GapInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GapAt ( int  index) const
inline

Definition at line 866 of file instruction.h.

866  {
868  }
Instruction * InstructionAt(int index) const
Definition: instruction.h:870
static GapInstruction * cast(Instruction *instr)
Definition: instruction.h:573

References v8::internal::compiler::GapInstruction::cast().

+ Here is the call graph for this function:

◆ GapResolver()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GapResolver ( Assembler assembler)
inlineexplicit

Definition at line 29 of file gap-resolver.h.

29 : assembler_(assembler) {}
Assembler *const assembler_
Definition: gap-resolver.h:40

◆ GenerateCode()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Handle<Code> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GenerateCode ( )

◆ GetBasicBlock()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetBasicBlock ( int  instruction_index)

◆ GetBlockStart()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BlockStartInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetBlockStart ( BasicBlock block)

◆ GetConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Constant v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetConstant ( int  virtual_register) const
inline

Definition at line 893 of file instruction.h.

893  {
894  ConstantMap::const_iterator it = constants_.find(virtual_register);
895  DCHECK(it != constants_.end());
896  DCHECK_EQ(virtual_register, it->first);
897  return it->second;
898  }
#define DCHECK_EQ(v1, v2)
Definition: logging.h:206

References DCHECK, and DCHECK_EQ.

◆ GetContainingLoop()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetContainingLoop ( BasicBlock block)
inline

Definition at line 841 of file instruction.h.

841  {
842  return block->loop_header_;
843  }

◆ GetFrameStateDescriptor() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FrameStateDescriptor* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetFrameStateDescriptor ( Instruction instr,
size_t  frame_state_offset 
)
private

◆ GetFrameStateDescriptor() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FrameStateDescriptor* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetFrameStateDescriptor ( Node node)
private

◆ GetFrameStateDescriptor() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FrameStateDescriptor* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetFrameStateDescriptor ( StateId  deoptimization_id)

◆ GetFrameStateDescriptorCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetFrameStateDescriptorCount ( )

◆ GetImmediate()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Constant v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetImmediate ( int  index) const
inline

Definition at line 908 of file instruction.h.

908  {
909  DCHECK(index >= 0);
910  DCHECK(index < static_cast<int>(immediates_.size()));
911  return immediates_[index];
912  }

References DCHECK.

◆ GetInputLocation()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LinkageLocation v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetInputLocation ( size_t  index) const
inline

Definition at line 105 of file linkage.h.

105  {
106  if (index == 0) return target_loc_;
107  return location_sig_->GetParam(index - 1);
108  }
T GetParam(size_t index) const
Definition: machine-type.h:116

◆ GetInputType()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetInputType ( size_t  index) const
inline

Definition at line 116 of file linkage.h.

116  {
117  if (index == 0) return target_type_;
118  return machine_sig_->GetParam(index - 1);
119  }

◆ GetLabel()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Label* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetLabel ( BasicBlock block)

◆ GetLoopEnd()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetLoopEnd ( BasicBlock block) const
inline

Definition at line 845 of file instruction.h.

845 { return block->loop_end_; }

◆ GetMachineSignature()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const MachineSignature* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetMachineSignature ( ) const
inline

Definition at line 110 of file linkage.h.

110 { return machine_sig_; }

◆ GetNormalizedOperands()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const ZoneList<InstructionOperand*>* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetNormalizedOperands ( )
inline

Definition at line 375 of file instruction.h.

375  {
376  for (int i = 0; i < untagged_operands_.length(); ++i) {
378  }
379  untagged_operands_.Clear();
380  return &pointer_operands_;
381  }
void RemovePointer(InstructionOperand *op)
ZoneList< InstructionOperand * > pointer_operands_
Definition: instruction.h:396
ZoneList< InstructionOperand * > untagged_operands_
Definition: instruction.h:397

◆ GetReturnLocation()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LinkageLocation v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetReturnLocation ( size_t  index) const
inline

Definition at line 101 of file linkage.h.

101  {
102  return location_sig_->GetReturn(index);
103  }
T GetReturn(size_t index=0) const
Definition: machine-type.h:121

◆ GetReturnType()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetReturnType ( size_t  index) const
inline

Definition at line 112 of file linkage.h.

112  {
113  return machine_sig_->GetReturn(index);
114  }

◆ GetSourcePosition()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetSourcePosition ( Node node)

◆ GetVirtualRegister()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GetVirtualRegister ( Node node) const
inline

Definition at line 849 of file instruction.h.

849 { return node->id(); }

◆ graph() [1/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( )
inline

Definition at line 28 of file js-typed-lowering.h.

28 { return jsgraph_->graph(); }

◆ graph() [2/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
private

◆ graph() [3/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
inline

Definition at line 30 of file code-generator.h.

30 { return code()->graph(); }

◆ graph() [4/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
inline

Definition at line 60 of file graph-reducer.h.

60 { return graph_; }

◆ graph() [5/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
inlineprivate

Definition at line 193 of file instruction-selector.h.

193 { return sequence()->graph(); }
InstructionSequence * sequence() const

◆ graph() [6/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
inline

Definition at line 877 of file instruction.h.

877 { return graph_; }

◆ graph() [7/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
inlineprivate

Definition at line 28 of file js-builtin-reducer.h.

28 { return jsgraph_->graph(); }

◆ graph() [8/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
private

◆ graph() [9/9]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph ( ) const
private

◆ GraphReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GraphReducer ( Graph graph)
explicit

◆ GraphReducerVisitor()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GraphReducerVisitor ( GraphReducer reducer)
inlineexplicit

Definition at line 74 of file graph-reducer.cc.

74 : reducer_(reducer) {}

◆ GraphReplayPrinter()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::GraphReplayPrinter ( )
inlineprivate

Definition at line 32 of file graph-replay.h.

32 {}

◆ HeapConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::HeapConstant ( const Unique< Object > &  )

◆ HeapNumberValueIndexConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::HeapNumberValueIndexConstant ( )
private

◆ HeapObjectMatcher()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::HeapObjectMatcher ( Node node)
inlineexplicit

Definition at line 102 of file node-matchers.h.

103  : ValueMatcher<Unique<T>, IrOpcode::kHeapConstant>(node) {}

◆ IA32OperandGenerator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IA32OperandGenerator ( InstructionSelector selector)
inlineexplicit

Definition at line 16 of file instruction-selector-ia32.cc.

◆ IfFalse()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IfFalse ( )

◆ IfTrue()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IfTrue ( )

◆ immediates()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Immediates& v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::immediates ( ) const
inline

Definition at line 901 of file instruction.h.

901 { return immediates_; }

◆ Initialize()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Initialize ( const Operator op)
inline

Definition at line 55 of file node.h.

55 { set_op(op); }
void set_op(const Operator *op)
Definition: node.h:27

◆ InitializeCallBuffer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InitializeCallBuffer ( Node call,
CallBuffer buffer,
bool  call_code_immediate,
bool  call_address_immediate 
)
private

◆ InputCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
size_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputCount ( ) const
inline

Definition at line 93 of file linkage.h.

93 { return 1 + machine_sig_->parameter_count(); }

◆ InputFloat32Register()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SwVfpRegister v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputFloat32Register ( int  index)
inline

Definition at line 34 of file code-generator-arm.cc.

34  {
36  }
SwVfpRegister ToFloat32Register(InstructionOperand *op)

◆ InputFloat64Register()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LowDwVfpRegister v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputFloat64Register ( int  index)
inline

Definition at line 46 of file code-generator-arm.cc.

46  {
48  }
LowDwVfpRegister ToFloat64Register(InstructionOperand *op)

◆ InputImmediate() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputImmediate ( int  index)
inline

Definition at line 66 of file code-generator-arm.cc.

66  {
67  Constant constant = ToConstant(instr_->InputAt(index));
68  switch (constant.type()) {
69  case Constant::kInt32:
70  return Operand(constant.ToInt32());
71  case Constant::kFloat32:
72  return Operand(
73  isolate()->factory()->NewNumber(constant.ToFloat32(), TENURED));
74  case Constant::kFloat64:
75  return Operand(
76  isolate()->factory()->NewNumber(constant.ToFloat64(), TENURED));
77  case Constant::kInt64:
78  case Constant::kExternalReference:
79  case Constant::kHeapObject:
80  break;
81  }
82  UNREACHABLE();
83  return Operand::Zero();
84  }
Constant ToConstant(InstructionOperand *operand)

References v8::internal::TENURED, and UNREACHABLE.

◆ InputImmediate() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputImmediate ( int  index)
inline

Definition at line 33 of file code-generator-arm64.cc.

33  {
34  return ToImmediate(instr_->InputAt(index));
35  }
Operand ToImmediate(InstructionOperand *operand)

◆ InputOffset() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MemOperand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputOffset ( )
inline

Definition at line 144 of file code-generator-arm.cc.

144  {
145  int index = 0;
146  return InputOffset(&index);
147  }

◆ InputOffset() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MemOperand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputOffset ( int first_index)
inline

Definition at line 118 of file code-generator-arm.cc.

118  {
119  const int index = *first_index;
121  case kMode_None:
122  case kMode_Operand2_I:
123  case kMode_Operand2_R:
124  case kMode_Operand2_R_ASR_I:
125  case kMode_Operand2_R_ASR_R:
126  case kMode_Operand2_R_LSL_I:
127  case kMode_Operand2_R_LSL_R:
128  case kMode_Operand2_R_LSR_I:
129  case kMode_Operand2_R_LSR_R:
130  case kMode_Operand2_R_ROR_I:
131  case kMode_Operand2_R_ROR_R:
132  break;
133  case kMode_Offset_RI:
134  *first_index += 2;
135  return MemOperand(InputRegister(index + 0), InputInt32(index + 1));
136  case kMode_Offset_RR:
137  *first_index += 2;
138  return MemOperand(InputRegister(index + 0), InputRegister(index + 1));
139  }
140  UNREACHABLE();
141  return MemOperand(r0);
142  }
const Register r0

References v8::internal::BitFieldBase< T, shift, size, uint32_t >::decode(), v8::internal::r0, and UNREACHABLE.

+ Here is the call graph for this function:

◆ InputOperand()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputOperand ( int  index)
inline

Definition at line 37 of file code-generator-arm64.cc.

37 { return ToOperand(instr_->InputAt(index)); }
Operand ToOperand(InstructionOperand *op)

◆ InputOperand2()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputOperand2 ( int  first_index)
inline

Definition at line 86 of file code-generator-arm.cc.

86  {
87  const int index = first_index;
89  case kMode_None:
90  case kMode_Offset_RI:
91  case kMode_Offset_RR:
92  break;
93  case kMode_Operand2_I:
94  return InputImmediate(index + 0);
95  case kMode_Operand2_R:
96  return Operand(InputRegister(index + 0));
97  case kMode_Operand2_R_ASR_I:
98  return Operand(InputRegister(index + 0), ASR, InputInt5(index + 1));
99  case kMode_Operand2_R_ASR_R:
100  return Operand(InputRegister(index + 0), ASR, InputRegister(index + 1));
101  case kMode_Operand2_R_LSL_I:
102  return Operand(InputRegister(index + 0), LSL, InputInt5(index + 1));
103  case kMode_Operand2_R_LSL_R:
104  return Operand(InputRegister(index + 0), LSL, InputRegister(index + 1));
105  case kMode_Operand2_R_LSR_I:
106  return Operand(InputRegister(index + 0), LSR, InputInt5(index + 1));
107  case kMode_Operand2_R_LSR_R:
108  return Operand(InputRegister(index + 0), LSR, InputRegister(index + 1));
109  case kMode_Operand2_R_ROR_I:
110  return Operand(InputRegister(index + 0), ROR, InputInt5(index + 1));
111  case kMode_Operand2_R_ROR_R:
112  return Operand(InputRegister(index + 0), ROR, InputRegister(index + 1));
113  }
114  UNREACHABLE();
115  return Operand::Zero();
116  }

References v8::internal::ASR, v8::internal::BitFieldBase< T, shift, size, uint32_t >::decode(), v8::internal::LSL, v8::internal::LSR, v8::internal::ROR, and UNREACHABLE.

+ Here is the call graph for this function:

◆ InputOperand32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputOperand32 ( int  index)
inline

Definition at line 41 of file code-generator-arm64.cc.

41  {
42  return ToOperand32(instr_->InputAt(index));
43  }
Operand ToOperand32(InstructionOperand *op)

◆ InputOperand64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputOperand64 ( int  index)
inline

Definition at line 39 of file code-generator-arm64.cc.

39 { return InputOperand(index); }

◆ InputRegister32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Register v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputRegister32 ( int  index)
inline

Definition at line 27 of file code-generator-arm64.cc.

27  {
28  return ToRegister(instr_->InputAt(index)).W();
29  }

References v8::internal::ToRegister(), and v8::internal::CPURegister::W().

+ Here is the call graph for this function:

◆ InputRegister64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Register v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InputRegister64 ( int  index)
inline

Definition at line 31 of file code-generator-arm64.cc.

31 { return InputRegister(index); }

◆ instruction_position()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::instruction_position ( ) const
inline

Definition at line 382 of file instruction.h.

◆ instruction_zone()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::instruction_zone ( ) const
inlineprivate

Definition at line 197 of file instruction-selector.h.

197 { return sequence()->zone(); }

◆ InstructionAt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Instruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InstructionAt ( int  index) const
inline

Definition at line 870 of file instruction.h.

870  {
871  DCHECK(index >= 0);
872  DCHECK(index < static_cast<int>(instructions_.size()));
873  return instructions_[index];
874  }

References DCHECK.

◆ InstructionSelector()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InstructionSelector ( InstructionSequence sequence,
SourcePositionTable source_positions,
Features  features = SupportedFeatures() 
)

◆ InstructionSequence()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::InstructionSequence ( Linkage linkage,
Graph graph,
Schedule schedule 
)
inline

Definition at line 813 of file instruction.h.

814  : graph_(graph),
815  linkage_(linkage),
817  constants_(ConstantMap::key_compare(),
818  ConstantMap::allocator_type(zone())),
819  immediates_(zone()),
820  instructions_(zone()),
822  pointer_maps_(zone()),
823  doubles_(std::less<int>(), VirtualRegisterSet::allocator_type(zone())),
824  references_(std::less<int>(),
825  VirtualRegisterSet::allocator_type(zone())),
Schedule * schedule() const
DeoptimizationVector deoptimization_entries_
Definition: instruction.h:944
VirtualRegisterSet doubles_
Definition: instruction.h:941
VirtualRegisterSet references_
Definition: instruction.h:942
PointerMapDeque pointer_maps_
Definition: instruction.h:940

◆ Int32Add()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Add ( )

◆ Int32AddWithOverflow()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32AddWithOverflow ( )

◆ Int32Constant() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Constant ( int32_t  value)
private

◆ Int32Constant() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Constant ( int32_t  )

◆ Int32Div()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Div ( )

◆ Int32LessThan()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32LessThan ( )

◆ Int32LessThanOrEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32LessThanOrEqual ( )

◆ Int32Mod()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Mod ( )

◆ Int32Mul()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Mul ( )

◆ Int32Sub()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32Sub ( )

◆ Int32SubWithOverflow()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32SubWithOverflow ( )

◆ Int32UDiv()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32UDiv ( )

◆ Int32UMod()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int32UMod ( )

◆ Int64Add()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Add ( )

◆ Int64Constant() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Constant ( int64_t  value)
private

◆ Int64Constant() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Constant ( int64_t  )

◆ Int64Div()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Div ( )

◆ Int64LessThan()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64LessThan ( )

◆ Int64LessThanOrEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64LessThanOrEqual ( )

◆ Int64Mod()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Mod ( )

◆ Int64Mul()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Mul ( )

◆ Int64Sub()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64Sub ( )

◆ Int64UDiv()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64UDiv ( )

◆ Int64UMod()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Int64UMod ( )

◆ IntMatcher()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IntMatcher ( Node node)
inlineexplicit

Definition at line 71 of file node-matchers.h.

71 : ValueMatcher<T, kOpcode>(node) {}

◆ Invalid()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Invalid ( )
inlinestatic

Definition at line 24 of file source-position.h.

static const int kInvalidPosition
SourcePosition(int raw=kUnknownPosition)

◆ Is32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Is32 ( ) const
inline

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

146 { return word() == kRepWord32; }

References v8::internal::compiler::kRepWord32.

◆ Is64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Is64 ( ) const
inline

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

147 { return word() == kRepWord64; }

References v8::internal::compiler::kRepWord64.

◆ IsBranch()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsBranch ( ) const
inline

Definition at line 231 of file instruction-selector-impl.h.

231 { return mode_ == kFlags_branch; }

References v8::internal::compiler::kFlags_branch.

◆ IsDead()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsDead ( ) const
inline

Definition at line 57 of file node.h.

57 { return InputCount() > 0 && InputAt(0) == NULL; }
size_t InputCount() const
Definition: linkage.h:93

References NULL.

◆ IsDefined()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsDefined ( Node node) const
private

◆ IsDouble() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsDouble ( const Node node) const
private

◆ IsDouble() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsDouble ( int  virtual_register) const

◆ IsEliminated()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsEliminated ( ) const
inline

Definition at line 303 of file instruction.h.

303  {
304  DCHECK(source_ != NULL || destination_ == NULL);
305  return source_ == NULL;
306  }

References DCHECK, and NULL.

◆ IsFoldable()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsFoldable ( ) const
inline

Definition at line 120 of file node-matchers.h.

120 { return left().HasValue() && right().HasValue(); }
const Right & right() const
const Left & left() const

◆ IsGapAt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsGapAt ( int  index) const
inline

Definition at line 869 of file instruction.h.

◆ IsIgnored()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsIgnored ( ) const
inline

Definition at line 297 of file instruction.h.

297  {
298  return destination_ != NULL && destination_->IsIgnored();
299  }

References NULL.

◆ IsInvalid()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsInvalid ( ) const
inline

Definition at line 25 of file source-position.h.

25 { return raw() == kInvalidPosition; }

◆ IsJSFunctionCall()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsJSFunctionCall ( ) const
inline

Definition at line 81 of file linkage.h.

81 { return kind_ == kCallJSFunction; }

◆ IsLive()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsLive ( Node node) const
inline

Definition at line 88 of file instruction-selector.h.

88 { return !IsDefined(node) && IsUsed(node); }
bool IsDefined(Node *node) const
bool IsUsed(Node *node) const

◆ IsLoadStoreImmediate()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsLoadStoreImmediate ( int64_t  value,
LSDataSize  size 
)
inlineprivate

Definition at line 79 of file instruction-selector-arm64.cc.

79  {
80  return Assembler::IsImmLSScaled(value, size) ||
82  }
static bool IsImmLSScaled(int64_t offset, LSDataSize size)
static bool IsImmLSUnscaled(int64_t offset)
enable harmony numeric enable harmony object literal extensions Optimize object size

References v8::internal::Assembler::IsImmLSScaled(), v8::internal::Assembler::IsImmLSUnscaled(), and size.

+ Here is the call graph for this function:

◆ IsNaN()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsNaN ( ) const
inline

Definition at line 90 of file node-matchers.h.

90 { return this->HasValue() && std::isnan(this->Value()); }
int isnan(double x)

◆ IsNextInAssemblyOrder() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsNextInAssemblyOrder ( const BasicBlock block) const
inlineprivate

Definition at line 43 of file code-generator.h.

43  {
44  return block->rpo_number_ == (current_block_->rpo_number_ + 1) &&
45  block->deferred_ == current_block_->deferred_;
46  }

◆ IsNextInAssemblyOrder() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsNextInAssemblyOrder ( const BasicBlock block) const
private

◆ IsNone()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsNone ( ) const
inline

Definition at line 230 of file instruction-selector-impl.h.

230 { return mode_ == kFlags_none; }

References v8::internal::compiler::kFlags_none.

◆ isolate() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Isolate* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::isolate ( ) const
private

◆ isolate() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Isolate* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::isolate ( ) const
inline

Definition at line 31 of file code-generator.h.

31 { return zone()->isolate(); }
Isolate * isolate() const
Definition: zone.h:68

◆ isolate() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Isolate* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::isolate ( ) const
inline

Definition at line 878 of file instruction.h.

878 { return zone()->isolate(); }

◆ IsPending()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsPending ( ) const
inline

Definition at line 283 of file instruction.h.

283 { return destination_ == NULL && source_ != NULL; }

References NULL.

◆ IsPowerOf2()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsPowerOf2 ( ) const
inline

Definition at line 73 of file node-matchers.h.

73  {
74  return this->HasValue() && this->Value() > 0 &&
75  (this->Value() & (this->Value() - 1)) == 0;
76  }

◆ IsRedundant() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsRedundant ( ) const
inline

Definition at line 292 of file instruction.h.

292  {
293  return IsEliminated() || source_->Equals(destination_) || IsIgnored() ||
294  (destination_ != NULL && destination_->IsConstant());
295  }

References NULL.

◆ IsRedundant() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsRedundant ( ) const

◆ IsReference() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsReference ( const Node node) const
private

◆ IsReference() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsReference ( int  virtual_register) const

◆ IsSet()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsSet ( ) const
inline

Definition at line 232 of file instruction-selector-impl.h.

232 { return mode_ == kFlags_set; }

References v8::internal::compiler::kFlags_set.

◆ IsSupported()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsSupported ( CpuFeature  feature) const
inline

Definition at line 78 of file instruction-selector.h.

78  {
79  return features_.Contains(feature);
80  }

◆ IsUnknown()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsUnknown ( ) const
inline

Definition at line 22 of file source-position.h.

22 { return raw() == kUnknownPosition; }
static const int kUnknownPosition

◆ IsUsed()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsUsed ( Node node) const
private

◆ javascript()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::javascript ( )
inlineprivate

Definition at line 51 of file js-typed-lowering.h.

51 { return jsgraph_->javascript(); }
JSOperatorBuilder * javascript()
Definition: js-graph.h:86

◆ JSBuiltinReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::JSBuiltinReducer ( JSGraph jsgraph)
inlineexplicit

Definition at line 20 of file js-builtin-reducer.h.

◆ jsfunction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MaybeHandle<JSFunction> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsfunction ( ) const
inline

Definition at line 56 of file common-operator.h.

56 { return jsfunction_; }

◆ jsgraph() [1/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSGraph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsgraph ( )
inline

Definition at line 27 of file js-typed-lowering.h.

27 { return jsgraph_; }

◆ jsgraph() [2/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSGraph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsgraph ( ) const
inlineprivate

Definition at line 47 of file change-lowering.h.

47 { return jsgraph_; }

◆ jsgraph() [3/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSGraph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsgraph ( ) const
inlineprivate

Definition at line 27 of file js-builtin-reducer.h.

27 { return jsgraph_; }

◆ jsgraph() [4/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSGraph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsgraph ( ) const
inlineprivate

Definition at line 55 of file machine-operator-reducer.h.

55 { return jsgraph_; }

◆ jsgraph() [5/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSGraph* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsgraph ( ) const
inlineprivate

Definition at line 41 of file simplified-operator-reducer.h.

41 { return jsgraph_; }

◆ JSParameterCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
size_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::JSParameterCount ( ) const
inline

Definition at line 88 of file linkage.h.

88 { return js_param_count_; }

◆ JSTypedLowering()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::JSTypedLowering ( JSGraph jsgraph)
inlineexplicit

Definition at line 21 of file js-typed-lowering.h.

◆ Kill()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Kill ( )

◆ kind()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Kind v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::kind ( ) const
inline

Definition at line 78 of file linkage.h.

78 { return kind_; }

◆ label()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Label* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::label ( )
inline

Definition at line 603 of file instruction.h.

603 { return &label_; }

◆ left()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Left& v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::left ( ) const
inline

Definition at line 117 of file node-matchers.h.

117 { return left_; }

◆ LeftEqualsRight()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::LeftEqualsRight ( ) const
inline

Definition at line 121 of file node-matchers.h.

121 { return left().node() == right().node(); }

◆ linkage() [1/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Linkage* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::linkage ( ) const
inlineprivate

Definition at line 48 of file change-lowering.h.

48 { return linkage_; }

◆ linkage() [2/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Linkage* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::linkage ( ) const
inline

Definition at line 32 of file code-generator.h.

32 { return code()->linkage(); }

◆ linkage() [3/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Linkage* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::linkage ( ) const
inlineprivate

Definition at line 194 of file instruction-selector.h.

194 { return sequence()->linkage(); }

◆ linkage() [4/4]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Linkage* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::linkage ( ) const
inline

Definition at line 879 of file instruction.h.

879 { return linkage_; }

◆ Load()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Load ( LoadRepresentation  rep)

◆ LoadElement()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::LoadElement ( ElementAccess const &  )

◆ LoadField()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::LoadField ( const FieldAccess )

◆ LoadHeapNumberValue()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::LoadHeapNumberValue ( Node value,
Node control 
)
private

◆ Loop()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Loop ( int  controls)

◆ loop_header()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::loop_header ( )
inline

Definition at line 122 of file schedule.h.

122  {
123  return static_cast<BasicBlock*>(loop_header_);
124  }

◆ machine() [1/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine ( )
inlineprivate

Definition at line 54 of file js-typed-lowering.h.

54 { return jsgraph_->machine(); }
MachineOperatorBuilder * machine()
Definition: js-graph.h:88

◆ machine() [2/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine ( ) const
private

◆ machine() [3/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine ( ) const
inlineprivate

Definition at line 30 of file js-builtin-reducer.h.

30 { return jsgraph_->machine(); }

◆ machine() [4/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine ( ) const
private

◆ machine() [5/5]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine ( ) const
private

◆ machine_type()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine_type ( ) const
inline

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

36 { return machine_type_; }

◆ MachineOperatorBuilder()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MachineOperatorBuilder ( MachineType  word = kMachPtr)
explicit

◆ MachineOperatorReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MachineOperatorReducer ( JSGraph jsgraph)
explicit

◆ MarkAsDefined()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsDefined ( Node node)
private

◆ MarkAsDouble() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsDouble ( int  virtual_register)

◆ MarkAsDouble() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsDouble ( Node node)
private

◆ MarkAsReference() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsReference ( int  virtual_register)

◆ MarkAsReference() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsReference ( Node node)
private

◆ MarkAsRepresentation()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsRepresentation ( MachineType  rep,
Node node 
)
private

◆ MarkAsUsed()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkAsUsed ( Node node)
private

◆ MarkLazyDeoptSite()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MarkLazyDeoptSite ( )
private

◆ masm()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MacroAssembler* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::masm ( )
inlineprivate

Definition at line 36 of file code-generator.h.

36 { return &masm_; }

◆ MemoryOperand() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MemOperand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MemoryOperand ( )
inline

Definition at line 66 of file code-generator-arm64.cc.

66  {
67  int index = 0;
68  return MemoryOperand(&index);
69  }

◆ MemoryOperand() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MemOperand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MemoryOperand ( int first_index)
inline

Definition at line 49 of file code-generator-arm64.cc.

49  {
50  const int index = *first_index;
52  case kMode_None:
53  break;
54  case kMode_MRI:
55  *first_index += 2;
56  return MemOperand(InputRegister(index + 0), InputInt32(index + 1));
57  case kMode_MRR:
58  *first_index += 2;
60  SXTW);
61  }
62  UNREACHABLE();
63  return MemOperand(no_reg);
64  }
const Register no_reg

References v8::internal::BitFieldBase< T, shift, size, uint32_t >::decode(), v8::internal::no_reg, v8::internal::SXTW, and UNREACHABLE.

+ Here is the call graph for this function:

◆ Merge()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Merge ( int  controls)

◆ move_operands() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneList<MoveOperands>* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::move_operands ( )
inline

Definition at line 357 of file instruction.h.

357 { return &move_operands_; }

◆ move_operands() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const ZoneList<MoveOperands>* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::move_operands ( ) const
inline

Definition at line 358 of file instruction.h.

358  {
359  return &move_operands_;
360  }

◆ MoveOperands()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::MoveOperands ( InstructionOperand source,
InstructionOperand destination 
)
inline

Definition at line 272 of file instruction.h.

InstructionOperand * destination() const
Definition: instruction.h:278

◆ NeedsFrameState()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
bool v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NeedsFrameState ( ) const
inline

Definition at line 99 of file linkage.h.

99 { return flags() & kNeedsFrameState; }

References v8::internal::anonymous_namespace{flags.cc}::flags.

◆ Negate()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Negate ( )
inline

Definition at line 250 of file instruction-selector-impl.h.

250  {
251  DCHECK(!IsNone());
252  condition_ = static_cast<FlagsCondition>(condition_ ^ 1);
253  }

References DCHECK.

◆ New() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static BlockStartInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::New ( Zone zone,
BasicBlock block 
)
inlinestatic

Definition at line 605 of file instruction.h.

605  {
606  void* buffer = zone->New(sizeof(BlockStartInstruction));
607  return new (buffer) BlockStartInstruction(block);
608  }
void * New(int size)
Definition: zone.cc:65

References v8::internal::Zone::New().

+ Here is the call graph for this function:

◆ New() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static SourcePositionInstruction* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::New ( Zone zone,
SourcePosition  position 
)
inlinestatic

Definition at line 626 of file instruction.h.

626  {
627  void* buffer = zone->New(sizeof(SourcePositionInstruction));
628  return new (buffer) SourcePositionInstruction(position);
629  }

References v8::internal::Zone::New().

+ Here is the call graph for this function:

◆ next()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Entry* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::next ( ) const
inline

Definition at line 41 of file value-numbering-reducer.cc.

41 { return next_; }

◆ NextVirtualRegister()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NextVirtualRegister ( )
inline

Definition at line 828 of file instruction.h.

828 { return next_virtual_register_++; }

◆ node()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::node ( ) const
inline

Definition at line 40 of file value-numbering-reducer.cc.

40 { return node_; }

◆ Node()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Node ( GenericGraphBase graph,
int  input_count 
)
inline

Definition at line 52 of file node.h.

53  : GenericNode<NodeData, Node>(graph, input_count) {}

◆ NumberAdd()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberAdd ( )

◆ NumberConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberConstant ( volatile double  )

◆ NumberDivide()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberDivide ( )

◆ NumberEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberEqual ( )

◆ NumberLessThan()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberLessThan ( )

◆ NumberLessThanOrEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberLessThanOrEqual ( )

◆ NumberModulus()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberModulus ( )

◆ NumberMultiply()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberMultiply ( )

◆ NumberSubtract()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberSubtract ( )

◆ NumberToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberToInt32 ( )

◆ NumberToUint32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::NumberToUint32 ( )

◆ OutputFloat32Register()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SwVfpRegister v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::OutputFloat32Register ( int  index = 0)
inline

Definition at line 30 of file code-generator-arm.cc.

30  {
32  }
InstructionOperand * OutputAt(size_t i) const
Definition: instruction.h:407

◆ OutputFloat64Register()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LowDwVfpRegister v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::OutputFloat64Register ( int  index = 0)
inline

Definition at line 42 of file code-generator-arm.cc.

42  {
44  }

◆ OutputRegister32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Register v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::OutputRegister32 ( )
inline

Definition at line 47 of file code-generator-arm64.cc.

47 { return ToRegister(instr_->Output()).W(); }
InstructionOperand * Output() const
Definition: instruction.h:413

References v8::internal::ToRegister(), and v8::internal::CPURegister::W().

+ Here is the call graph for this function:

◆ OutputRegister64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Register v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::OutputRegister64 ( )
inline

Definition at line 45 of file code-generator-arm64.cc.

◆ OutputSBit()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SBit v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::OutputSBit ( ) const
inline

Definition at line 54 of file code-generator-arm.cc.

54  {
55  switch (instr_->flags_mode()) {
56  case kFlags_branch:
57  case kFlags_set:
58  return SetCC;
59  case kFlags_none:
60  return LeaveCC;
61  }
62  UNREACHABLE();
63  return LeaveCC;
64  }

References v8::internal::compiler::kFlags_branch, v8::internal::compiler::kFlags_none, v8::internal::compiler::kFlags_set, v8::internal::LeaveCC, v8::internal::SetCC, and UNREACHABLE.

◆ OverwriteAndNegateIfEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::OverwriteAndNegateIfEqual ( FlagsCondition  condition)
inline

Definition at line 306 of file instruction-selector-impl.h.

306  {
307  bool negate = condition_ == kEqual;
309  if (negate) Negate();
310  }

References v8::internal::compiler::kEqual.

◆ ParallelMove()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ParallelMove ( Zone zone)
inlineexplicit

Definition at line 349 of file instruction.h.

349 : move_operands_(4, zone) {}

◆ Parameter()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Parameter ( int  index)

◆ PerformMove()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PerformMove ( ZoneList< MoveOperands > *  moves,
MoveOperands move 
) const
private

◆ Phi()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Phi ( MachineType  type,
int  arguments 
)

◆ pointer_maps()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const PointerMapDeque* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::pointer_maps ( ) const
inline

Definition at line 881 of file instruction.h.

881 { return &pointer_maps_; }

◆ PointerMap()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PointerMap ( Zone zone)
inlineexplicit

Definition at line 370 of file instruction.h.

371  : pointer_operands_(8, zone),
373  instruction_position_(-1) {}

◆ PopulateDeoptimizationData()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PopulateDeoptimizationData ( Handle< Code code)
private

◆ Post()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
GenericGraphVisit::Control v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Post ( Node node)
inline

Definition at line 75 of file graph-reducer.cc.

◆ PostEdge()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PostEdge ( Node from,
int  index,
Node to 
)

◆ Pre()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
GenericGraphVisit::Control v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Pre ( Node node)

◆ PredecessorAt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PredecessorAt ( int  index)
inline

Definition at line 108 of file schedule.h.

108 { return InputAt(index); }

◆ PredecessorCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PredecessorCount ( )
inline

Definition at line 107 of file schedule.h.

107 { return InputCount(); }

◆ PredecessorIndexOf()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PredecessorIndexOf ( BasicBlock predecessor)
inline

Definition at line 113 of file schedule.h.

113  {
114  BasicBlock::Predecessors predecessors = this->predecessors();
115  for (BasicBlock::Predecessors::iterator i = predecessors.begin();
116  i != predecessors.end(); ++i) {
117  if (*i == predecessor) return i.index();
118  }
119  return -1;
120  }
Predecessors predecessors()
Definition: schedule.h:105

◆ predecessors()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Predecessors v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::predecessors ( )
inline

Definition at line 105 of file schedule.h.

◆ PrintReplay()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PrintReplay ( Graph graph)
inlinestatic

Definition at line 25 of file graph-replay.h.

25 {}

◆ PrintReplayOpCreator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PrintReplayOpCreator ( const Operator op)
staticprivate

◆ ProduceValue() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ProduceValue ( Node value)
virtual

◆ ProduceValue() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ProduceValue ( Node value)
virtual

◆ ProduceValue() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ProduceValue ( Node value)
virtual

◆ Projection()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Projection ( size_t  index)

◆ properties()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operator::Properties v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::properties ( ) const
inline

Definition at line 122 of file linkage.h.

122 { return properties_; }

◆ PutConstantOnRight()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::PutConstantOnRight ( )
inlineprivate

Definition at line 124 of file node-matchers.h.

124  {
125  if (left().HasValue() && !right().HasValue()) {
126  std::swap(left_, right_);
127  node()->ReplaceInput(0, left().node());
128  node()->ReplaceInput(1, right().node());
129  }
130  }

◆ raw()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::raw ( ) const
inline

Definition at line 27 of file source-position.h.

◆ rbegin()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
reverse_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::rbegin ( )
inline

Definition at line 139 of file schedule.h.

139 { return nodes_.rbegin(); }

◆ RecordPointer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::RecordPointer ( InstructionOperand op,
Zone zone 
)

◆ RecordSafepoint()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::RecordSafepoint ( PointerMap pointers,
Safepoint::Kind  kind,
int  arguments,
Safepoint::DeoptMode  deopt_mode 
)
private

◆ RecordUntagged()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::RecordUntagged ( InstructionOperand op,
Zone zone 
)

◆ Reduce() [1/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
virtual

◆ Reduce() [2/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
virtual

◆ Reduce() [3/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
virtual

◆ Reduce() [4/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
virtual

◆ Reduce() [5/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
inlinevirtual

Implements v8::internal::compiler::Reducer.

Definition at line 17 of file phi-reducer.h.

17  {
18  if (node->opcode() != IrOpcode::kPhi &&
19  node->opcode() != IrOpcode::kEffectPhi)
20  return NoChange();
21 
22  int n = node->op()->InputCount();
23  if (n == 1) return Replace(node->InputAt(0));
24 
26  Node::Inputs inputs = node->inputs();
27  for (InputIter it = inputs.begin(); n > 0; --n, ++it) {
28  Node* input = *it;
29  if (input != node && input != replacement) {
30  if (replacement != NULL) return NoChange();
31  replacement = input;
32  }
33  }
35  return Replace(replacement);
36  }
Node(GenericGraphBase *graph, int input_count)
Definition: node.h:52
static Reduction Replace(Node *node)
Definition: graph-reducer.h:47
#define DCHECK_NE(v1, v2)
Definition: logging.h:207
Node::Inputs::iterator InputIter
Definition: node.h:82

References DCHECK_NE, and NULL.

◆ Reduce() [6/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
virtual

◆ Reduce() [7/7]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
virtual Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduce ( Node node)
virtual

◆ ReduceGraph()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceGraph ( )

◆ ReduceI32Binop()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceI32Binop ( Node node,
bool  left_signed,
bool  right_signed,
const Operator intOp 
)
private

◆ ReduceI32Shift()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceI32Shift ( Node node,
bool  left_signed,
const Operator shift_op 
)
private

◆ ReduceJSAdd()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSAdd ( Node node)
private

◆ ReduceJSComparison()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSComparison ( Node node)
private

◆ ReduceJSEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSEqual ( Node node,
bool  invert 
)
private

◆ ReduceJSLoadProperty()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSLoadProperty ( Node node)
private

◆ ReduceJSStoreProperty()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSStoreProperty ( Node node)
private

◆ ReduceJSStrictEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSStrictEqual ( Node node,
bool  invert 
)
private

◆ ReduceJSToBooleanInput()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSToBooleanInput ( Node input)
private

◆ ReduceJSToNumberInput()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSToNumberInput ( Node input)
private

◆ ReduceJSToStringInput()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceJSToStringInput ( Node input)
private

◆ ReduceMathAbs()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceMathAbs ( Node node)
private

◆ ReduceMathFround()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceMathFround ( Node node)
private

◆ ReduceMathImul()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceMathImul ( Node node)
private

◆ ReduceMathMax()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceMathMax ( Node node)
private

◆ ReduceMathSqrt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceMathSqrt ( Node node)
private

◆ ReduceNode()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceNode ( Node node)

◆ ReduceNumberBinop()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceNumberBinop ( Node node,
const Operator numberOp 
)
private

◆ ReduceProjection()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReduceProjection ( size_t  index,
Node node 
)
private

◆ Reduction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Reduction ( Node replacement = NULL)
inlineexplicit

Definition at line 22 of file graph-reducer.h.

◆ ReferenceEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReferenceEqual ( Type type)

◆ RemoveDecorator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::RemoveDecorator ( )

◆ RemovePointer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::RemovePointer ( InstructionOperand op)

◆ rend()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
reverse_iterator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::rend ( )
inline

Definition at line 140 of file schedule.h.

140 { return nodes_.rend(); }

◆ ReplaceBool()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceBool ( bool  value)
inlineprivate

Definition at line 38 of file machine-operator-reducer.h.

38 { return ReplaceInt32(value ? 1 : 0); }
Reduction ReplaceInt32(int32_t value)

◆ ReplaceEagerly()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceEagerly ( Node old,
Node node 
)
private

◆ ReplaceFloat32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceFloat32 ( volatile float  value)
inlineprivate

Definition at line 39 of file machine-operator-reducer.h.

39  {
40  return Replace(Float32Constant(value));
41  }
const Operator * Float32Constant(volatile float)

◆ ReplaceFloat64() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceFloat64 ( double  value)
private

◆ ReplaceFloat64() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceFloat64 ( volatile double  value)
inlineprivate

Definition at line 42 of file machine-operator-reducer.h.

42  {
43  return Replace(Float64Constant(value));
44  }
const Operator * Float64Constant(volatile double)

◆ ReplaceInt32() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceInt32 ( int32_t  value)
inlineprivate

Definition at line 45 of file machine-operator-reducer.h.

45  {
46  return Replace(Int32Constant(value));
47  }
const Operator * Int32Constant(int32_t)

◆ ReplaceInt32() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceInt32 ( int32_t  value)
private

◆ ReplaceInt64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceInt64 ( int64_t  value)
inlineprivate

Definition at line 48 of file machine-operator-reducer.h.

48  {
49  return Replace(Int64Constant(value));
50  }
const Operator * Int64Constant(int64_t)

◆ replacement()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::replacement ( ) const
inline

Definition at line 24 of file graph-reducer.h.

24 { return replacement_; }

◆ ReplaceNumber() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceNumber ( double  value)
private

◆ ReplaceNumber() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceNumber ( int32_t  value)
private

◆ ReplaceUint32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceUint32 ( uint32_t  value)
inlineprivate

Definition at line 33 of file simplified-operator-reducer.h.

33  {
34  return ReplaceInt32(bit_cast<int32_t>(value));
35  }

◆ ReplaceWith()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Reduction v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReplaceWith ( Node node)
inlineprivate

Definition at line 35 of file js-typed-lowering.h.

35 { return Reducer::Replace(node); }

References v8::internal::compiler::Reducer::Replace().

+ Here is the call graph for this function:

◆ Resolve()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Resolve ( ParallelMove parallel_move) const

◆ resolver()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
GapResolver* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::resolver ( )
inlineprivate

Definition at line 37 of file code-generator.h.

37 { return &resolver_; }

◆ result()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::result ( ) const
inline

Definition at line 237 of file instruction-selector-impl.h.

237  {
238  DCHECK(IsSet());
239  return result_;
240  }

References DCHECK.

◆ Return()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Return ( )

◆ ReturnCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
size_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ReturnCount ( ) const
inline

Definition at line 84 of file linkage.h.

84 { return machine_sig_->return_count(); }

◆ right()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Right& v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::right ( ) const
inline

Definition at line 118 of file node-matchers.h.

118 { return right_; }

◆ safepoints()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SafepointTableBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::safepoints ( )
inlineprivate

Definition at line 38 of file code-generator.h.

38 { return &safepoints_; }
SafepointTableBuilder safepoints_

◆ schedule() [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Schedule* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::schedule ( ) const
inline

Definition at line 33 of file code-generator.h.

33 { return code()->schedule(); }

◆ schedule() [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Schedule* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::schedule ( ) const
inlineprivate

Definition at line 195 of file instruction-selector.h.

195 { return sequence()->schedule(); }

◆ schedule() [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Schedule* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::schedule ( ) const
inline

Definition at line 880 of file instruction.h.

880 { return schedule_; }

◆ SelectInstructions()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SelectInstructions ( )

◆ sequence()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionSequence* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::sequence ( ) const
inlineprivate

Definition at line 196 of file instruction-selector.h.

196 { return sequence_; }

◆ set_destination()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::set_destination ( InstructionOperand operand)
inline

Definition at line 279 of file instruction.h.

279 { destination_ = operand; }

◆ set_instruction_position()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::set_instruction_position ( int  pos)
inline

Definition at line 384 of file instruction.h.

384  {
386  instruction_position_ = pos;
387  }

References DCHECK.

◆ set_source()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::set_source ( InstructionOperand operand)
inline

Definition at line 276 of file instruction.h.

276 { source_ = operand; }

◆ SetUpCache()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SetUpCache ( )
static

◆ simplified() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SimplifiedOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::simplified ( )
inlineprivate

Definition at line 31 of file js-builtin-reducer.h.

31 { return &simplified_; }

◆ simplified() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SimplifiedOperatorBuilder* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::simplified ( )
inlineprivate

Definition at line 53 of file js-typed-lowering.h.

53 { return &simplified_; }

◆ SimplifiedOperatorBuilder()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SimplifiedOperatorBuilder ( Zone zone)
explicit

◆ SimplifiedOperatorReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SimplifiedOperatorReducer ( JSGraph jsgraph)
inlineexplicit

Definition at line 24 of file simplified-operator-reducer.h.

24 : jsgraph_(jsgraph) {}

◆ SmiMaxValueConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SmiMaxValueConstant ( )
private

◆ SmiShiftBitsConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SmiShiftBitsConstant ( )
private

◆ source()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::source ( ) const
inline

Definition at line 275 of file instruction.h.

275 { return source_; }

◆ source_position()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::source_position ( ) const
inline

Definition at line 631 of file instruction.h.

631 { return source_position_; }
SourcePosition source_position_
Definition: instruction.h:651

◆ SourcePosition()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SourcePosition ( int  raw = kUnknownPosition)
inlineexplicit

Definition at line 19 of file source-position.h.

19 : raw_(raw) {}

◆ SourcePositionInstruction()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SourcePositionInstruction ( SourcePosition  source_position)
inlineexplicitprivate

Definition at line 644 of file instruction.h.

647  DCHECK(!source_position_.IsInvalid());
648  DCHECK(!source_position_.IsUnknown());
649  }
SourcePosition source_position() const
Definition: instruction.h:631
Instruction(InstructionCode opcode)
Definition: instruction.h:500
const InstructionCode kSourcePositionInstruction
Definition: instruction.h:36

References DCHECK.

◆ SourcePositionTable()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SourcePositionTable ( Graph graph)
explicit

◆ Start()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Start ( int  num_formal_parameters)

◆ StartBlock()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StartBlock ( BasicBlock block)

◆ state_combine()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
OutputFrameStateCombine v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::state_combine ( ) const
inline

Definition at line 55 of file common-operator.h.

55 { return frame_state_combine_; }

◆ StateValues()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StateValues ( int  arguments)

◆ STATIC_ASSERT()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::STATIC_ASSERT ( kInvalidPosition = kUnknownPosition)
private

◆ Store()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Store ( StoreRepresentation  rep)

◆ StoreElement()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StoreElement ( ElementAccess const &  )

◆ StoreField()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StoreField ( const FieldAccess )

◆ StoreRepresentation()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StoreRepresentation ( MachineType  machine_type,
WriteBarrierKind  write_barrier_kind 
)
inline

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

◆ StringAdd()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StringAdd ( )

◆ StringEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StringEqual ( )

◆ StringLessThan()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StringLessThan ( )

◆ StringLessThanOrEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::StringLessThanOrEqual ( )

◆ SubKindOperand() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SubKindOperand ( )
inlineprivate

Definition at line 335 of file instruction.h.

◆ SubKindOperand() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SubKindOperand ( int  index)
inlineexplicitprivate

Definition at line 336 of file instruction.h.

337  : InstructionOperand(kOperandKind, index) {}

◆ SuccessorAt()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SuccessorAt ( int  index)
inline

Definition at line 111 of file schedule.h.

◆ SuccessorCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SuccessorCount ( )
inline

Definition at line 110 of file schedule.h.

◆ successors()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Successors v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::successors ( )
inline

Definition at line 104 of file schedule.h.

◆ SupportedFeatures()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static Features v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SupportedFeatures ( )
inlinestatic

Definition at line 83 of file instruction-selector.h.

83  {
84  return Features(CpuFeatures::SupportedFeatures());
85  }
static unsigned SupportedFeatures()
Definition: assembler.h:179

References v8::internal::CpuFeatures::SupportedFeatures().

+ Here is the call graph for this function:

◆ SwapBlocks()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SwapBlocks ( )
inline

Definition at line 312 of file instruction-selector-impl.h.

312 { std::swap(true_block_, false_block_); }

◆ TearDownCache()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::TearDownCache ( )
static

◆ TempRegister()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::TempRegister ( Register  reg)
inline

Definition at line 18 of file instruction-selector-x64.cc.

18  {
19  return new (zone()) UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER,
21  }
static int ToAllocationIndex(Register reg)

References v8::internal::compiler::UnallocatedOperand::FIXED_REGISTER, and v8::internal::Register::ToAllocationIndex().

+ Here is the call graph for this function:

◆ Throw()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Throw ( )

◆ ToExternalReference()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ExternalReference v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToExternalReference ( ) const
inline

Definition at line 699 of file instruction.h.

699  {
701  return bit_cast<ExternalReference>(static_cast<intptr_t>(value_));
702  }

References DCHECK_EQ.

◆ ToFloat32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
float v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToFloat32 ( ) const
inline

Definition at line 688 of file instruction.h.

688  {
689  DCHECK_EQ(kFloat32, type());
690  return bit_cast<float>(static_cast<int32_t>(value_));
691  }
int int32_t
Definition: unicode.cc:24

References DCHECK_EQ.

◆ ToFloat32Register()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SwVfpRegister v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToFloat32Register ( InstructionOperand op)
inline

Definition at line 38 of file code-generator-arm.cc.

38  {
39  return ToFloat64Register(op).low();
40  }
SwVfpRegister low() const

◆ ToFloat64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
double v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToFloat64 ( ) const
inline

Definition at line 693 of file instruction.h.

693  {
694  if (type() == kInt32) return ToInt32();
695  DCHECK_EQ(kFloat64, type());
696  return bit_cast<double>(value_);
697  }

References DCHECK_EQ.

◆ ToFloat64Register()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LowDwVfpRegister v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToFloat64Register ( InstructionOperand op)
inline

Definition at line 50 of file code-generator-arm.cc.

50  {
52  }
DoubleRegister ToDoubleRegister(InstructionOperand *op)
static LowDwVfpRegister from_code(int code)

References v8::internal::LowDwVfpRegister::from_code().

+ Here is the call graph for this function:

◆ ToHeapObject()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Handle<HeapObject> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToHeapObject ( ) const
inline

Definition at line 704 of file instruction.h.

704  {
706  return bit_cast<Handle<HeapObject> >(static_cast<intptr_t>(value_));
707  }

References DCHECK_EQ.

◆ ToImmediate()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToImmediate ( InstructionOperand operand)
inline

Definition at line 85 of file code-generator-arm64.cc.

85  {
86  Constant constant = ToConstant(operand);
87  switch (constant.type()) {
88  case Constant::kInt32:
89  return Operand(constant.ToInt32());
90  case Constant::kInt64:
91  return Operand(constant.ToInt64());
92  case Constant::kFloat32:
93  return Operand(
94  isolate()->factory()->NewNumber(constant.ToFloat32(), TENURED));
95  case Constant::kFloat64:
96  return Operand(
97  isolate()->factory()->NewNumber(constant.ToFloat64(), TENURED));
98  case Constant::kExternalReference:
99  return Operand(constant.ToExternalReference());
100  case Constant::kHeapObject:
101  return Operand(constant.ToHeapObject());
102  }
103  UNREACHABLE();
104  return Operand(-1);
105  }

References v8::internal::TENURED, and UNREACHABLE.

◆ ToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToInt32 ( ) const
inline

Definition at line 677 of file instruction.h.

677  {
678  DCHECK_EQ(kInt32, type());
679  return static_cast<int32_t>(value_);
680  }

References DCHECK_EQ.

◆ ToInt64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int64_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToInt64 ( ) const
inline

Definition at line 682 of file instruction.h.

682  {
683  if (type() == kInt32) return ToInt32();
684  DCHECK_EQ(kInt64, type());
685  return value_;
686  }

References DCHECK_EQ.

◆ ToMemOperand() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MemOperand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToMemOperand ( InstructionOperand op) const
inline

Definition at line 149 of file code-generator-arm.cc.

149  {
150  DCHECK(op != NULL);
151  DCHECK(!op->IsRegister());
152  DCHECK(!op->IsDoubleRegister());
153  DCHECK(op->IsStackSlot() || op->IsDoubleStackSlot());
154  // The linkage computes where all spill slots are located.
155  FrameOffset offset = linkage()->GetFrameOffset(op->index(), frame(), 0);
156  return MemOperand(offset.from_stack_pointer() ? sp : fp, offset.offset());
157  }
FrameOffset GetFrameOffset(int spill_slot, Frame *frame, int extra=0)
Definition: linkage.cc:63
const Register fp
const Register sp

References DCHECK, v8::internal::fp, v8::internal::compiler::FrameOffset::from_stack_pointer(), v8::internal::compiler::InstructionOperand::index(), NULL, v8::internal::compiler::FrameOffset::offset(), and v8::internal::sp.

+ Here is the call graph for this function:

◆ ToMemOperand() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MemOperand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToMemOperand ( InstructionOperand op,
MacroAssembler masm 
) const
inline

Definition at line 107 of file code-generator-arm64.cc.

107  {
108  DCHECK(op != NULL);
109  DCHECK(!op->IsRegister());
110  DCHECK(!op->IsDoubleRegister());
111  DCHECK(op->IsStackSlot() || op->IsDoubleStackSlot());
112  // The linkage computes where all spill slots are located.
113  FrameOffset offset = linkage()->GetFrameOffset(op->index(), frame(), 0);
114  return MemOperand(offset.from_stack_pointer() ? masm->StackPointer() : fp,
115  offset.offset());
116  }
const Register & StackPointer() const

References DCHECK, v8::internal::fp, v8::internal::compiler::FrameOffset::from_stack_pointer(), v8::internal::compiler::InstructionOperand::index(), NULL, v8::internal::compiler::FrameOffset::offset(), and v8::internal::MacroAssembler::StackPointer().

+ Here is the call graph for this function:

◆ ToOperand()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToOperand ( InstructionOperand op)
inline

Definition at line 71 of file code-generator-arm64.cc.

71  {
72  if (op->IsRegister()) {
73  return Operand(ToRegister(op));
74  }
75  return ToImmediate(op);
76  }

References v8::internal::ToRegister().

+ Here is the call graph for this function:

◆ ToOperand32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operand v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ToOperand32 ( InstructionOperand op)
inline

Definition at line 78 of file code-generator-arm64.cc.

78  {
79  if (op->IsRegister()) {
80  return Operand(ToRegister(op).W());
81  }
82  return ToImmediate(op);
83  }

References v8::internal::ToRegister(), and v8::internal::W.

+ Here is the call graph for this function:

◆ true_block()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::true_block ( ) const
inline

Definition at line 241 of file instruction-selector-impl.h.

241  {
242  DCHECK(IsBranch());
243  return true_block_;
244  }

References DCHECK, and v8::internal::compiler::IsBranch().

+ Here is the call graph for this function:

◆ TruncateFloat64ToFloat32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::TruncateFloat64ToFloat32 ( )

◆ TruncateFloat64ToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::TruncateFloat64ToInt32 ( )

◆ TruncateInt64ToInt32()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::TruncateInt64ToInt32 ( )

◆ type() [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FrameStateType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::type ( ) const
inline

Definition at line 53 of file common-operator.h.

53 { return type_; }

◆ type() [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Type v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::type ( ) const
inline

Definition at line 675 of file instruction.h.

675 { return type_; }

◆ Uint32Constant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Uint32Constant ( uint32_t  value)
inlineprivate

Definition at line 34 of file machine-operator-reducer.h.

34  {
35  return Int32Constant(bit_cast<uint32_t>(value));
36  }

◆ Uint32LessThan()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Uint32LessThan ( )

◆ Uint32LessThanOrEqual()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Uint32LessThanOrEqual ( )

◆ Unknown()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
static SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Unknown ( )
inlinestatic

Definition at line 21 of file source-position.h.

◆ UseByteRegister()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::UseByteRegister ( Node node)
inline

Definition at line 19 of file instruction-selector-ia32.cc.

19  {
20  // TODO(dcarney): relax constraint.
21  return UseFixed(node, edx);
22  }
InstructionOperand * UseFixed(Node *node, Register reg)
const Register edx

References v8::internal::edx.

◆ UseImmediate64()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::UseImmediate64 ( Node node)
inline

Definition at line 23 of file instruction-selector-x64.cc.

23 { return UseImmediate(node); }
InstructionOperand * UseImmediate(Node *node)

◆ UseOperand()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::UseOperand ( Node node,
ImmediateMode  mode 
)
inline

Definition at line 32 of file instruction-selector-arm64.cc.

32  {
33  if (CanBeImmediate(node, mode)) {
34  return UseImmediate(node);
35  }
36  return UseRegister(node);
37  }
bool CanBeImmediate(Node *node, ImmediateMode mode)
InstructionOperand * UseRegister(Node *node)

References mode().

+ Here is the call graph for this function:

◆ ValueCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ValueCount ( ) const
inline

Definition at line 831 of file instruction.h.

831 { return graph_->NodeCount(); }

◆ ValueEffect()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ValueEffect ( int  arguments)

◆ ValueNumberingReducer()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::ValueNumberingReducer ( Zone zone)
explicit

◆ VirtualRegisterCount()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VirtualRegisterCount ( ) const
inline

Definition at line 829 of file instruction.h.

829 { return next_virtual_register_; }

◆ VisitBlock()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitBlock ( BasicBlock block)
private

◆ VisitBranch()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitBranch ( Node input,
BasicBlock tbranch,
BasicBlock fbranch 
)
private

◆ VisitCall()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitCall ( Node call,
BasicBlock continuation,
BasicBlock deoptimization 
)
private

◆ VisitConstant()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitConstant ( Node node)
private

◆ VisitControl()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitControl ( BasicBlock block)
private

◆ VisitDeoptimize()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitDeoptimize ( Node deopt)
private

◆ VisitFinish()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitFinish ( Node node)
private

◆ VisitFloat64Compare()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitFloat64Compare ( Node node,
FlagsContinuation cont 
)
private

◆ VisitGoto()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitGoto ( BasicBlock target)
private

◆ VisitInt32AddWithOverflow()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitInt32AddWithOverflow ( Node node,
FlagsContinuation cont 
)
private

◆ VisitInt32SubWithOverflow()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitInt32SubWithOverflow ( Node node,
FlagsContinuation cont 
)
private

◆ VisitNode()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitNode ( Node node)
private

◆ VisitParameter()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitParameter ( Node node)
private

◆ VisitPhi()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitPhi ( Node node)
private

◆ VisitProjection()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitProjection ( Node node)
private

◆ VisitReturn()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitReturn ( Node value)
private

◆ VisitThrow()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitThrow ( Node value)
private

◆ VisitWord32Compare()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitWord32Compare ( Node node,
FlagsContinuation cont 
)
private

◆ VisitWord32Test()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitWord32Test ( Node node,
FlagsContinuation cont 
)
private

◆ VisitWord64Compare()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitWord64Compare ( Node node,
FlagsContinuation cont 
)
private

◆ VisitWord64Test()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::VisitWord64Test ( Node node,
FlagsContinuation cont 
)
private

◆ word()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::word ( ) const
inline

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

148 { return word_; }

◆ Word32And()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32And ( )

◆ Word32Equal()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Equal ( )

◆ Word32Or()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Or ( )

◆ Word32Ror()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Ror ( )

◆ Word32Sar()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Sar ( )

◆ Word32Shl()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Shl ( )

◆ Word32Shr()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Shr ( )

◆ Word32Xor()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word32Xor ( )

◆ Word64And()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64And ( )

◆ Word64Equal()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Equal ( )

◆ Word64Or()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Or ( )

◆ Word64Ror()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Ror ( )

◆ Word64Sar()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Sar ( )

◆ Word64Shl()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Shl ( )

◆ Word64Shr()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Shr ( )

◆ Word64Xor()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const Operator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::Word64Xor ( )

◆ write_barrier_kind()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
WriteBarrierKind v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::write_barrier_kind ( ) const
inline

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

37 { return write_barrier_kind_; }

◆ X64OperandGenerator()

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::X64OperandGenerator ( InstructionSelector selector)
inlineexplicit

Definition at line 15 of file instruction-selector-x64.cc.

◆ zone() [1/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( )
inlineprivate

Definition at line 198 of file instruction-selector.h.

198 { return &zone_; }

◆ zone() [2/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( )
inline

Definition at line 29 of file js-typed-lowering.h.

29 { return jsgraph_->zone(); }

◆ zone() [3/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( ) const
inlineprivate

Definition at line 39 of file code-generator.h.

39 { return code()->zone(); }

◆ zone() [4/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( ) const
inline

Definition at line 38 of file common-node-cache.h.

38 { return zone_; }

◆ zone() [5/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( ) const
inlineprivate

Definition at line 107 of file common-operator.h.

107 { return zone_; }

◆ zone() [6/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( ) const
inline

Definition at line 882 of file instruction.h.

882 { return graph_->zone(); }

◆ zone() [7/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( ) const
inlineprivate

Definition at line 140 of file simplified-operator.h.

140 { return zone_; }

◆ zone() [8/8]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone ( ) const
inlineprivate

Definition at line 22 of file value-numbering-reducer.h.

22 { return zone_; }

Friends And Related Function Documentation

◆ JSBinopReduction

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
friend class JSBinopReduction
friend

Definition at line 32 of file js-typed-lowering.h.

◆ Linkage

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
friend class Linkage
friend

Definition at line 130 of file linkage.h.

◆ OperandGenerator

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
friend class OperandGenerator
friend

Definition at line 91 of file instruction-selector.h.

◆ operator<< [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
OStream& operator<< ( OStream os,
const InstructionSequence code 
)
friend

Definition at line 417 of file instruction.cc.

417  {
418  for (size_t i = 0; i < code.immediates_.size(); ++i) {
419  Constant constant = code.immediates_[i];
420  os << "IMM#" << i << ": " << constant << "\n";
421  }
422  int i = 0;
423  for (ConstantMap::const_iterator it = code.constants_.begin();
424  it != code.constants_.end(); ++i, ++it) {
425  os << "CST#" << i << ": v" << it->first << " = " << it->second << "\n";
426  }
427  for (int i = 0; i < code.BasicBlockCount(); i++) {
428  BasicBlock* block = code.BlockAt(i);
429 
430  int bid = block->id();
431  os << "RPO#" << block->rpo_number_ << ": B" << bid;
432  CHECK(block->rpo_number_ == i);
433  if (block->IsLoopHeader()) {
434  os << " loop blocks: [" << block->rpo_number_ << ", " << block->loop_end_
435  << ")";
436  }
437  os << " instructions: [" << block->code_start_ << ", " << block->code_end_
438  << ")\n predecessors:";
439 
440  BasicBlock::Predecessors predecessors = block->predecessors();
441  for (BasicBlock::Predecessors::iterator iter = predecessors.begin();
442  iter != predecessors.end(); ++iter) {
443  os << " B" << (*iter)->id();
444  }
445  os << "\n";
446 
447  for (BasicBlock::const_iterator j = block->begin(); j != block->end();
448  ++j) {
449  Node* phi = *j;
450  if (phi->opcode() != IrOpcode::kPhi) continue;
451  os << " phi: v" << phi->id() << " =";
452  Node::Inputs inputs = phi->inputs();
453  for (Node::Inputs::iterator iter(inputs.begin()); iter != inputs.end();
454  ++iter) {
455  os << " v" << (*iter)->id();
456  }
457  os << "\n";
458  }
459 
460  ScopedVector<char> buf(32);
461  for (int j = block->first_instruction_index();
462  j <= block->last_instruction_index(); j++) {
463  // TODO(svenpanne) Add some basic formatting to our streams.
464  SNPrintF(buf, "%5d", j);
465  os << " " << buf.start() << ": " << *code.InstructionAt(j);
466  }
467 
468  os << " " << block->control_;
469 
470  if (block->control_input_ != NULL) {
471  os << " v" << block->control_input_->id();
472  }
473 
474  BasicBlock::Successors successors = block->successors();
475  for (BasicBlock::Successors::iterator iter = successors.begin();
476  iter != successors.end(); ++iter) {
477  os << " B" << (*iter)->id();
478  }
479  os << "\n";
480  }
481  return os;
482 }
#define CHECK(condition)
Definition: logging.h:36
int SNPrintF(Vector< char > str, const char *format,...)
Definition: utils.cc:105

◆ operator<< [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
OStream& operator<< ( OStream os,
const PointerMap pm 
)
friend

Definition at line 155 of file instruction.cc.

155  {
156  os << "{";
158  pm.pointer_operands_.begin();
159  op != pm.pointer_operands_.end(); ++op) {
160  if (op != pm.pointer_operands_.begin()) os << ";";
161  os << *op;
162  }
163  return os << "}";
164 }

Member Data Documentation

◆ assembler_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Assembler* const v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::assembler_
private

Definition at line 40 of file gap-resolver.h.

◆ bailout_id_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BailoutId v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::bailout_id_
private

Definition at line 60 of file common-operator.h.

◆ block_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::block_
private

Definition at line 619 of file instruction.h.

◆ buckets_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Entry* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::buckets_[117u]
private

Definition at line 28 of file value-numbering-reducer.h.

◆ cache

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SubKindOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::cache
staticprivate

Definition at line 333 of file instruction.h.

◆ callee_saved_registers_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
RegList v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::callee_saved_registers_
private

Definition at line 139 of file linkage.h.

◆ code_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionSequence* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::code_
private

Definition at line 122 of file code-generator.h.

◆ condition_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FlagsCondition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::condition_
private

Definition at line 325 of file instruction-selector-impl.h.

◆ constants_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ConstantMap v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::constants_
private

Definition at line 936 of file instruction.h.

◆ current_block_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock * v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::current_block_
private

Definition at line 123 of file code-generator.h.

◆ current_position_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::current_position_
private

Definition at line 89 of file source-position.h.

◆ current_source_position_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::current_source_position_
private

Definition at line 124 of file code-generator.h.

◆ debug_name_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const char* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::debug_name_
private

Definition at line 141 of file linkage.h.

◆ decorator_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Decorator* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::decorator_
private

Definition at line 88 of file source-position.h.

◆ defined_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BoolVector v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::defined_
private

Definition at line 208 of file instruction-selector.h.

◆ deoptimization_entries_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
DeoptimizationVector v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::deoptimization_entries_
private

Definition at line 944 of file instruction.h.

◆ deoptimization_literals_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneDeque<Handle<Object> > v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::deoptimization_literals_
private

Definition at line 129 of file code-generator.h.

◆ deoptimization_states_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneDeque<DeoptimizationState*> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::deoptimization_states_
private

Definition at line 128 of file code-generator.h.

◆ destination_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::destination_
private

Definition at line 310 of file instruction.h.

◆ doubles_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
VirtualRegisterSet v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::doubles_
private

Definition at line 941 of file instruction.h.

◆ external_constants_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
PtrNodeCache v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::external_constants_
private

Definition at line 43 of file common-node-cache.h.

◆ false_block_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::false_block_
private

Definition at line 328 of file instruction-selector-impl.h.

◆ features_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Features v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::features_
private

Definition at line 205 of file instruction-selector.h.

◆ flags_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Flags v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::flags_
private

Definition at line 140 of file linkage.h.

◆ float64_constants_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Int64NodeCache v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::float64_constants_
private

Definition at line 42 of file common-node-cache.h.

◆ frame_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Frame v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::frame_
private

Definition at line 943 of file instruction.h.

◆ frame_state_combine_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
OutputFrameStateCombine v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::frame_state_combine_
private

Definition at line 61 of file common-operator.h.

◆ graph_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Graph * v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::graph_
private

Definition at line 70 of file graph-reducer.h.

◆ immediates_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ConstantDeque v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::immediates_
private

Definition at line 937 of file instruction.h.

◆ impl_ [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const CommonOperatorBuilderImpl& v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::impl_
private

Definition at line 109 of file common-operator.h.

◆ impl_ [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const MachineOperatorBuilderImpl& v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::impl_
private

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

◆ impl_ [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const SimplifiedOperatorBuilderImpl& v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::impl_
private

Definition at line 142 of file simplified-operator.h.

◆ instruction_position_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::instruction_position_
private

Definition at line 398 of file instruction.h.

◆ instructions_ [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneDeque<Instruction*> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::instructions_
private

Definition at line 207 of file instruction-selector.h.

◆ instructions_ [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionDeque v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::instructions_
private

Definition at line 938 of file instruction.h.

◆ int32_constants_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Int32NodeCache v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::int32_constants_
private

Definition at line 41 of file common-node-cache.h.

◆ js_param_count_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
size_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::js_param_count_
private

Definition at line 137 of file linkage.h.

◆ jsfunction_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MaybeHandle<JSFunction> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsfunction_
private

Definition at line 62 of file common-operator.h.

◆ jsgraph_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
JSGraph * v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::jsgraph_
private

Definition at line 52 of file change-lowering.h.

◆ kControlEffectOperator

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ControlEffectOperator v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::kControlEffectOperator

Definition at line 82 of file common-operator.cc.

◆ kind_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Kind v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::kind_
private

Definition at line 132 of file linkage.h.

◆ kInvalidPosition

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::kInvalidPosition = -2
staticprivate

Definition at line 30 of file source-position.h.

◆ kUnknownPosition

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::kUnknownPosition = RelocInfo::kNoPosition
staticprivate

Definition at line 31 of file source-position.h.

◆ label_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Label v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::label_
private

Definition at line 620 of file instruction.h.

◆ last_lazy_deopt_pc_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::last_lazy_deopt_pc_
private

Definition at line 131 of file code-generator.h.

◆ left_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Left v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::left_
private

Definition at line 132 of file node-matchers.h.

◆ linkage_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Linkage * v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::linkage_
private

Definition at line 53 of file change-lowering.h.

◆ location_sig_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LocationSignature* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::location_sig_
private

Definition at line 136 of file linkage.h.

◆ machine_sig_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineSignature* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine_sig_
private

Definition at line 135 of file linkage.h.

◆ machine_type_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::machine_type_
private

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

◆ masm_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MacroAssembler v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::masm_
private

Definition at line 125 of file code-generator.h.

◆ mode_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FlagsMode v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::mode_
private

Definition at line 324 of file instruction-selector-impl.h.

◆ move_operands_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneList<MoveOperands> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::move_operands_
private

Definition at line 363 of file instruction.h.

◆ next_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Entry* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::next_
private

Definition at line 45 of file value-numbering-reducer.cc.

◆ next_virtual_register_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::next_virtual_register_
private

Definition at line 939 of file instruction.h.

◆ node_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::node_
private

Definition at line 44 of file value-numbering-reducer.cc.

◆ number_constants_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Int64NodeCache v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::number_constants_
private

Definition at line 44 of file common-node-cache.h.

◆ pointer_maps_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
PointerMapDeque v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::pointer_maps_
private

Definition at line 940 of file instruction.h.

◆ pointer_operands_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneList<InstructionOperand*> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::pointer_operands_
private

Definition at line 396 of file instruction.h.

◆ properties_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Operator::Properties v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::properties_
private

Definition at line 138 of file linkage.h.

◆ raw_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::raw_
private

Definition at line 33 of file source-position.h.

◆ reducer_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
GraphReducer* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::reducer_

Definition at line 79 of file graph-reducer.cc.

◆ reducers_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneVector<Reducer*> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::reducers_
private

Definition at line 71 of file graph-reducer.h.

◆ references_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
VirtualRegisterSet v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::references_
private

Definition at line 942 of file instruction.h.

◆ replacement_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::replacement_
private

Definition at line 28 of file graph-reducer.h.

◆ resolver_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
GapResolver v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::resolver_
private

Definition at line 126 of file code-generator.h.

◆ result_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Node* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::result_
private

Definition at line 326 of file instruction-selector-impl.h.

◆ right_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Right v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::right_
private

Definition at line 133 of file node-matchers.h.

◆ safepoints_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SafepointTableBuilder v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::safepoints_
private

Definition at line 127 of file code-generator.h.

◆ schedule_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Schedule* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::schedule_
private

Definition at line 935 of file instruction.h.

◆ sequence_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionSequence* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::sequence_
private

Definition at line 203 of file instruction-selector.h.

◆ simplified_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SimplifiedOperatorBuilder v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::simplified_
private

Definition at line 40 of file js-builtin-reducer.h.

◆ source_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
InstructionOperand* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::source_
private

Definition at line 309 of file instruction.h.

◆ source_position_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SourcePosition v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::source_position_
private

Definition at line 651 of file instruction.h.

◆ source_positions_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
SourcePositionTable* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::source_positions_
private

Definition at line 204 of file instruction-selector.h.

◆ table_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
NodeAuxData<SourcePosition> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::table_
private

Definition at line 90 of file source-position.h.

◆ target_loc_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
LinkageLocation v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::target_loc_
private

Definition at line 134 of file linkage.h.

◆ target_type_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::target_type_
private

Definition at line 133 of file linkage.h.

◆ translations_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
TranslationBuffer v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::translations_
private

Definition at line 130 of file code-generator.h.

◆ true_block_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BasicBlock* v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::true_block_
private

Definition at line 327 of file instruction-selector-impl.h.

◆ type_ [1/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
FrameStateType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::type_
private

Definition at line 59 of file common-operator.h.

◆ type_ [2/2]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Type v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::type_
private

Definition at line 710 of file instruction.h.

◆ untagged_operands_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
ZoneList<InstructionOperand*> v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::untagged_operands_
private

Definition at line 397 of file instruction.h.

◆ used_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
BoolVector v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::used_
private

Definition at line 209 of file instruction-selector.h.

◆ value_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
int64_t v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::value_
private

Definition at line 711 of file instruction.h.

◆ word_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
const MachineType v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::word_
private

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

◆ write_barrier_kind_

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
WriteBarrierKind v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::write_barrier_kind_
private

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

◆ zone_ [1/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone * v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone_
private

Definition at line 45 of file common-node-cache.h.

◆ zone_ [2/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone* const v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone_
private

Definition at line 110 of file common-operator.h.

◆ zone_ [3/3]

template<InstructionOperand::Kind kOperandKind, int kNumCachedOperands>
Zone v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::zone_
private

Definition at line 202 of file instruction-selector.h.


The documentation for this class was generated from the following files: