v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <hydrogen-instructions.h>
Public Types | |
enum | Flag { kFlexibleRepresentation, kCannotBeTagged, kUseGVN, kTrackSideEffectDominators, kCanOverflow, kBailoutOnMinusZero, kCanBeDivByZero, kLeftCanBeMinInt, kLeftCanBeNegative, kLeftCanBePositive, kAllowUndefinedAsNaN, kIsArguments, kTruncatingToInt32, kAllUsesTruncatingToInt32, kTruncatingToSmi, kAllUsesTruncatingToSmi, kIsDead, kUint32, kHasNoObservableSideEffects, kIsLive, kEndsLiveRange = kIsLive, kLastFlag = kIsLive } |
enum | Opcode { kPhi } |
Static Public Member Functions | |
static HValue * | cast (HValue *value) |
Static Public Attributes | |
static const int | kNoNumber = -1 |
static const int | kNoRedefinedOperand = -1 |
Protected Member Functions | |
virtual bool | DataEquals (HValue *other) |
virtual Representation | RepresentationFromInputs () |
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 | DeleteFromGraph ()=0 |
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) |
Static Protected Member Functions | |
static GVNFlagSet | AllFlagSet () |
static GVNFlagSet | AllSideEffectsFlagSet () |
static GVNFlagSet | AllObservableSideEffectsFlagSet () |
Protected Attributes | |
HBasicBlock * | block_ |
int | id_ |
Representation | representation_ |
HType | type_ |
HUseListNode * | use_list_ |
Range * | range_ |
int | flags_ |
GVNFlagSet | changes_flags_ |
GVNFlagSet | depends_on_flags_ |
Definition at line 606 of file hydrogen-instructions.h.
enum Flag |
Definition at line 610 of file hydrogen-instructions.h.
enum Opcode |
Enumerator | |
---|---|
kPhi |
Definition at line 659 of file hydrogen-instructions.h.
|
inline |
Definition at line 681 of file hydrogen-instructions.h.
|
inlinevirtual |
Definition at line 688 of file hydrogen-instructions.h.
|
inline |
Definition at line 774 of file hydrogen-instructions.h.
References HValue::kNoRedefinedOperand, HValue::OperandAt(), and HValue::RedefinedOperandIndex().
Referenced by HLoadEliminationTable::Process().
|
protected |
Definition at line 137 of file hydrogen-instructions.cc.
References HInferRepresentationPhase::AddToWorklist(), HValue::OperandAt(), HValue::OperandCount(), and HValue::uses().
Referenced by HValue::UpdateRepresentation().
void AddNewRange | ( | Range * | r, |
Zone * | zone | ||
) |
Definition at line 663 of file hydrogen-instructions.cc.
References ASSERT, HValue::ComputeInitialRange(), HValue::HasRange(), and HValue::range_.
|
inlinestaticprotected |
Definition at line 988 of file hydrogen-instructions.h.
References ADD_FLAG, GVN_TRACKED_FLAG_LIST, and GVN_UNTRACKED_FLAG_LIST.
Referenced by HValue::AllObservableSideEffectsFlagSet(), and HValue::AllSideEffectsFlagSet().
|
inlinestaticprotected |
Definition at line 1006 of file hydrogen-instructions.h.
References HValue::AllFlagSet(), and EnumSet< E, T >::Remove().
Referenced by HValue::HasObservableSideEffects(), and HValue::ObservableChangesFlags().
|
inlinestaticprotected |
Definition at line 998 of file hydrogen-instructions.h.
References HValue::AllFlagSet(), and EnumSet< E, T >::Remove().
Referenced by HValue::ClearAllSideEffects(), HValue::HasSideEffects(), HValue::PrintChangesTo(), HValue::SetAllSideEffects(), and HValue::SideEffectFlags().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HCall< V >, HCall< 1 >, HCall< 2 >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 765 of file hydrogen-instructions.h.
|
virtual |
Reimplemented in HBinaryOperation.
Definition at line 66 of file hydrogen-instructions.cc.
References HValue::ChangeRepresentation(), HValue::CheckFlag(), HValue::ClearFlag(), and HValue::kFlexibleRepresentation.
Referenced by HBinaryOperation::AssumeRepresentation().
|
inline |
Definition at line 697 of file hydrogen-instructions.h.
References HValue::block_.
Referenced by HValue::CanReplaceWithDummyUses(), HInstruction::InsertAfter(), HInstruction::InsertBefore(), HValue::IsDefinedAfter(), HInstruction::IsLinked(), HValue::isolate(), BASE_EMBEDDED< Visitor >::ProcessRelatedChecks(), HValue::RegisterUse(), HValue::RemoveUse(), HValue::ReplaceAllUsesWith(), HValue::SetBlock(), HTemplateControlInstruction< 0, 0 >::SetSuccessorAt(), and HInstruction::Unlink().
|
virtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HCall< V >, HCall< 1 >, HCall< 2 >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 3652 of file hydrogen-instructions.cc.
References HValue::type_.
Referenced by HValue::UpdateInferredType().
|
inline |
Definition at line 921 of file hydrogen-instructions.h.
References HValue::HasObservableSideEffects().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 879 of file hydrogen-instructions.h.
Referenced by HCanonicalizePhase::Run().
bool CanReplaceWithDummyUses | ( | ) |
Definition at line 507 of file hydrogen-instructions.cc.
References HValue::block().
Definition at line 657 of file hydrogen-instructions.h.
Referenced by HGraphBuilder::BuildBinaryOperation(), HCheckTable::Process(), HRangeAnalysisPhase::Run(), and HOptimizedGraphBuilder::VisitArithmeticExpression().
|
inline |
Definition at line 711 of file hydrogen-instructions.h.
References ASSERT, HValue::CheckFlag(), HValue::ClearFlag(), Representation::IsTagged(), HValue::kCannotBeTagged, HValue::kFlexibleRepresentation, HValue::representation_, and HValue::RepresentationChanged().
Referenced by HValue::AssumeRepresentation(), HGraphBuilder::BuildUncheckedDictionaryElementLoad(), HCompareNumericAndBranch::InferRepresentation(), HInferRepresentationPhase::Run(), and HValue::UpdateRepresentation().
|
inline |
Definition at line 821 of file hydrogen-instructions.h.
References HValue::changes_flags_.
Referenced by HValue::ObservableChangesFlags(), HValue::PrintChangesTo(), HLoadEliminationEffects::Process(), V8_FINAL< kOperandKind, kNumCachedOperands >::ReuseSideEffectsFromStore(), and HValue::SideEffectFlags().
|
inline |
Definition at line 827 of file hydrogen-instructions.h.
References HValue::changes_flags_, and EnumSet< E, T >::Contains().
Referenced by HCheckTable::Process(), HLoadEliminationTable::Process(), and HCheckMapsEffects::Process().
|
inline |
Definition at line 830 of file hydrogen-instructions.h.
References EnumSet< E, T >::Contains(), and HValue::depends_on_flags_.
|
inline |
Definition at line 808 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HInferRepresentationPhase::AddToWorklist(), HValue::AssumeRepresentation(), HInstruction::CanTruncateToInt32(), HValue::ChangeRepresentation(), HValue::CopyFlag(), HValue::GetMinusZeroMode(), HValue::HasObservableSideEffects(), HValue::InferRange(), HValue::InferRepresentation(), HBinaryOperation::InferRepresentation(), HValue::Kill(), HBinaryOperation::PrintDataTo(), HInstruction::PrintTo(), HValue::RepresentationFromUses(), HRepresentationChangesPhase::Run(), HInferRepresentationPhase::Run(), HUseListNode::tail(), and HValue::UpdateRepresentation().
bool CheckUsesForFlag | ( | Flag | f | ) | const |
Definition at line 386 of file hydrogen-instructions.cc.
References HValue::uses().
Definition at line 395 of file hydrogen-instructions.cc.
References HValue::uses().
|
inlineprotected |
Definition at line 978 of file hydrogen-instructions.h.
References ASSERT, HValue::block_, and v8::internal::NULL.
Referenced by HInstruction::Unlink().
|
inline |
Definition at line 834 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), HValue::changes_flags_, and EnumSet< E, T >::Remove().
|
inline |
Definition at line 825 of file hydrogen-instructions.h.
References HValue::changes_flags_, and EnumSet< E, T >::Remove().
|
inline |
Definition at line 826 of file hydrogen-instructions.h.
References HValue::depends_on_flags_, and EnumSet< E, T >::Remove().
Referenced by HGraphBuilder::BuildUncheckedMonomorphicElementAccess().
|
inline |
Definition at line 807 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HGraphBuilder::AddIncrementCounter(), HValue::AssumeRepresentation(), HGraphBuilder::BuildAllocateElements(), HGraphBuilder::BuildCheckForCapacityGrow(), HGraphBuilder::BuildCreateAllocationMemento(), CodeStubGraphBuilderBase::BuildGraph(), HGraphBuilder::BuildNewElementsCapacity(), HGraphBuilder::BuildObjectSizeAlignment(), HGraphBuilder::BuildUncheckedStringAdd(), HValue::ChangeRepresentation(), and HRepresentationChangesPhase::Run().
void ComputeInitialRange | ( | Zone * | zone | ) |
Definition at line 679 of file hydrogen-instructions.cc.
References ASSERT, HValue::HasRange(), HValue::InferRange(), and HValue::range_.
Referenced by HValue::AddNewRange().
Definition at line 809 of file hydrogen-instructions.h.
References HValue::CheckFlag(), and HValue::SetFlag().
Referenced by HGraphBuilder::BuildBinaryOperation().
|
inlineprotectedvirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 957 of file hydrogen-instructions.h.
References UNREACHABLE.
Referenced by HValue::Equals().
void DeleteAndReplaceWith | ( | HValue * | other | ) |
Definition at line 539 of file hydrogen-instructions.cc.
References HValue::DeleteFromGraph(), HValue::Kill(), v8::internal::NULL, and HValue::ReplaceAllUsesWith().
Referenced by HLoadEliminationTable::Process(), and HCanonicalizePhase::Run().
|
protectedpure virtual |
Implemented in V8_FINAL< kOperandKind, kNumCachedOperands >, and HInstruction.
Referenced by HValue::DeleteAndReplaceWith().
|
inline |
Definition at line 822 of file hydrogen-instructions.h.
References HValue::depends_on_flags_.
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 708 of file hydrogen-instructions.h.
bool Equals | ( | HValue * | other | ) |
Definition at line 471 of file hydrogen-instructions.cc.
References ASSERT, HValue::DataEquals(), Representation::Equals(), HValue::flags(), HValue::Hashcode(), HValue::id(), HValue::opcode(), HValue::OperandAt(), HValue::OperandCount(), HValue::representation(), and HValue::type_.
Referenced by HValue::PrintTypeTo(), and HAliasAnalyzer::Query().
bool EqualsInteger32Constant | ( | int32_t | value | ) |
Definition at line 528 of file hydrogen-instructions.cc.
References HValue::GetInteger32Constant(), and HValue::IsInteger32Constant().
Referenced by HGraphBuilder::BuildBinaryOperation().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 885 of file hydrogen-instructions.h.
|
inline |
Definition at line 805 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HValue::Equals().
int32_t GetInteger32Constant | ( | ) |
Definition at line 523 of file hydrogen-instructions.cc.
Referenced by HGraphBuilder::BuildFillElementsWithHole(), HValue::EqualsInteger32Constant(), BASE_EMBEDDED< Visitor >::ProcessRelatedChecks(), HBinaryOperation::RightIsPowerOf2(), and V8_FINAL< kOperandKind, kNumCachedOperands >::UpdateRepresentation().
|
inline |
Definition at line 949 of file hydrogen-instructions.h.
References HValue::CheckFlag(), v8::internal::FAIL_ON_MINUS_ZERO, HValue::kBailoutOnMinusZero, and v8::internal::TREAT_MINUS_ZERO_AS_ZERO.
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 902 of file hydrogen-instructions.h.
Referenced by HValue::HasMonomorphicJSObjectType().
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 914 of file hydrogen-instructions.h.
References UNREACHABLE.
bool HasAtLeastOneUseWithFlagAndNoneWithout | ( | Flag | f | ) | const |
Definition at line 407 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HCanonicalizePhase::Run().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HDematerializedObject, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 865 of file hydrogen-instructions.h.
|
virtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 486 of file hydrogen-instructions.cc.
References HValue::id(), HValue::opcode(), HValue::OperandAt(), and HValue::OperandCount().
Referenced by HValue::Equals(), and BoundsCheckKey::Hash().
bool HasMonomorphicJSObjectType | ( | ) |
Definition at line 629 of file hydrogen-instructions.cc.
References HValue::GetMonomorphicJSObjectMap().
|
inline |
Definition at line 797 of file hydrogen-instructions.h.
References v8::internal::NULL, HUseListNode::tail(), and HValue::use_list_.
|
protected |
Definition at line 4426 of file hydrogen-instructions.cc.
References Representation::IsNone(), Representation::IsSmi(), Representation::IsTagged(), and HValue::uses().
Referenced by HValue::InferRepresentation(), and HBinaryOperation::InferRepresentation().
|
inline |
Definition at line 796 of file hydrogen-instructions.h.
References v8::internal::NULL, and HValue::use_list_.
Referenced by HValue::RepresentationFromUses().
|
inline |
Definition at line 840 of file hydrogen-instructions.h.
References HValue::AllObservableSideEffectsFlagSet(), HValue::changes_flags_, HValue::CheckFlag(), EnumSet< E, T >::ContainsAnyOf(), and HValue::kHasNoObservableSideEffects.
Referenced by HValue::CannotBeEliminated(), HInstruction::InsertAfter(), and V8_FINAL< kOperandKind, kNumCachedOperands >::ReuseSideEffectsFromStore().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 866 of file hydrogen-instructions.h.
|
inline |
Definition at line 859 of file hydrogen-instructions.h.
References v8::internal::NULL, and HValue::range_.
Referenced by HValue::AddNewRange(), HValue::ComputeInitialRange(), and HValue::RemoveLastAddedRange().
|
inline |
Definition at line 837 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), HValue::changes_flags_, and EnumSet< E, T >::ContainsAnyOf().
|
inline |
Definition at line 703 of file hydrogen-instructions.h.
References HValue::id_.
Referenced by HInferRepresentationPhase::AddToWorklist(), HValue::Equals(), HValue::Hashcode(), V8_FINAL< kOperandKind, kNumCachedOperands >::IsDehoistedKey(), HValue::PrintNameTo(), HLoadEliminationTable::Process(), HValue::RepresentationFromUses(), HRepresentationChangesPhase::Run(), HInferRepresentationPhase::Run(), HValue::set_id(), HOptimizedGraphBuilder::VisitDelete(), and HOptimizedGraphBuilder::VisitTypeof().
|
protectedvirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 1753 of file hydrogen-instructions.cc.
References HValue::CheckFlag(), HValue::kAllUsesTruncatingToInt32, Smi::kMaxValue, Smi::kMinValue, HValue::representation(), and HValue::type().
Referenced by HValue::ComputeInitialRange().
|
virtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HCompareNumericAndBranch, V8_FINAL< kOperandKind, kNumCachedOperands >, HBinaryOperation, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 76 of file hydrogen-instructions.cc.
References ASSERT, HValue::CheckFlag(), HValue::HasNonSmiUse(), Representation::Integer32(), HValue::kFlexibleRepresentation, HValue::representation(), HValue::RepresentationFromInputs(), HValue::RepresentationFromUses(), and HValue::UpdateRepresentation().
Referenced by HInferRepresentationPhase::Run().
|
protectedpure virtual |
Implemented in HDematerializedObject, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HTemplateControlInstruction< S, V >, HTemplateControlInstruction< 2, 3 >, HTemplateControlInstruction< 2, 2 >, HTemplateControlInstruction< 0, 3 >, HTemplateControlInstruction< 2, 1 >, HTemplateControlInstruction< 2, 0 >, HTemplateControlInstruction< 1, 0 >, HTemplateControlInstruction< 0, 0 >, HTemplateInstruction< V >, HTemplateInstruction< 0 >, HTemplateInstruction< 1 >, HTemplateInstruction< 2 >, HTemplateInstruction< 3 >, and HTemplateInstruction< 4 >.
Referenced by HValue::ReplaceAllUsesWith(), and HValue::SetOperandAt().
bool IsDefinedAfter | ( | HBasicBlock * | other | ) | const |
Definition at line 372 of file hydrogen-instructions.cc.
References HValue::block().
|
inline |
Definition at line 741 of file hydrogen-instructions.h.
References Representation::IsHeapObject(), HValue::representation_, and HValue::type_.
|
inline |
Definition at line 755 of file hydrogen-instructions.h.
References HValue::kNoRedefinedOperand, and HValue::RedefinedOperandIndex().
bool IsInteger32Constant | ( | ) |
Definition at line 518 of file hydrogen-instructions.cc.
Referenced by HGraphBuilder::BuildFillElementsWithHole(), HValue::EqualsInteger32Constant(), BASE_EMBEDDED< Visitor >::ProcessRelatedChecks(), and V8_FINAL< kOperandKind, kNumCachedOperands >::UpdateRepresentation().
Isolate * isolate | ( | ) | const |
Definition at line 60 of file hydrogen-instructions.cc.
References ASSERT, HValue::block(), and v8::internal::NULL.
|
inline |
Definition at line 673 of file hydrogen-instructions.h.
References HValue::kPhi, and HValue::opcode().
Referenced by V8_FINAL< kOperandKind, kNumCachedOperands >::cast(), HValue::RepresentationFromUses(), HRepresentationChangesPhase::Run(), and HInferRepresentationPhase::Run().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 770 of file hydrogen-instructions.h.
void Kill | ( | ) |
Definition at line 560 of file hydrogen-instructions.cc.
References HValue::CheckFlag(), HValue::kIsDead, v8::internal::NULL, HValue::OperandAt(), HValue::OperandCount(), HValue::SetFlag(), HUseListNode::tail(), HValue::use_list_, and HUseListNode::value().
Referenced by HValue::DeleteAndReplaceWith().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 723 of file hydrogen-instructions.h.
References Representation::Double(), Representation::IsTagged(), Representation::None(), HValue::representation(), Representation::Smi(), and HValue::type().
const char * Mnemonic | ( | ) | const |
Definition at line 496 of file hydrogen-instructions.cc.
References HYDROGEN_CONCRETE_INSTRUCTION_LIST, HValue::kPhi, MAKE_CASE, and HValue::opcode().
Referenced by HValue::RepresentationFromUses(), HRepresentationChangesPhase::Run(), and HValue::UpdateRepresentation().
|
inline |
Definition at line 851 of file hydrogen-instructions.h.
References HValue::AllObservableSideEffectsFlagSet(), HValue::ChangesFlags(), and EnumSet< E, T >::Intersect().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HCompareObjectEqAndBranch, HCompareNumericAndBranch, HBitwiseBinaryOperation, HBinaryOperation, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 869 of file hydrogen-instructions.h.
References Representation::None().
Referenced by HValue::RepresentationFromUses().
|
pure virtual |
Implemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Referenced by HInstruction::CanDeoptimize(), HValue::Equals(), HValue::Hashcode(), HValue::IsPhi(), HValue::Mnemonic(), HCheckTable::Process(), HLoadEliminationTable::Process(), HCheckMapsEffects::Process(), and HStoreEliminationPhase::Run().
|
inlinevirtual |
Reimplemented in HInstruction.
Definition at line 693 of file hydrogen-instructions.h.
References HValue::position().
|
pure virtual |
Implemented in HDematerializedObject, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HTemplateControlInstruction< S, V >, HTemplateControlInstruction< 2, 3 >, HTemplateControlInstruction< 2, 2 >, HTemplateControlInstruction< 0, 3 >, HTemplateControlInstruction< 2, 1 >, HTemplateControlInstruction< 2, 0 >, HTemplateControlInstruction< 1, 0 >, HTemplateControlInstruction< 0, 0 >, HTemplateInstruction< V >, HTemplateInstruction< 0 >, HTemplateInstruction< 1 >, HTemplateInstruction< 2 >, HTemplateInstruction< 3 >, and HTemplateInstruction< 4 >.
Referenced by HValue::ActualValue(), HValue::AddDependantsToWorklist(), HInstruction::CanDeoptimize(), HValue::Equals(), HValue::Hashcode(), HValue::Kill(), HInstruction::PrintDataTo(), HValue::RedefinedOperand(), HValue::RegisterUse(), and HRepresentationChangesPhase::Run().
|
pure virtual |
Implemented in HDematerializedObject, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HTemplateControlInstruction< S, V >, HTemplateControlInstruction< 2, 3 >, HTemplateControlInstruction< 2, 2 >, HTemplateControlInstruction< 0, 3 >, HTemplateControlInstruction< 2, 1 >, HTemplateControlInstruction< 2, 0 >, HTemplateControlInstruction< 1, 0 >, HTemplateControlInstruction< 0, 0 >, HTemplateInstruction< V >, HTemplateInstruction< 0 >, HTemplateInstruction< 1 >, HTemplateInstruction< 2 >, HTemplateInstruction< 3 >, and HTemplateInstruction< 4 >.
Referenced by HValue::AddDependantsToWorklist(), HInstruction::CanDeoptimize(), HValue::Equals(), HValue::Hashcode(), HValue::Kill(), HInstruction::PrintDataTo(), and HInstruction::set_operand_position().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, and HInstruction.
Definition at line 690 of file hydrogen-instructions.h.
References HSourcePosition::Unknown().
Referenced by HValue::operand_position().
void PrintChangesTo | ( | StringStream * | stream | ) |
Definition at line 602 of file hydrogen-instructions.cc.
References StringStream::Add(), HValue::AllSideEffectsFlagSet(), HValue::ChangesFlags(), GVN_TRACKED_FLAG_LIST, GVN_UNTRACKED_FLAG_LIST, EnumSet< E, T >::IsEmpty(), and PRINT_DO.
Referenced by HInstruction::PrintTo().
void PrintNameTo | ( | StringStream * | stream | ) |
Definition at line 624 of file hydrogen-instructions.cc.
References StringStream::Add(), HValue::id(), Representation::Mnemonic(), and HValue::representation_.
Referenced by HInstruction::PrintDataTo(), HUnaryControlInstruction::PrintDataTo(), HUnaryOperation::PrintDataTo(), HUnaryCall::PrintDataTo(), HBinaryCall::PrintDataTo(), HBinaryOperation::PrintDataTo(), HCompareNumericAndBranch::PrintDataTo(), and HCompareObjectEqAndBranch::PrintDataTo().
void PrintRangeTo | ( | StringStream * | stream | ) |
Definition at line 591 of file hydrogen-instructions.cc.
References StringStream::Add(), v8::internal::NULL, and HValue::range().
Referenced by HInstruction::PrintTo().
|
pure virtual |
void PrintTypeTo | ( | StringStream * | stream | ) |
Definition at line 585 of file hydrogen-instructions.cc.
References StringStream::Add(), HValue::Equals(), HValue::representation(), and HValue::type().
Referenced by HInstruction::PrintTo().
|
inline |
Definition at line 857 of file hydrogen-instructions.h.
References HValue::range_.
Referenced by HValue::PrintRangeTo().
|
inline |
Definition at line 758 of file hydrogen-instructions.h.
References HValue::kNoRedefinedOperand, v8::internal::NULL, HValue::OperandAt(), and HValue::RedefinedOperandIndex().
Referenced by HValue::TryDecompose().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 754 of file hydrogen-instructions.h.
References HValue::kNoRedefinedOperand.
Referenced by HValue::ActualValue(), HValue::IsInformativeDefinition(), and HValue::RedefinedOperand().
|
protected |
Definition at line 642 of file hydrogen-instructions.cc.
References HValue::block(), v8::internal::NULL, HValue::OperandAt(), HValue::RemoveUse(), HUseListNode::set_tail(), and HValue::use_list_.
Referenced by HValue::SetOperandAt().
void RemoveLastAddedRange | ( | ) |
Definition at line 672 of file hydrogen-instructions.cc.
References ASSERT, HValue::HasRange(), v8::internal::NULL, and HValue::range_.
|
protected |
Definition at line 440 of file hydrogen-instructions.cc.
References HValue::block(), HUseListNode::index(), v8::internal::NULL, HUseListNode::set_tail(), HUseListNode::tail(), HValue::use_list_, and HUseListNode::value().
Referenced by HValue::RegisterUse().
void ReplaceAllUsesWith | ( | HValue * | other | ) |
Definition at line 547 of file hydrogen-instructions.cc.
References ASSERT, HValue::block(), HUseListNode::index(), HValue::InternalSetOperandAt(), v8::internal::NULL, HUseListNode::set_tail(), HUseListNode::tail(), HValue::use_list_, and HUseListNode::value().
Referenced by HValue::DeleteAndReplaceWith().
|
inline |
Definition at line 710 of file hydrogen-instructions.h.
References HValue::representation_.
Referenced by HInferRepresentationPhase::AddToWorklist(), HValue::Equals(), V8_FINAL< kOperandKind, kNumCachedOperands >::from(), V8_FINAL< kOperandKind, kNumCachedOperands >::HChange(), HValue::InferRange(), HValue::InferRepresentation(), HBinaryOperation::InferRepresentation(), HCompareNumericAndBranch::InferRepresentation(), HValue::KnownOptimalRepresentation(), HValue::PrintTypeTo(), HLoadEliminationTable::Process(), BASE_EMBEDDED< Visitor >::ProcessRelatedChecks(), HValue::RepresentationFromInputs(), HBinaryOperation::RepresentationFromInputs(), V8_FINAL< kOperandKind, kNumCachedOperands >::RepresentationFromInputs(), HBinaryOperation::RepresentationFromOutput(), HCanonicalizePhase::Run(), HRepresentationChangesPhase::Run(), HInferRepresentationPhase::Run(), HUint32AnalysisPhase::Run(), HValue::ToNumberCanBeObserved(), HValue::ToStringCanBeObserved(), and HValue::UpdateRepresentation().
|
inlineprotectedvirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, HArithmeticBinaryOperation, and HBitwiseBinaryOperation.
Definition at line 973 of file hydrogen-instructions.h.
Referenced by HValue::ChangeRepresentation().
|
inlineprotectedvirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HBinaryOperation, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 962 of file hydrogen-instructions.h.
References HValue::representation().
Referenced by HValue::InferRepresentation().
|
protected |
Definition at line 4402 of file hydrogen-instructions.cc.
References Representation::Equals(), Representation::generalize(), Representation::Integer32(), Representation::IsInteger32(), Representation::IsNone(), Representation::None(), and HValue::uses().
|
protected |
Definition at line 89 of file hydrogen-instructions.cc.
References HValue::CheckFlag(), Representation::Double(), HValue::HasNoUses(), HValue::id(), Representation::Integer32(), Representation::IsNone(), HValue::IsPhi(), Representation::kDouble, Representation::kind(), Representation::kInteger32, Representation::kNumRepresentations, Representation::kSmi, Representation::kTagged, HValue::kTruncatingToInt32, Representation::Mnemonic(), HValue::Mnemonic(), Representation::None(), HValue::observed_input_representation(), v8::internal::PrintF(), Representation::Smi(), Representation::Tagged(), and HValue::uses().
Referenced by HValue::InferRepresentation(), and HBinaryOperation::InferRepresentation().
|
pure virtual |
Implemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HIsConstructCallAndBranch, HStringCompareAndBranch, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HCompareObjectEqAndBranch, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HCompareNumericAndBranch, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HBinaryOperation, V8_FINAL< kOperandKind, kNumCachedOperands >, HDematerializedObject, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HBinaryCall, HUnaryCall, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
|
inline |
Definition at line 704 of file hydrogen-instructions.h.
References HValue::id(), and HValue::id_.
|
inlineprotected |
Definition at line 983 of file hydrogen-instructions.h.
References ASSERT, Representation::IsNone(), and HValue::representation_.
|
inline |
Definition at line 736 of file hydrogen-instructions.h.
References ASSERT, and HValue::type_.
Referenced by HGraphBuilder::BuildUncheckedMonomorphicElementAccess().
|
inline |
Definition at line 833 of file hydrogen-instructions.h.
References EnumSet< E, T >::Add(), HValue::AllSideEffectsFlagSet(), and HValue::changes_flags_.
void SetBlock | ( | HBasicBlock * | block | ) |
Definition at line 576 of file hydrogen-instructions.cc.
References ASSERT, HValue::block(), HValue::block_, HValue::id_, HValue::kNoNumber, and v8::internal::NULL.
Referenced by HInstruction::InsertAfter(), and HInstruction::InsertBefore().
|
inline |
Definition at line 823 of file hydrogen-instructions.h.
References EnumSet< E, T >::Add(), and HValue::changes_flags_.
|
inline |
Definition at line 824 of file hydrogen-instructions.h.
References EnumSet< E, T >::Add(), and HValue::depends_on_flags_.
Referenced by HInstruction::HInstruction().
|
inline |
Definition at line 806 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HGraphBuilder::AddInstruction(), HGraphBuilder::BuildBinaryOperation(), HGraphBuilder::BuildUncheckedStringAdd(), HValue::CopyFlag(), HCompareNumericAndBranch::InferRepresentation(), HValue::Kill(), HCanonicalizePhase::Run(), HUint32AnalysisPhase::Run(), and HComputeChangeUndefinedToNaN::Run().
void SetOperandAt | ( | int | index, |
HValue * | value | ||
) |
Definition at line 533 of file hydrogen-instructions.cc.
References HValue::InternalSetOperandAt(), and HValue::RegisterUse().
Referenced by HUnaryControlInstruction::HUnaryControlInstruction(), and HUnaryOperation::HUnaryOperation().
|
inline |
Definition at line 845 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), HValue::ChangesFlags(), and EnumSet< E, T >::Intersect().
STATIC_ASSERT | ( | ) |
|
inline |
Definition at line 945 of file hydrogen-instructions.h.
References HValue::representation(), and HValue::type().
Referenced by HBitwiseBinaryOperation::RepresentationChanged(), HArithmeticBinaryOperation::RepresentationChanged(), and V8_FINAL< kOperandKind, kNumCachedOperands >::RepresentationChanged().
|
inline |
Definition at line 939 of file hydrogen-instructions.h.
References HValue::representation(), and HValue::type().
Referenced by V8_FINAL< kOperandKind, kNumCachedOperands >::RepresentationChanged().
|
inlinevirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, and V8_FINAL< kOperandKind, kNumCachedOperands >.
Definition at line 929 of file hydrogen-instructions.h.
References v8::internal::NULL, HValue::RedefinedOperand(), and HValue::TryDecompose().
Referenced by HValue::TryDecompose(), and V8_FINAL< kOperandKind, kNumCachedOperands >::TryDecompose().
|
inline |
Definition at line 735 of file hydrogen-instructions.h.
References HValue::type_.
Referenced by HGraphBuilder::BuildCheckHeapObject(), HGraphBuilder::BuildCheckString(), HGraphBuilder::BuildUncheckedMonomorphicElementAccess(), HGraphBuilder::BuildWrapReceiver(), V8_FINAL< kOperandKind, kNumCachedOperands >::Canonicalize(), V8_FINAL< kOperandKind, kNumCachedOperands >::HChange(), HValue::InferRange(), HValue::KnownOptimalRepresentation(), HValue::PrintTypeTo(), HLoadEliminationTable::Process(), v8::internal::StoringValueNeedsWriteBarrier(), HValue::ToNumberCanBeObserved(), HValue::ToStringCanBeObserved(), and HValue::UpdateInferredType().
bool UpdateInferredType | ( | ) |
Definition at line 634 of file hydrogen-instructions.cc.
References HValue::CalculateInferredType(), HValue::type(), and HValue::type_.
|
protectedvirtual |
Reimplemented in V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, V8_FINAL< kOperandKind, kNumCachedOperands >, HBitwiseBinaryOperation, and HBinaryOperation.
Definition at line 121 of file hydrogen-instructions.cc.
References HValue::AddDependantsToWorklist(), HValue::ChangeRepresentation(), HValue::CheckFlag(), Representation::is_more_general_than(), Representation::IsTagged(), HValue::kCannotBeTagged, Representation::Mnemonic(), HValue::Mnemonic(), v8::internal::PrintF(), and HValue::representation().
Referenced by HValue::InferRepresentation(), and HBinaryOperation::UpdateRepresentation().
int UseCount | ( | ) | const |
Definition at line 433 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HBinaryOperation::AreOperandsBetterSwitched().
|
inline |
Definition at line 706 of file hydrogen-instructions.h.
References HValue::use_list_.
Referenced by HValue::AddDependantsToWorklist(), HValue::CheckUsesForFlag(), HValue::HasAtLeastOneUseWithFlagAndNoneWithout(), HValue::HasNonSmiUse(), HValue::RepresentationFromUseRequirements(), HValue::RepresentationFromUses(), and HValue::UseCount().
|
protected |
Definition at line 1021 of file hydrogen-instructions.h.
Referenced by HValue::block(), HValue::clear_block(), and HValue::SetBlock().
|
protected |
Definition at line 1032 of file hydrogen-instructions.h.
Referenced by HValue::ChangesFlags(), HValue::CheckChangesFlag(), HValue::ClearAllSideEffects(), HValue::ClearChangesFlag(), HValue::HasObservableSideEffects(), HValue::HasSideEffects(), HValue::SetAllSideEffects(), and HValue::SetChangesFlag().
|
protected |
Definition at line 1033 of file hydrogen-instructions.h.
Referenced by HValue::CheckDependsOnFlag(), HValue::ClearDependsOnFlag(), HValue::DependsOnFlags(), and HValue::SetDependsOnFlag().
|
protected |
Definition at line 1031 of file hydrogen-instructions.h.
Referenced by HValue::CheckFlag(), HValue::ClearFlag(), HValue::flags(), and HValue::SetFlag().
|
protected |
Definition at line 1025 of file hydrogen-instructions.h.
Referenced by HValue::id(), HValue::set_id(), and HValue::SetBlock().
|
static |
Definition at line 608 of file hydrogen-instructions.h.
Referenced by HValue::SetBlock().
|
static |
Definition at line 753 of file hydrogen-instructions.h.
Referenced by HValue::ActualValue(), HValue::IsInformativeDefinition(), HValue::RedefinedOperand(), and HValue::RedefinedOperandIndex().
|
protected |
Definition at line 1030 of file hydrogen-instructions.h.
Referenced by HValue::AddNewRange(), HValue::ComputeInitialRange(), HValue::HasRange(), HValue::range(), and HValue::RemoveLastAddedRange().
|
protected |
Definition at line 1027 of file hydrogen-instructions.h.
Referenced by HValue::ChangeRepresentation(), HValue::IsHeapObject(), HValue::PrintNameTo(), HValue::representation(), and HValue::set_representation().
|
protected |
Definition at line 1028 of file hydrogen-instructions.h.
Referenced by HValue::CalculateInferredType(), HValue::Equals(), HValue::IsHeapObject(), HValue::set_type(), HValue::type(), and HValue::UpdateInferredType().
|
protected |
Definition at line 1029 of file hydrogen-instructions.h.
Referenced by HValue::HasMultipleUses(), HValue::HasNoUses(), HValue::Kill(), HValue::RegisterUse(), HValue::RemoveUse(), HValue::ReplaceAllUsesWith(), and HValue::uses().