v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <hydrogen-instructions.h>
Public Types | |
enum | Flag { kFlexibleRepresentation, kUseGVN, kTrackSideEffectDominators, kCanOverflow, kBailoutOnMinusZero, kCanBeDivByZero, kDeoptimizeOnUndefined, kIsArguments, kTruncatingToInt32, kIsDead, kUint32, kLastFlag = kUint32 } |
enum | Opcode { kPhi } |
Static Public Member Functions | |
static GVNFlag | ChangesFlagFromInt (int x) |
static GVNFlag | DependsOnFlagFromInt (int x) |
static GVNFlagSet | ConvertChangesToDependsFlags (GVNFlagSet flags) |
static HValue * | cast (HValue *value) |
Static Public Attributes | |
static const int | kNoNumber = -1 |
static const int | kChangesToDependsFlagsLeftShift = 1 |
Protected Member Functions | |
virtual bool | DataEquals (HValue *other) |
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 | AllDependsOnFlagSet () |
static GVNFlagSet | AllChangesFlagSet () |
static GVNFlagSet | AllSideEffectsFlagSet () |
static GVNFlagSet | AllObservableSideEffectsFlagSet () |
Protected Attributes | |
HBasicBlock * | block_ |
int | id_ |
Representation | representation_ |
HType | type_ |
HUseListNode * | use_list_ |
Range * | range_ |
int | flags_ |
GVNFlagSet | gvn_flags_ |
Definition at line 545 of file hydrogen-instructions.h.
enum Flag |
Enumerator | |
---|---|
kFlexibleRepresentation | |
kUseGVN | |
kTrackSideEffectDominators | |
kCanOverflow | |
kBailoutOnMinusZero | |
kCanBeDivByZero | |
kDeoptimizeOnUndefined | |
kIsArguments | |
kTruncatingToInt32 | |
kIsDead | |
kUint32 | |
kLastFlag |
Definition at line 549 of file hydrogen-instructions.h.
enum Opcode |
Enumerator | |
---|---|
kPhi |
Definition at line 593 of file hydrogen-instructions.h.
|
inline |
Definition at line 615 of file hydrogen-instructions.h.
|
inlinevirtual |
Definition at line 621 of file hydrogen-instructions.h.
Definition at line 523 of file hydrogen-instructions.cc.
References ASSERT, HValue::ComputeInitialRange(), HValue::HasRange(), HValue::range_, and Range::StackUpon().
|
inlinestaticprotected |
Definition at line 821 of file hydrogen-instructions.h.
References ADD_FLAG, GVN_TRACKED_FLAG_LIST, and GVN_UNTRACKED_FLAG_LIST.
Referenced by HValue::AllObservableSideEffectsFlagSet(), HValue::AllSideEffectsFlagSet(), HValue::ChangesFlags(), and HValue::ObservableChangesFlags().
|
inlinestaticprotected |
Definition at line 811 of file hydrogen-instructions.h.
References ADD_FLAG, GVN_TRACKED_FLAG_LIST, and GVN_UNTRACKED_FLAG_LIST.
Referenced by HValue::DependsOnFlags().
|
inlinestaticprotected |
Definition at line 840 of file hydrogen-instructions.h.
References HValue::AllChangesFlagSet(), and EnumSet< E, T >::Remove().
Referenced by HValue::HasObservableSideEffects(), and HValue::ObservableChangesFlags().
|
inlinestaticprotected |
Definition at line 832 of file hydrogen-instructions.h.
References HValue::AllChangesFlagSet(), and EnumSet< E, T >::Remove().
Referenced by HValue::ClearAllSideEffects(), HValue::HasSideEffects(), HValue::PrintChangesTo(), HValue::SetAllSideEffects(), and HValue::SideEffectFlags().
void AssumeRepresentation | ( | Representation | r | ) |
Definition at line 78 of file hydrogen-instructions.cc.
References HValue::ChangeRepresentation(), HValue::CheckFlag(), HValue::ClearFlag(), and HValue::kFlexibleRepresentation.
|
inline |
Definition at line 623 of file hydrogen-instructions.h.
References HValue::block_.
Referenced by HEnvironment::AddIncomingEdge(), HPhi::AddInput(), HUnaryMathOperation::Canonicalize(), HLoadKeyedGeneric::Canonicalize(), HPhi::DeleteFromGraph(), HGraph::EliminateRedundantPhis(), HGraph::EliminateUnreachablePhis(), HPhi::InferRange(), HInstruction::InsertAfter(), HInstruction::InsertBefore(), HValue::IsDefinedAfter(), HInstruction::IsLinked(), HValue::LoopWeight(), HValue::RegisterUse(), HBasicBlock::RemovePhi(), HValue::RemoveUse(), HValue::ReplaceAllUsesWith(), HValue::SetBlock(), HTemplateControlInstruction< 0, 0 >::SetSuccessorAt(), and HInstruction::Unlink().
|
virtual |
Reimplemented in HLoadFieldByIndex, HForInCacheArray, HForInPrepareMap, HCheckMapValue, HIn, HDeleteProperty, HFunctionLiteral, HRegExpLiteral, HObjectLiteral, HArrayLiteral, HFastLiteral, HAllocateObject, HStringLength, HStringCharFromCode, HStringAdd, HAdd, HInstanceOfKnownGlobal, HInstanceOf, HCompareGeneric, HArithmeticBinaryOperation, HBitwiseBinaryOperation, HConstant, HPhi, HCheckSmi, HCheckNonSmi, HCheckFunction, HCheckMaps, HUnaryMathOperation, HBitNot, HCall< V >, HCall< 0 >, HCall< 1 >, HCall< 2 >, and HChange.
Definition at line 2145 of file hydrogen-instructions.cc.
References HValue::type_.
Referenced by HValue::UpdateInferredType().
|
inlinevirtual |
Reimplemented in HTypeof, HLoadKeyedGeneric, HBitwise, HSub, HAdd, HWrapReceiver, HConstant, HCheckNonSmi, HCheckInstanceType, HUnaryMathOperation, HBitNot, and HChange.
Definition at line 754 of file hydrogen-instructions.h.
Referenced by HGraph::Canonicalize().
Definition at line 591 of file hydrogen-instructions.h.
Referenced by HUnaryMathOperation::Canonicalize(), HCheckInstanceType::Canonicalize(), HBitwise::Canonicalize(), HLoadKeyedGeneric::Canonicalize(), BoundsCheckKey::Create(), HUnaryMathOperation::DataEquals(), HCheckMaps::DataEquals(), HCheckPrototypeMaps::DataEquals(), HConstant::DataEquals(), HMathMinMax::DataEquals(), HBitwise::DataEquals(), HLoadGlobalCell::DataEquals(), HLoadNamedFieldPolymorphic::DataEquals(), HLoadKeyedFastElement::DataEquals(), HLoadKeyedFastDoubleElement::DataEquals(), HLoadKeyedSpecializedArrayElement::DataEquals(), HTransitionElementsKind::DataEquals(), HGraph::DeadCodeElimination(), HGraph::DehoistSimpleArrayIndexComputations(), HMod::HasPowerOf2Divisor(), LForInCacheArray::idx(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), HPhi::InferredRepresentation(), LChunk::LookupConstant(), HBitwise::NewHBitwise(), HDiv::NewHDiv(), HMod::NewHMod(), v8::internal::NumberValueAsInteger32(), HBasicBlock::SetJoinId(), and v8::internal::StoringValueNeedsWriteBarrier().
|
inline |
Definition at line 634 of file hydrogen-instructions.h.
References ASSERT, HValue::CheckFlag(), Representation::IsNone(), HValue::kFlexibleRepresentation, HValue::representation_, and HValue::RepresentationChanged().
Referenced by HValue::AssumeRepresentation().
|
inlinestatic |
Definition at line 581 of file hydrogen-instructions.h.
|
inline |
Definition at line 719 of file hydrogen-instructions.h.
References HValue::AllChangesFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
Referenced by HValue::PrintChangesTo().
|
inline |
Definition at line 687 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HPhi::AddInput(), HValue::AssumeRepresentation(), HBitNot::Canonicalize(), HBitwise::Canonicalize(), HInstruction::CanTruncateToInt32(), HValue::ChangeRepresentation(), HGraph::CheckArgumentsPhiUses(), HChange::deoptimize_on_minus_zero(), HChange::deoptimize_on_undefined(), HChange::InferRange(), HGraph::InsertRepresentationChanges(), HChange::PrintDataTo(), HBinaryOperation::PrintDataTo(), ValueContext::ReturnControl(), ValueContext::ReturnInstruction(), ValueContext::ReturnValue(), and HUseListNode::tail().
|
inline |
Definition at line 695 of file hydrogen-instructions.h.
References EnumSet< E, T >::Contains(), and HValue::gvn_flags_.
bool CheckUsesForFlag | ( | Flag | f | ) |
Definition at line 302 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HAdd::Canonicalize(), HSub::Canonicalize(), and HGraph::InsertRepresentationChanges().
|
inlineprotected |
Definition at line 800 of file hydrogen-instructions.h.
References ASSERT, HValue::block_, and v8::internal::NULL.
Referenced by HInstruction::Unlink().
|
inline |
Definition at line 697 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Remove().
Referenced by HBitwiseBinaryOperation::RepresentationChanged(), and HArithmeticBinaryOperation::RepresentationChanged().
|
inline |
Definition at line 686 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HValue::AssumeRepresentation(), HAdd::Canonicalize(), HSub::Canonicalize(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMod::InferRange(), HDiv::InferRange(), and HGraph::InsertRepresentationChanges().
|
inline |
Definition at line 694 of file hydrogen-instructions.h.
References HValue::gvn_flags_, and EnumSet< E, T >::Remove().
Referenced by HCheckMaps::NewWithTransitions().
void ComputeInitialRange | ( | Zone * | zone | ) |
Definition at line 539 of file hydrogen-instructions.cc.
References ASSERT, HValue::HasRange(), HValue::InferRange(), and HValue::range_.
Referenced by HValue::AddNewRange().
|
inlinestatic |
Definition at line 587 of file hydrogen-instructions.h.
References HValue::kChangesToDependsFlagsLeftShift, and EnumSet< E, T >::ToIntegral().
|
inlineprotectedvirtual |
Reimplemented in HCheckMapValue, HStringLength, HStringCharFromCode, HStringCharCodeAt, HStringAdd, HTransitionElementsKind, HLoadKeyedSpecializedArrayElement, HLoadKeyedFastDoubleElement, HLoadKeyedFastElement, HLoadFunctionPrototype, HLoadNamedFieldPolymorphic, HLoadNamedField, HLoadContextSlot, HLoadGlobalCell, HSar, HShr, HShl, HBitwise, HMathMinMax, HDiv, HMod, HMul, HSub, HAdd, HPower, HGetCachedArrayIndex, HIsSmiAndBranch, HMathFloorOfDiv, HBoundsCheck, HAccessArgumentsAt, HArgumentsLength, HArgumentsElements, HConstant, HCheckSmi, HCheckPrototypeMaps, HCheckNonSmi, HCheckInstanceType, HCheckFunction, HCheckMaps, HLoadExternalArrayPointer, HLoadElements, HUnaryMathOperation, HBitNot, HElementsKind, HMapEnumLength, HFixedArrayBaseLength, HJSArrayLength, HGlobalReceiver, HGlobalObject, HOuterContext, HContext, HThisFunction, HClampToUint8, and HChange.
Definition at line 792 of file hydrogen-instructions.h.
References UNREACHABLE.
Referenced by HValue::Equals().
void DeleteAndReplaceWith | ( | HValue * | other | ) |
Definition at line 405 of file hydrogen-instructions.cc.
References ASSERT, HValue::DeleteFromGraph(), HValue::HasNoUses(), HValue::Kill(), v8::internal::NULL, and HValue::ReplaceAllUsesWith().
Referenced by HGraph::Canonicalize(), HUnaryMathOperation::Canonicalize(), BoundsCheckBbData::CoverCheck(), and HGraph::DeadCodeElimination().
|
protectedpure virtual |
Implemented in HPhi, and HInstruction.
Referenced by HValue::DeleteAndReplaceWith().
|
inlinestatic |
Definition at line 584 of file hydrogen-instructions.h.
|
inline |
Definition at line 707 of file hydrogen-instructions.h.
References HValue::AllDependsOnFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
|
inlinevirtual |
Reimplemented in HConstant.
Definition at line 632 of file hydrogen-instructions.h.
Reimplemented in HDiv, HMod, HMul, HSub, HAdd, HMathFloorOfDiv, HUnaryMathOperation, HChange, and HForceRepresentation.
Definition at line 661 of file hydrogen-instructions.h.
References BitVector::Add(), and v8::internal::NULL.
bool Equals | ( | HValue * | other | ) |
Definition at line 363 of file hydrogen-instructions.cc.
References ASSERT, HValue::DataEquals(), Representation::Equals(), HType::Equals(), HValue::flags(), HValue::Hashcode(), HValue::id(), HValue::opcode(), HValue::OperandAt(), HValue::OperandCount(), HValue::representation(), and HValue::type_.
Referenced by HChange::Canonicalize(), HArithmeticBinaryOperation::InferredRepresentation(), HValueMap::Lookup(), and HValue::PrintTypeTo().
|
inline |
Definition at line 684 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HValue::Equals().
|
inline |
Definition at line 692 of file hydrogen-instructions.h.
References HValue::gvn_flags_.
Referenced by HValueMap::Add(), and HValueMap::Kill().
|
virtual |
Reimplemented in HLoadGlobalCell, HConstant, and HCheckPrototypeMaps.
Definition at line 378 of file hydrogen-instructions.cc.
References HValue::id(), HValue::opcode(), HValue::OperandAt(), and HValue::OperandCount().
Referenced by HValue::Equals(), BoundsCheckKey::Hash(), and HValueMap::Lookup().
|
inline |
Definition at line 676 of file hydrogen-instructions.h.
References v8::internal::NULL, HUseListNode::tail(), and HValue::use_list_.
|
inline |
Definition at line 675 of file hydrogen-instructions.h.
References v8::internal::NULL, and HValue::use_list_.
Referenced by HUnaryMathOperation::Canonicalize(), HConstant::Canonicalize(), HWrapReceiver::Canonicalize(), HTypeof::Canonicalize(), HValue::DeleteAndReplaceWith(), HValue::IsDead(), and HBasicBlock::RemovePhi().
|
inline |
Definition at line 703 of file hydrogen-instructions.h.
References HValue::AllObservableSideEffectsFlagSet(), EnumSet< E, T >::ContainsAnyOf(), and HValue::gvn_flags_.
Referenced by HInstruction::InsertAfter(), HValue::IsDead(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), TestContext::ReturnControl(), EffectContext::ReturnInstruction(), ValueContext::ReturnInstruction(), and TestContext::ReturnInstruction().
|
inline |
Definition at line 733 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 700 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), EnumSet< E, T >::ContainsAnyOf(), and HValue::gvn_flags_.
|
inline |
Definition at line 627 of file hydrogen-instructions.h.
References HValue::id_.
Referenced by HPhi::AddNonPhiUsesFrom(), LChunk::DefineConstantOperand(), HValue::Equals(), HValue::Hashcode(), HPhi::InitRealUses(), HValue::PrintNameTo(), HSimulate::set_ast_id(), and HValue::set_id().
Reimplemented in HStringLength, HStringCharCodeAt, HLoadKeyedSpecializedArrayElement, HSar, HShr, HShl, HBitwise, HMathMinMax, HDiv, HMod, HMul, HSub, HAdd, HConstant, HPhi, and HChange.
Definition at line 1122 of file hydrogen-instructions.cc.
References HValue::representation(), and Range::set_can_be_minus_zero().
Referenced by HValue::ComputeInitialRange(), HChange::InferRange(), HPhi::InferRange(), HConstant::InferRange(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMod::InferRange(), HDiv::InferRange(), HMathMinMax::InferRange(), HBitwise::InferRange(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), and HLoadKeyedSpecializedArrayElement::InferRange().
|
inlinevirtual |
Reimplemented in HMathMinMax, HArithmeticBinaryOperation, and HPhi.
Definition at line 741 of file hydrogen-instructions.h.
References HValue::representation().
Referenced by HArithmeticBinaryOperation::InferredRepresentation().
|
protectedpure virtual |
Implemented in HPhi, HSimulate, HDeoptimize, HTemplateControlInstruction< S, V >, HTemplateControlInstruction< 2, 3 >, HTemplateControlInstruction< 2, 2 >, HTemplateControlInstruction< 2, 1 >, HTemplateControlInstruction< 2, 0 >, HTemplateControlInstruction< 0, 1 >, 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().
|
inlinevirtual |
Reimplemented in HConstant, and HPhi.
Definition at line 643 of file hydrogen-instructions.h.
Referenced by HPhi::AllOperandsConvertibleToInteger().
|
inline |
Definition at line 781 of file hydrogen-instructions.h.
References HValue::HasNoUses(), and HValue::HasObservableSideEffects().
Referenced by HGraph::DeadCodeElimination().
bool IsDefinedAfter | ( | HBasicBlock * | other | ) | const |
Definition at line 288 of file hydrogen-instructions.cc.
References HValue::block(), and HBasicBlock::block_id().
|
inline |
Definition at line 607 of file hydrogen-instructions.h.
References HValue::kPhi, and HValue::opcode().
Referenced by HEnvironment::AddIncomingEdge(), HPhi::cast(), HGraph::EliminateRedundantPhis(), HGraph::EliminateUnreachablePhis(), and HPhi::InitRealUses().
void Kill | ( | ) |
Definition at line 427 of file hydrogen-instructions.cc.
References HUseListNode::index(), HValue::kIsDead, v8::internal::NULL, HValue::OperandAt(), HValue::OperandCount(), HValue::SetFlag(), HUseListNode::tail(), HValue::use_list_, and HUseListNode::value().
Referenced by HUnaryMathOperation::Canonicalize(), HValue::DeleteAndReplaceWith(), and HBasicBlock::RemovePhi().
int LoopWeight | ( | ) | const |
Definition at line 70 of file hydrogen-instructions.cc.
References ARRAY_SIZE, HValue::block(), and v8::internal::Min().
Referenced by HPhi::InitRealUses().
const char * Mnemonic | ( | ) | const |
Definition at line 388 of file hydrogen-instructions.cc.
References HYDROGEN_CONCRETE_INSTRUCTION_LIST, HValue::kPhi, MAKE_CASE, and HValue::opcode().
Referenced by HPhi::AddNonPhiUsesFrom(), HPhi::InitRealUses(), and HChange::PrintDataTo().
|
inline |
Definition at line 725 of file hydrogen-instructions.h.
References HValue::AllChangesFlagSet(), HValue::AllObservableSideEffectsFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
|
inlinevirtual |
Reimplemented in HBitwiseBinaryOperation.
Definition at line 746 of file hydrogen-instructions.h.
References HValue::RequiredInputRepresentation().
Referenced by HPhi::InitRealUses().
|
pure virtual |
Implemented in HPhi.
Referenced by HValue::Equals(), HValue::Hashcode(), HValue::IsPhi(), and HValue::Mnemonic().
|
pure virtual |
Implemented in HPhi, HSimulate, HDeoptimize, HTemplateControlInstruction< S, V >, HTemplateControlInstruction< 2, 3 >, HTemplateControlInstruction< 2, 2 >, HTemplateControlInstruction< 2, 1 >, HTemplateControlInstruction< 2, 0 >, HTemplateControlInstruction< 0, 1 >, HTemplateControlInstruction< 1, 0 >, HTemplateControlInstruction< 0, 0 >, HTemplateInstruction< V >, HTemplateInstruction< 0 >, HTemplateInstruction< 1 >, HTemplateInstruction< 2 >, HTemplateInstruction< 3 >, and HTemplateInstruction< 4 >.
Referenced by HGraph::DeadCodeElimination(), HValue::Equals(), HValue::Hashcode(), HValue::Kill(), and HValue::RegisterUse().
|
pure virtual |
Implemented in HPhi, HSimulate, HDeoptimize, HTemplateControlInstruction< S, V >, HTemplateControlInstruction< 2, 3 >, HTemplateControlInstruction< 2, 2 >, HTemplateControlInstruction< 2, 1 >, HTemplateControlInstruction< 2, 0 >, HTemplateControlInstruction< 0, 1 >, HTemplateControlInstruction< 1, 0 >, HTemplateControlInstruction< 0, 0 >, HTemplateInstruction< V >, HTemplateInstruction< 0 >, HTemplateInstruction< 1 >, HTemplateInstruction< 2 >, HTemplateInstruction< 3 >, and HTemplateInstruction< 4 >.
Referenced by HGraph::DeadCodeElimination(), HValue::Equals(), HValue::Hashcode(), and HValue::Kill().
void PrintChangesTo | ( | StringStream * | stream | ) |
Definition at line 467 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 489 of file hydrogen-instructions.cc.
References StringStream::Add(), HValue::id(), Representation::Mnemonic(), and HValue::representation_.
Referenced by HGraph::DeadCodeElimination(), HDeoptimize::PrintDataTo(), HUnaryControlInstruction::PrintDataTo(), HCompareMap::PrintDataTo(), HReturn::PrintDataTo(), HUnaryOperation::PrintDataTo(), HUnaryCall::PrintDataTo(), HBinaryCall::PrintDataTo(), HJSArrayLength::PrintDataTo(), HUnaryMathOperation::PrintDataTo(), HLoadElements::PrintDataTo(), HCheckMaps::PrintDataTo(), HCheckFunction::PrintDataTo(), HBinaryOperation::PrintDataTo(), HAccessArgumentsAt::PrintDataTo(), HBoundsCheck::PrintDataTo(), HCompareIDAndBranch::PrintDataTo(), HCompareObjectEqAndBranch::PrintDataTo(), HIsNilAndBranch::PrintDataTo(), HHasInstanceTypeAndBranch::PrintDataTo(), HClassOfTestAndBranch::PrintDataTo(), HTypeofIsAndBranch::PrintDataTo(), HInstanceOf::PrintDataTo(), HStoreGlobalCell::PrintDataTo(), HStoreGlobalGeneric::PrintDataTo(), HLoadContextSlot::PrintDataTo(), HStoreContextSlot::PrintDataTo(), HLoadNamedField::PrintDataTo(), HLoadNamedFieldPolymorphic::PrintDataTo(), HLoadNamedGeneric::PrintDataTo(), HLoadKeyedFastElement::PrintDataTo(), HLoadKeyedFastDoubleElement::PrintDataTo(), HLoadKeyedSpecializedArrayElement::PrintDataTo(), HLoadKeyedGeneric::PrintDataTo(), HStoreNamedField::PrintDataTo(), HStoreNamedGeneric::PrintDataTo(), HStoreKeyedFastElement::PrintDataTo(), HStoreKeyedFastDoubleElement::PrintDataTo(), HStoreKeyedSpecializedArrayElement::PrintDataTo(), HStoreKeyedGeneric::PrintDataTo(), HTransitionElementsKind::PrintDataTo(), HTypeof::PrintDataTo(), HIn::PrintDataTo(), HCheckMapValue::PrintDataTo(), HForInPrepareMap::PrintDataTo(), HForInCacheArray::PrintDataTo(), HLoadFieldByIndex::PrintDataTo(), HEnvironment::PrintTo(), and HPhi::PrintTo().
void PrintRangeTo | ( | StringStream * | stream | ) |
Definition at line 458 of file hydrogen-instructions.cc.
References StringStream::Add(), v8::internal::NULL, and HValue::range().
Referenced by HInstruction::PrintTo().
|
pure virtual |
Implemented in HPhi, and HInstruction.
void PrintTypeTo | ( | StringStream * | stream | ) |
Definition at line 452 of file hydrogen-instructions.cc.
References StringStream::Add(), HValue::Equals(), HValue::representation(), HType::Tagged(), and HValue::type().
Referenced by HInstruction::PrintTo().
|
inline |
Definition at line 732 of file hydrogen-instructions.h.
References HValue::range_.
Referenced by HChange::EnsureAndPropagateNotMinusZero(), HUnaryMathOperation::EnsureAndPropagateNotMinusZero(), HAdd::EnsureAndPropagateNotMinusZero(), HSub::EnsureAndPropagateNotMinusZero(), HMul::EnsureAndPropagateNotMinusZero(), HMod::EnsureAndPropagateNotMinusZero(), HDiv::EnsureAndPropagateNotMinusZero(), HChange::InferRange(), HPhi::InferRange(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMod::InferRange(), HDiv::InferRange(), HMathMinMax::InferRange(), HBitwise::InferRange(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), and HValue::PrintRangeTo().
|
protected |
Definition at line 502 of file hydrogen-instructions.cc.
References HValue::block(), v8::internal::NULL, HValue::OperandAt(), HValue::RemoveUse(), HUseListNode::set_tail(), HValue::use_list_, and HBasicBlock::zone().
Referenced by HValue::SetOperandAt().
void RemoveLastAddedRange | ( | ) |
Definition at line 532 of file hydrogen-instructions.cc.
References ASSERT, HValue::HasRange(), Range::next(), v8::internal::NULL, and HValue::range_.
|
protected |
Definition at line 332 of file hydrogen-instructions.cc.
References HValue::block(), HUseListNode::index(), v8::internal::NULL, HUseListNode::set_tail(), HUseListNode::tail(), HValue::use_list_, HUseListNode::value(), and HBasicBlock::zone().
Referenced by HValue::RegisterUse().
void ReplaceAllUsesWith | ( | HValue * | other | ) |
Definition at line 414 of file hydrogen-instructions.cc.
References ASSERT, HValue::block(), HUseListNode::index(), HValue::InternalSetOperandAt(), HBasicBlock::IsStartBlock(), v8::internal::NULL, HUseListNode::set_tail(), HUseListNode::tail(), HValue::use_list_, and HUseListNode::value().
Referenced by HUnaryMathOperation::Canonicalize(), and HValue::DeleteAndReplaceWith().
|
inline |
Definition at line 633 of file hydrogen-instructions.h.
References HValue::representation_.
Referenced by HBitNot::Canonicalize(), HUnaryMathOperation::Canonicalize(), HAdd::Canonicalize(), HSub::Canonicalize(), HBitwise::Canonicalize(), HGraph::ComputeMinusZeroChecks(), HGraph::ComputeSafeUint32Operations(), BoundsCheckBbData::CoverCheck(), BoundsCheckKey::Create(), HConstant::EmitAtUses(), HUnaryMathOperation::EnsureAndPropagateNotMinusZero(), HValue::Equals(), HChange::from(), HChange::HChange(), HValue::InferRange(), HPhi::InferRange(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMod::InferRange(), HDiv::InferRange(), HMathMinMax::InferRange(), HValue::InferredRepresentation(), HPhi::InferredRepresentation(), HArithmeticBinaryOperation::InferredRepresentation(), HMathMinMax::InferredRepresentation(), HGraph::InsertRepresentationChanges(), HAdd::IsCommutative(), HMul::IsCommutative(), HGraph::MarkDeoptimizeOnUndefined(), HValue::PrintTypeTo(), HForceRepresentation::RequiredInputRepresentation(), HUnaryMathOperation::RequiredInputRepresentation(), HPhi::RequiredInputRepresentation(), HBoundsCheck::RequiredInputRepresentation(), HBitwiseBinaryOperation::RequiredInputRepresentation(), HArithmeticBinaryOperation::RequiredInputRepresentation(), HMathMinMax::RequiredInputRepresentation(), and HChange::to().
|
inlineprotectedvirtual |
Reimplemented in HArithmeticBinaryOperation, and HBitwiseBinaryOperation.
Definition at line 796 of file hydrogen-instructions.h.
Referenced by HValue::ChangeRepresentation().
|
pure virtual |
Implemented in HLoadFieldByIndex, HForInCacheArray, HForInPrepareMap, HCheckMapValue, HIn, HDeleteProperty, HDateField, HValueOf, HToFastProperties, HTypeof, HFunctionLiteral, HRegExpLiteral, HObjectLiteral, HArrayLiteral, HFastLiteral, HAllocateObject, HStringLength, HStringCharFromCode, HStringCharCodeAt, HStringAdd, HTransitionElementsKind, HStoreKeyedGeneric, HStoreKeyedSpecializedArrayElement, HStoreKeyedFastDoubleElement, HStoreKeyedFastElement, HStoreNamedGeneric, HStoreNamedField, HLoadKeyedGeneric, HLoadKeyedSpecializedArrayElement, HLoadKeyedFastDoubleElement, HLoadKeyedFastElement, HLoadFunctionPrototype, HLoadNamedGeneric, HLoadNamedFieldPolymorphic, HLoadNamedField, HStoreContextSlot, HLoadContextSlot, HStoreGlobalGeneric, HStoreGlobalCell, HLoadGlobalGeneric, HLoadGlobalCell, HUnknownOSRValue, HCallStub, HParameter, HOsrEntry, HMathMinMax, HRandom, HPower, HInstanceOfKnownGlobal, HInstanceOf, HTypeofIsAndBranch, HClassOfTestAndBranch, HGetCachedArrayIndex, HHasCachedArrayIndexAndBranch, HHasInstanceTypeAndBranch, HIsConstructCallAndBranch, HStringCompareAndBranch, HIsUndetectableAndBranch, HIsSmiAndBranch, HIsStringAndBranch, HIsObjectAndBranch, HIsNilAndBranch, HCompareConstantEqAndBranch, HCompareObjectEqAndBranch, HCompareIDAndBranch, HCompareGeneric, HArithmeticBinaryOperation, HMathFloorOfDiv, HBitwiseBinaryOperation, HBoundsCheck, HAccessArgumentsAt, HArgumentsLength, HArgumentsElements, HApplyArguments, HWrapReceiver, HConstant, HArgumentsObject, HPhi, HCheckSmi, HCheckPrototypeMaps, HCheckNonSmi, HCheckInstanceType, HCheckFunction, HCheckMaps, HLoadExternalArrayPointer, HLoadElements, HUnaryMathOperation, HBitNot, HElementsKind, HMapEnumLength, HFixedArrayBaseLength, HJSArrayLength, HCallRuntime, HCallNew, HCallKnownGlobal, HCallGlobal, HCallFunction, HCallNamed, HCallKeyed, HCallConstantFunction, HInvokeFunction, HBinaryCall, HUnaryCall, HGlobalReceiver, HGlobalObject, HDeclareGlobals, HOuterContext, HContext, HThisFunction, HPushArgument, HLeaveInlined, HEnterInlined, HStackCheck, HSimulate, HClampToUint8, HChange, HForceRepresentation, HUseConst, HThrow, HAbnormalExit, HReturn, HCompareMap, HBranch, HGoto, HDeoptimize, HSoftDeoptimize, and HBlockEntry.
Referenced by HValue::ObservedInputRepresentation().
|
inline |
Definition at line 628 of file hydrogen-instructions.h.
References HValue::id(), and HValue::id_.
|
inlineprotected |
Definition at line 805 of file hydrogen-instructions.h.
References ASSERT, Representation::IsNone(), and HValue::representation_.
Referenced by HAccessArgumentsAt::HAccessArgumentsAt(), HAllocateObject::HAllocateObject(), HApplyArguments::HApplyArguments(), HArgumentsElements::HArgumentsElements(), HArgumentsLength::HArgumentsLength(), HArgumentsObject::HArgumentsObject(), HArithmeticBinaryOperation::HArithmeticBinaryOperation(), HBitNot::HBitNot(), HBitwiseBinaryOperation::HBitwiseBinaryOperation(), HBoundsCheck::HBoundsCheck(), HCall< 2 >::HCall(), HChange::HChange(), HCheckFunction::HCheckFunction(), HCheckMaps::HCheckMaps(), HCheckMapValue::HCheckMapValue(), HCheckNonSmi::HCheckNonSmi(), HCheckSmi::HCheckSmi(), HClampToUint8::HClampToUint8(), HCompareGeneric::HCompareGeneric(), HConstant::HConstant(), HContext::HContext(), HDateField::HDateField(), HDeclareGlobals::HDeclareGlobals(), HDeleteProperty::HDeleteProperty(), HElementsKind::HElementsKind(), HFixedArrayBaseLength::HFixedArrayBaseLength(), HForceRepresentation::HForceRepresentation(), HForInCacheArray::HForInCacheArray(), HForInPrepareMap::HForInPrepareMap(), HFunctionLiteral::HFunctionLiteral(), HGetCachedArrayIndex::HGetCachedArrayIndex(), HGlobalObject::HGlobalObject(), HGlobalReceiver::HGlobalReceiver(), HIn::HIn(), HInstanceOf::HInstanceOf(), HInstanceOfKnownGlobal::HInstanceOfKnownGlobal(), HJSArrayLength::HJSArrayLength(), HLoadContextSlot::HLoadContextSlot(), HLoadElements::HLoadElements(), HLoadExternalArrayPointer::HLoadExternalArrayPointer(), HLoadFieldByIndex::HLoadFieldByIndex(), HLoadFunctionPrototype::HLoadFunctionPrototype(), HLoadGlobalCell::HLoadGlobalCell(), HLoadGlobalGeneric::HLoadGlobalGeneric(), HLoadKeyedFastDoubleElement::HLoadKeyedFastDoubleElement(), HLoadKeyedFastElement::HLoadKeyedFastElement(), HLoadKeyedGeneric::HLoadKeyedGeneric(), HLoadKeyedSpecializedArrayElement::HLoadKeyedSpecializedArrayElement(), HLoadNamedField::HLoadNamedField(), HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(), HLoadNamedGeneric::HLoadNamedGeneric(), HMapEnumLength::HMapEnumLength(), HMaterializedLiteral< 1 >::HMaterializedLiteral(), HMathFloorOfDiv::HMathFloorOfDiv(), HOuterContext::HOuterContext(), HParameter::HParameter(), HPhi::HPhi(), HPower::HPower(), HPushArgument::HPushArgument(), HRandom::HRandom(), HStoreGlobalGeneric::HStoreGlobalGeneric(), HStringAdd::HStringAdd(), HStringCharCodeAt::HStringCharCodeAt(), HStringCharFromCode::HStringCharFromCode(), HStringCompareAndBranch::HStringCompareAndBranch(), HStringLength::HStringLength(), HThisFunction::HThisFunction(), HToFastProperties::HToFastProperties(), HTransitionElementsKind::HTransitionElementsKind(), HTypeof::HTypeof(), HUnaryMathOperation::HUnaryMathOperation(), HUnknownOSRValue::HUnknownOSRValue(), HValueOf::HValueOf(), and HWrapReceiver::HWrapReceiver().
|
inline |
Definition at line 646 of file hydrogen-instructions.h.
References ASSERT, HType::IsSubtypeOf(), and HValue::type_.
Referenced by HChange::HChange(), HFixedArrayBaseLength::HFixedArrayBaseLength(), HJSArrayLength::HJSArrayLength(), HLoadKeyedFastElement::HLoadKeyedFastElement(), HMapEnumLength::HMapEnumLength(), and HChange::InferRange().
|
inline |
Definition at line 696 of file hydrogen-instructions.h.
References EnumSet< E, T >::Add(), HValue::AllSideEffectsFlagSet(), and HValue::gvn_flags_.
Referenced by HApplyArguments::HApplyArguments(), HArithmeticBinaryOperation::HArithmeticBinaryOperation(), HBitwiseBinaryOperation::HBitwiseBinaryOperation(), HCall< 2 >::HCall(), HCompareGeneric::HCompareGeneric(), HDeclareGlobals::HDeclareGlobals(), HDeleteProperty::HDeleteProperty(), HForInPrepareMap::HForInPrepareMap(), HIn::HIn(), HInstanceOf::HInstanceOf(), HInstanceOfKnownGlobal::HInstanceOfKnownGlobal(), HLoadGlobalGeneric::HLoadGlobalGeneric(), HLoadKeyedGeneric::HLoadKeyedGeneric(), HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(), HLoadNamedGeneric::HLoadNamedGeneric(), HRegExpLiteral::HRegExpLiteral(), HStoreGlobalGeneric::HStoreGlobalGeneric(), HStoreKeyedGeneric::HStoreKeyedGeneric(), HStoreNamedGeneric::HStoreNamedGeneric(), and HThrow::HThrow().
void SetBlock | ( | HBasicBlock * | block | ) |
Definition at line 443 of file hydrogen-instructions.cc.
References ASSERT, HValue::block(), HValue::block_, HGraph::GetNextValueID(), HBasicBlock::graph(), HValue::id_, HValue::kNoNumber, and v8::internal::NULL.
Referenced by HBasicBlock::AddPhi(), HInstruction::InsertAfter(), HInstruction::InsertBefore(), and HBasicBlock::RemovePhi().
|
inline |
Definition at line 685 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HPhi::AddInput(), HChange::EnsureAndPropagateNotMinusZero(), HUnaryMathOperation::EnsureAndPropagateNotMinusZero(), HMathFloorOfDiv::EnsureAndPropagateNotMinusZero(), HMul::EnsureAndPropagateNotMinusZero(), HMod::EnsureAndPropagateNotMinusZero(), HDiv::EnsureAndPropagateNotMinusZero(), HAccessArgumentsAt::HAccessArgumentsAt(), HAdd::HAdd(), HArgumentsElements::HArgumentsElements(), HArgumentsLength::HArgumentsLength(), HArgumentsObject::HArgumentsObject(), HArithmeticBinaryOperation::HArithmeticBinaryOperation(), HBitNot::HBitNot(), HBitwiseBinaryOperation::HBitwiseBinaryOperation(), HBoundsCheck::HBoundsCheck(), HChange::HChange(), HCheckFunction::HCheckFunction(), HCheckMaps::HCheckMaps(), HCheckMapValue::HCheckMapValue(), HCheckNonSmi::HCheckNonSmi(), HCheckPrototypeMaps::HCheckPrototypeMaps(), HCheckSmi::HCheckSmi(), HClampToUint8::HClampToUint8(), HConstant::HConstant(), HContext::HContext(), HDiv::HDiv(), HElementsKind::HElementsKind(), HFixedArrayBaseLength::HFixedArrayBaseLength(), HGetCachedArrayIndex::HGetCachedArrayIndex(), HGlobalObject::HGlobalObject(), HGlobalReceiver::HGlobalReceiver(), HJSArrayLength::HJSArrayLength(), HLoadContextSlot::HLoadContextSlot(), HLoadElements::HLoadElements(), HLoadExternalArrayPointer::HLoadExternalArrayPointer(), HLoadFunctionPrototype::HLoadFunctionPrototype(), HLoadGlobalCell::HLoadGlobalCell(), HLoadKeyedFastDoubleElement::HLoadKeyedFastDoubleElement(), HLoadKeyedFastElement::HLoadKeyedFastElement(), HLoadKeyedSpecializedArrayElement::HLoadKeyedSpecializedArrayElement(), HLoadNamedField::HLoadNamedField(), HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(), HMapEnumLength::HMapEnumLength(), HMathFloorOfDiv::HMathFloorOfDiv(), HMod::HMod(), HMul::HMul(), HOuterContext::HOuterContext(), HPhi::HPhi(), HPower::HPower(), HStoreKeyedFastDoubleElement::HStoreKeyedFastDoubleElement(), HStoreNamedField::HStoreNamedField(), HStringAdd::HStringAdd(), HStringCharCodeAt::HStringCharCodeAt(), HStringCharFromCode::HStringCharFromCode(), HStringLength::HStringLength(), HSub::HSub(), HThisFunction::HThisFunction(), HTransitionElementsKind::HTransitionElementsKind(), HUnaryMathOperation::HUnaryMathOperation(), HDiv::InferRange(), HGraph::InsertRepresentationChanges(), HValue::Kill(), HBitwiseBinaryOperation::RepresentationChanged(), HArithmeticBinaryOperation::RepresentationChanged(), and HCompareIDAndBranch::SetInputRepresentation().
|
inline |
Definition at line 693 of file hydrogen-instructions.h.
References EnumSet< E, T >::Add(), and HValue::gvn_flags_.
Referenced by HAllocateObject::HAllocateObject(), HArrayLiteral::HArrayLiteral(), HChange::HChange(), HCheckMaps::HCheckMaps(), HCheckMapValue::HCheckMapValue(), HCheckPrototypeMaps::HCheckPrototypeMaps(), HElementsKind::HElementsKind(), HFastLiteral::HFastLiteral(), HFixedArrayBaseLength::HFixedArrayBaseLength(), HFunctionLiteral::HFunctionLiteral(), HInstruction::HInstruction(), HJSArrayLength::HJSArrayLength(), HLoadContextSlot::HLoadContextSlot(), HLoadElements::HLoadElements(), HLoadFunctionPrototype::HLoadFunctionPrototype(), HLoadGlobalCell::HLoadGlobalCell(), HLoadKeyedFastDoubleElement::HLoadKeyedFastDoubleElement(), HLoadKeyedFastElement::HLoadKeyedFastElement(), HLoadKeyedSpecializedArrayElement::HLoadKeyedSpecializedArrayElement(), HLoadNamedField::HLoadNamedField(), HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(), HMapEnumLength::HMapEnumLength(), HObjectLiteral::HObjectLiteral(), HOsrEntry::HOsrEntry(), HPower::HPower(), HStackCheck::HStackCheck(), HStoreContextSlot::HStoreContextSlot(), HStoreGlobalCell::HStoreGlobalCell(), HStoreKeyedFastDoubleElement::HStoreKeyedFastDoubleElement(), HStoreKeyedFastElement::HStoreKeyedFastElement(), HStoreKeyedSpecializedArrayElement::HStoreKeyedSpecializedArrayElement(), HStoreNamedField::HStoreNamedField(), HStringAdd::HStringAdd(), HStringCharCodeAt::HStringCharCodeAt(), HStringCharFromCode::HStringCharFromCode(), HStringLength::HStringLength(), HTransitionElementsKind::HTransitionElementsKind(), and HUnaryMathOperation::HUnaryMathOperation().
void SetOperandAt | ( | int | index, |
HValue * | value | ||
) |
Definition at line 399 of file hydrogen-instructions.cc.
References HValue::InternalSetOperandAt(), and HValue::RegisterUse().
Referenced by HDeoptimize::AddEnvironmentValue(), HPhi::AddInput(), BoundsCheckBbData::CoverCheck(), HGraph::EliminateRedundantPhis(), HAccessArgumentsAt::HAccessArgumentsAt(), HAllocateObject::HAllocateObject(), HApplyArguments::HApplyArguments(), HArrayLiteral::HArrayLiteral(), HBinaryCall::HBinaryCall(), HBinaryOperation::HBinaryOperation(), HBoundsCheck::HBoundsCheck(), HCallRuntime::HCallRuntime(), HCheckMaps::HCheckMaps(), HCheckMapValue::HCheckMapValue(), HCompareIDAndBranch::HCompareIDAndBranch(), HCompareObjectEqAndBranch::HCompareObjectEqAndBranch(), HFastLiteral::HFastLiteral(), HForceRepresentation::HForceRepresentation(), HForInCacheArray::HForInCacheArray(), HForInPrepareMap::HForInPrepareMap(), HFunctionLiteral::HFunctionLiteral(), HIn::HIn(), HInstanceOfKnownGlobal::HInstanceOfKnownGlobal(), HJSArrayLength::HJSArrayLength(), HLoadElements::HLoadElements(), HLoadFieldByIndex::HLoadFieldByIndex(), HLoadGlobalGeneric::HLoadGlobalGeneric(), HLoadKeyedFastDoubleElement::HLoadKeyedFastDoubleElement(), HLoadKeyedFastElement::HLoadKeyedFastElement(), HLoadKeyedGeneric::HLoadKeyedGeneric(), HLoadKeyedSpecializedArrayElement::HLoadKeyedSpecializedArrayElement(), HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(), HLoadNamedGeneric::HLoadNamedGeneric(), HObjectLiteral::HObjectLiteral(), HPower::HPower(), HRandom::HRandom(), HRegExpLiteral::HRegExpLiteral(), HReturn::HReturn(), HStackCheck::HStackCheck(), HStoreContextSlot::HStoreContextSlot(), HStoreGlobalGeneric::HStoreGlobalGeneric(), HStoreKeyedFastDoubleElement::HStoreKeyedFastDoubleElement(), HStoreKeyedFastElement::HStoreKeyedFastElement(), HStoreKeyedGeneric::HStoreKeyedGeneric(), HStoreKeyedSpecializedArrayElement::HStoreKeyedSpecializedArrayElement(), HStoreNamedField::HStoreNamedField(), HStoreNamedGeneric::HStoreNamedGeneric(), HStringCharCodeAt::HStringCharCodeAt(), HStringCharFromCode::HStringCharFromCode(), HStringCompareAndBranch::HStringCompareAndBranch(), HThrow::HThrow(), HTransitionElementsKind::HTransitionElementsKind(), HTypeof::HTypeof(), HUnaryCall::HUnaryCall(), HUnaryControlInstruction::HUnaryControlInstruction(), HUnaryMathOperation::HUnaryMathOperation(), HUnaryOperation::HUnaryOperation(), HWrapReceiver::HWrapReceiver(), HLoadKeyedFastElement::SetKey(), HLoadKeyedFastDoubleElement::SetKey(), HLoadKeyedSpecializedArrayElement::SetKey(), HStoreKeyedFastElement::SetKey(), HStoreKeyedFastDoubleElement::SetKey(), and HStoreKeyedSpecializedArrayElement::SetKey().
Reimplemented in HStoreNamedField.
Definition at line 777 of file hydrogen-instructions.h.
References UNREACHABLE.
|
inline |
Definition at line 713 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
STATIC_ASSERT | ( | ) |
Referenced by HStringLength::CalculateInferredType().
|
inline |
Definition at line 645 of file hydrogen-instructions.h.
References HValue::type_.
Referenced by HChange::CalculateInferredType(), HCheckMaps::CalculateInferredType(), HCheckFunction::CalculateInferredType(), HPhi::CalculateInferredType(), HCheckInstanceType::Canonicalize(), HCheckNonSmi::Canonicalize(), HWrapReceiver::Canonicalize(), HJSArrayLength::HJSArrayLength(), HValue::PrintTypeTo(), and HValue::UpdateInferredType().
bool UpdateInferredType | ( | ) |
Definition at line 494 of file hydrogen-instructions.cc.
References HValue::CalculateInferredType(), HType::Equals(), HValue::type(), and HValue::type_.
int UseCount | ( | ) | const |
Definition at line 325 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HUnaryMathOperation::Canonicalize(), and HPhi::PrintTo().
|
inline |
Definition at line 630 of file hydrogen-instructions.h.
References HValue::use_list_.
Referenced by HValue::CheckUsesForFlag(), HGraph::EliminateRedundantPhis(), HPhi::HasRealUses(), HPhi::InitRealUses(), HGraph::MarkDeoptimizeOnUndefined(), HLoadGlobalCell::RequiresHoleCheck(), HLoadKeyedFastElement::RequiresHoleCheck(), and HValue::UseCount().
|
protected |
Definition at line 855 of file hydrogen-instructions.h.
Referenced by HValue::block(), HValue::clear_block(), and HValue::SetBlock().
|
protected |
Definition at line 865 of file hydrogen-instructions.h.
Referenced by HValue::CheckFlag(), HValue::ClearFlag(), HValue::flags(), HDeclareGlobals::flags(), HRegExpLiteral::flags(), and HValue::SetFlag().
|
protected |
Definition at line 866 of file hydrogen-instructions.h.
Referenced by HValue::ChangesFlags(), HValue::CheckGVNFlag(), HValue::ClearAllSideEffects(), HValue::ClearGVNFlag(), HValue::DependsOnFlags(), HValue::gvn_flags(), HValue::HasObservableSideEffects(), HValue::HasSideEffects(), HValue::ObservableChangesFlags(), HValue::SetAllSideEffects(), HValue::SetGVNFlag(), and HValue::SideEffectFlags().
|
protected |
Definition at line 859 of file hydrogen-instructions.h.
Referenced by HValue::id(), HValue::set_id(), and HValue::SetBlock().
|
static |
Definition at line 579 of file hydrogen-instructions.h.
Referenced by HValue::ConvertChangesToDependsFlags().
|
static |
Definition at line 547 of file hydrogen-instructions.h.
Referenced by HValue::SetBlock().
|
protected |
Definition at line 864 of file hydrogen-instructions.h.
Referenced by HValue::AddNewRange(), HValue::ComputeInitialRange(), HValue::HasRange(), HValue::range(), and HValue::RemoveLastAddedRange().
|
protected |
Definition at line 861 of file hydrogen-instructions.h.
Referenced by HValue::ChangeRepresentation(), HValue::PrintNameTo(), HValue::representation(), and HValue::set_representation().
|
protected |
Definition at line 862 of file hydrogen-instructions.h.
Referenced by HValue::CalculateInferredType(), HValue::Equals(), HStackCheck::is_backwards_branch(), HStackCheck::is_function_entry(), HValue::set_type(), HValue::type(), and HValue::UpdateInferredType().
|
protected |
Definition at line 863 of file hydrogen-instructions.h.
Referenced by HValue::HasMultipleUses(), HValue::HasNoUses(), HValue::Kill(), HValue::RegisterUse(), HValue::RemoveUse(), HValue::ReplaceAllUsesWith(), and HValue::uses().