V8 Project
|
#include <hydrogen-instructions.h>
Protected Member Functions | |
HInstruction (HType type=HType::Tagged()) | |
virtual void | DeleteFromGraph () OVERRIDE |
![]() | |
virtual bool | DataEquals (HValue *other) |
bool | ToStringOrToNumberCanBeObserved () const |
virtual Representation | RepresentationFromInputs () |
virtual Representation | RepresentationFromUses () |
Representation | RepresentationFromUseRequirements () |
bool | HasNonSmiUse () |
virtual void | UpdateRepresentation (Representation new_rep, HInferRepresentationPhase *h_infer, const char *reason) |
void | AddDependantsToWorklist (HInferRepresentationPhase *h_infer) |
virtual void | RepresentationChanged (Representation to) |
virtual Range * | InferRange (Zone *zone) |
virtual void | InternalSetOperandAt (int index, HValue *value)=0 |
void | clear_block () |
void | set_representation (Representation r) |
HUseListNode * | RemoveUse (HValue *value, int index) |
void | RegisterUse (int index, HValue *new_value) |
Private Member Functions | |
void | InitializeAsFirst (HBasicBlock *block) |
Private Attributes | |
HInstruction * | next_ |
HInstruction * | previous_ |
HPositionInfo | position_ |
Friends | |
class | HBasicBlock |
Definition at line 1145 of file hydrogen-instructions.h.
|
inlineexplicitprotected |
Definition at line 1210 of file hydrogen-instructions.h.
References v8::internal::HValue::SetDependsOnFlag().
Definition at line 1165 of file hydrogen-instructions.h.
Referenced by v8::internal::FINAL< kOperandKind, kNumCachedOperands >::CreateAndInsertAfter().
bool v8::internal::HInstruction::CanDeoptimize | ( | ) |
Definition at line 782 of file hydrogen-instructions.cc.
References v8::internal::HValue::kPhi, v8::internal::HValue::opcode(), and UNREACHABLE.
Referenced by v8::internal::HStoreEliminationPhase::ProcessInstr().
|
inline |
Definition at line 1195 of file hydrogen-instructions.h.
References v8::internal::HValue::CheckFlag(), and v8::internal::HValue::kTruncatingToInt32.
|
inline |
Definition at line 1194 of file hydrogen-instructions.h.
References v8::internal::HValue::CheckFlag(), and v8::internal::HValue::kTruncatingToSmi.
|
pure virtual |
|
inlineprotectedvirtual |
Implements v8::internal::HValue.
Reimplemented in v8::internal::FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 1218 of file hydrogen-instructions.h.
References Unlink().
bool v8::internal::HInstruction::Dominates | ( | HInstruction * | other | ) |
Definition at line 721 of file hydrogen-instructions.cc.
References v8::internal::HValue::block(), next(), and NULL.
|
inline |
Definition at line 1174 of file hydrogen-instructions.h.
References v8::internal::HSourcePosition::IsUnknown(), and position().
Referenced by InsertAfter(), InsertBefore(), and set_position().
|
inlinevirtual |
Reimplemented in v8::internal::FINAL< kOperandKind, kNumCachedOperands >, and v8::internal::FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 1205 of file hydrogen-instructions.h.
|
inlineprivate |
Definition at line 1221 of file hydrogen-instructions.h.
References v8::internal::HValue::block(), DCHECK, IsLinked(), and v8::internal::HValue::SetBlock().
void v8::internal::HInstruction::InsertAfter | ( | HInstruction * | previous | ) |
Definition at line 684 of file hydrogen-instructions.cc.
References v8::internal::HValue::block(), DCHECK, has_position(), v8::internal::HValue::HasObservableSideEffects(), HBasicBlock, IsLinked(), next(), next_, NULL, position(), previous(), previous_, set_position(), and v8::internal::HValue::SetBlock().
Referenced by v8::internal::HOptimizedGraphBuilder::EnsureArgumentsArePushedForAccess(), and v8::internal::HEscapeAnalysisPhase::NewLoadReplacement().
void v8::internal::HInstruction::InsertBefore | ( | HInstruction * | next | ) |
Definition at line 666 of file hydrogen-instructions.cc.
References v8::internal::HValue::block(), DCHECK, has_position(), IsLinked(), next(), next_, NULL, position(), previous(), previous_, set_position(), and v8::internal::HValue::SetBlock().
Referenced by v8::internal::HRepresentationChangesPhase::InsertRepresentationChangeForUse(), and v8::internal::BoundsCheckBbData::MoveIndexIfNecessary().
|
inline |
Definition at line 1153 of file hydrogen-instructions.h.
References v8::internal::HValue::block(), and NULL.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildLoad(), v8::internal::HOptimizedGraphBuilder::HandleKeyedElementAccess(), v8::internal::HOptimizedGraphBuilder::HandlePolymorphicNamedFieldAccess(), InitializeAsFirst(), InsertAfter(), InsertBefore(), v8::internal::HUint32AnalysisPhase::Run(), and Unlink().
|
inline |
Definition at line 1147 of file hydrogen-instructions.h.
References next_.
Referenced by v8::internal::BoundsCheckBbData::CoverCheck(), Dominates(), InsertAfter(), InsertBefore(), v8::internal::HComputeChangeUndefinedToNaN::Run(), v8::internal::HRepresentationChangesPhase::Run(), and v8::internal::HEnvironmentLivenessAnalysisPhase::UpdateLivenessAtInstruction().
|
inlinevirtual |
Reimplemented from v8::internal::HValue.
Definition at line 1183 of file hydrogen-instructions.h.
References v8::internal::HSourcePosition::IsUnknown(), v8::internal::HPositionInfo::operand_position(), position(), and position_.
|
inlinevirtual |
Reimplemented from v8::internal::HValue.
Reimplemented in v8::internal::FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 1171 of file hydrogen-instructions.h.
References v8::internal::HPositionInfo::position(), and position_.
Referenced by has_position(), InsertAfter(), InsertBefore(), operand_position(), and set_position().
Definition at line 1158 of file hydrogen-instructions.h.
Referenced by v8::internal::FINAL< kOperandKind, kNumCachedOperands >::CreateAndInsertBefore().
|
inline |
Definition at line 1148 of file hydrogen-instructions.h.
References previous_.
Referenced by InsertAfter(), InsertBefore(), and v8::internal::State::Process().
Reimplemented in v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::HStringCompareAndBranch, v8::internal::HCompareObjectEqAndBranch, v8::internal::HCompareNumericAndBranch, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::HBinaryOperation, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::HBinaryCall, v8::internal::HUnaryCall, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::HUnaryOperation, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::HUnaryControlInstruction, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::FINAL< kOperandKind, kNumCachedOperands >, v8::internal::HControlInstruction, v8::internal::HAllocateBlockContext, and v8::internal::FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 641 of file hydrogen-instructions.cc.
References v8::internal::HValue::OperandAt(), and v8::internal::HValue::OperandCount().
Referenced by PrintTo().
Implements v8::internal::HValue.
Reimplemented in v8::internal::FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 632 of file hydrogen-instructions.cc.
References v8::internal::HValue::CheckFlag(), v8::internal::HValue::kHasNoObservableSideEffects, v8::internal::HValue::kIsDead, v8::internal::HValue::Mnemonic(), PrintDataTo(), and v8::internal::compiler::TypeOf().
|
inline |
Definition at line 1187 of file hydrogen-instructions.h.
References DCHECK, v8::internal::HPositionInfo::ensure_storage_for_operand_positions(), v8::internal::HValue::OperandCount(), position_, and v8::internal::HPositionInfo::set_operand_position().
Referenced by v8::internal::HOptimizedGraphBuilder::BuildCompareInstruction(), v8::internal::HBinaryOperation::SetOperandPositions(), and v8::internal::HCompareNumericAndBranch::SetOperandPositions().
|
inline |
Definition at line 1177 of file hydrogen-instructions.h.
References DCHECK, has_position(), v8::internal::HSourcePosition::IsUnknown(), position(), position_, and v8::internal::HPositionInfo::set_position().
Referenced by InsertAfter(), InsertBefore(), and v8::internal::HRepresentationChangesPhase::InsertRepresentationChangeForUse().
void v8::internal::HInstruction::Unlink | ( | ) |
Definition at line 650 of file hydrogen-instructions.cc.
References v8::internal::HValue::block(), v8::internal::HValue::clear_block(), DCHECK, IsLinked(), next_, NULL, and previous_.
Referenced by v8::internal::BoundsCheckBbData::CoverCheck(), DeleteFromGraph(), and v8::internal::BoundsCheckBbData::MoveIndexIfNecessary().
|
friend |
Definition at line 1230 of file hydrogen-instructions.h.
Referenced by InsertAfter(), and v8::internal::HControlInstruction::Not().
|
private |
Definition at line 1226 of file hydrogen-instructions.h.
Referenced by InsertAfter(), InsertBefore(), next(), and Unlink().
|
private |
Definition at line 1228 of file hydrogen-instructions.h.
Referenced by operand_position(), position(), set_operand_position(), and set_position().
|
private |
Definition at line 1227 of file hydrogen-instructions.h.
Referenced by InsertAfter(), InsertBefore(), previous(), and Unlink().