![]() |
v8
3.11.10(node0.8.26)
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, kLastFlag = kIsDead } |
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 530 of file hydrogen-instructions.h.
enum Flag |
Enumerator | |
---|---|
kFlexibleRepresentation | |
kUseGVN | |
kTrackSideEffectDominators | |
kCanOverflow | |
kBailoutOnMinusZero | |
kCanBeDivByZero | |
kDeoptimizeOnUndefined | |
kIsArguments | |
kTruncatingToInt32 | |
kIsDead | |
kLastFlag |
Definition at line 534 of file hydrogen-instructions.h.
enum Opcode |
Enumerator | |
---|---|
kPhi |
Definition at line 571 of file hydrogen-instructions.h.
|
inline |
Definition at line 593 of file hydrogen-instructions.h.
|
inlinevirtual |
Definition at line 599 of file hydrogen-instructions.h.
Definition at line 509 of file hydrogen-instructions.cc.
References ASSERT, HValue::ComputeInitialRange(), HValue::HasRange(), HValue::range_, and Range::StackUpon().
|
inlinestaticprotected |
Definition at line 795 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 785 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 814 of file hydrogen-instructions.h.
References HValue::AllChangesFlagSet(), and EnumSet< E, T >::Remove().
Referenced by HValue::HasObservableSideEffects(), and HValue::ObservableChangesFlags().
|
inlinestaticprotected |
Definition at line 806 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 601 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 2042 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 732 of file hydrogen-instructions.h.
Referenced by HGraph::Canonicalize().
Definition at line 569 of file hydrogen-instructions.h.
Referenced by HUnaryMathOperation::Canonicalize(), HCheckInstanceType::Canonicalize(), HBitwise::Canonicalize(), HLoadKeyedGeneric::Canonicalize(), BoundsCheckKey::Create(), HThisFunction::DataEquals(), HUnaryMathOperation::DataEquals(), HCheckMaps::DataEquals(), HCheckPrototypeMaps::DataEquals(), HConstant::DataEquals(), HBitwise::DataEquals(), HLoadGlobalCell::DataEquals(), HLoadNamedFieldPolymorphic::DataEquals(), HLoadKeyedFastElement::DataEquals(), HLoadKeyedFastDoubleElement::DataEquals(), HLoadKeyedSpecializedArrayElement::DataEquals(), HTransitionElementsKind::DataEquals(), HGraph::DehoistSimpleArrayIndexComputations(), HMod::HasPowerOf2Divisor(), LForInCacheArray::idx(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), HPhi::InferredRepresentation(), LChunk::LookupLiteral(), HBitwise::NewHBitwise(), HDiv::NewHDiv(), HMod::NewHMod(), v8::internal::NumberValueAsInteger32(), HBasicBlock::SetJoinId(), and v8::internal::StoringValueNeedsWriteBarrier().
|
inline |
Definition at line 612 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 559 of file hydrogen-instructions.h.
|
inline |
Definition at line 697 of file hydrogen-instructions.h.
References HValue::AllChangesFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
Referenced by HValue::PrintChangesTo().
|
inline |
Definition at line 665 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HPhi::AddInput(), HValue::AssumeRepresentation(), HInstruction::CanTruncateToInt32(), HValue::ChangeRepresentation(), HGraph::CheckArgumentsPhiUses(), HChange::deoptimize_on_minus_zero(), HChange::deoptimize_on_undefined(), HGraph::InsertRepresentationChanges(), HChange::PrintDataTo(), HBinaryOperation::PrintDataTo(), ValueContext::ReturnControl(), ValueContext::ReturnInstruction(), ValueContext::ReturnValue(), and HUseListNode::tail().
|
inline |
Definition at line 673 of file hydrogen-instructions.h.
References EnumSet< E, T >::Contains(), and HValue::gvn_flags_.
bool CheckUsesForFlag | ( | Flag | f | ) |
Definition at line 288 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HAdd::Canonicalize(), HSub::Canonicalize(), and HGraph::InsertRepresentationChanges().
|
inlineprotected |
Definition at line 774 of file hydrogen-instructions.h.
References ASSERT, HValue::block_, and v8::internal::NULL.
Referenced by HInstruction::Unlink().
|
inline |
Definition at line 675 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 664 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 672 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 525 of file hydrogen-instructions.cc.
References ASSERT, HValue::HasRange(), HValue::InferRange(), and HValue::range_.
Referenced by HValue::AddNewRange().
|
inlinestatic |
Definition at line 565 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, 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, HFixedArrayBaseLength, HJSArrayLength, HGlobalReceiver, HGlobalObject, HOuterContext, HContext, HThisFunction, HClampToUint8, and HChange.
Definition at line 766 of file hydrogen-instructions.h.
References UNREACHABLE.
Referenced by HValue::Equals().
void DeleteAndReplaceWith | ( | HValue * | other | ) |
Definition at line 391 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(), and BoundsCheckBbData::CoverCheck().
|
protectedpure virtual |
Implemented in HPhi, and HInstruction.
Referenced by HValue::DeleteAndReplaceWith().
|
inlinestatic |
Definition at line 562 of file hydrogen-instructions.h.
|
inline |
Definition at line 685 of file hydrogen-instructions.h.
References HValue::AllDependsOnFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
|
inlinevirtual |
Reimplemented in HConstant.
Definition at line 610 of file hydrogen-instructions.h.
Reimplemented in HDiv, HMod, HMul, HSub, HAdd, HUnaryMathOperation, HChange, and HForceRepresentation.
Definition at line 639 of file hydrogen-instructions.h.
References BitVector::Add(), and v8::internal::NULL.
bool Equals | ( | HValue * | other | ) |
Definition at line 349 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 662 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HValue::Equals().
|
inline |
Definition at line 670 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 364 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 654 of file hydrogen-instructions.h.
References v8::internal::NULL, HUseListNode::tail(), and HValue::use_list_.
|
inline |
Definition at line 653 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(), and HBasicBlock::RemovePhi().
|
inline |
Definition at line 681 of file hydrogen-instructions.h.
References HValue::AllObservableSideEffectsFlagSet(), EnumSet< E, T >::ContainsAnyOf(), and HValue::gvn_flags_.
Referenced by HInstruction::InsertAfter(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), TestContext::ReturnControl(), EffectContext::ReturnInstruction(), ValueContext::ReturnInstruction(), and TestContext::ReturnInstruction().
|
inline |
Definition at line 711 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 678 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), EnumSet< E, T >::ContainsAnyOf(), and HValue::gvn_flags_.
|
inline |
Definition at line 605 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, HDiv, HMod, HMul, HSub, HAdd, HConstant, HPhi, and HChange.
Definition at line 1091 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(), HBitwise::InferRange(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), and HLoadKeyedSpecializedArrayElement::InferRange().
|
inlinevirtual |
Reimplemented in HArithmeticBinaryOperation, and HPhi.
Definition at line 719 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 621 of file hydrogen-instructions.h.
Referenced by HPhi::AllOperandsConvertibleToInteger().
bool IsDefinedAfter | ( | HBasicBlock * | other | ) | const |
Definition at line 274 of file hydrogen-instructions.cc.
References HValue::block(), and HBasicBlock::block_id().
|
inline |
Definition at line 585 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 413 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 374 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 703 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 724 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 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 HValue::Equals(), HValue::Hashcode(), and HValue::Kill().
void PrintChangesTo | ( | StringStream * | stream | ) |
Definition at line 453 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 475 of file hydrogen-instructions.cc.
References StringStream::Add(), HValue::id(), Representation::Mnemonic(), and HValue::representation_.
Referenced by HDeoptimize::PrintDataTo(), HUnaryControlInstruction::PrintDataTo(), HCompareMap::PrintDataTo(), HReturn::PrintDataTo(), HUnaryOperation::PrintDataTo(), HUnaryCall::PrintDataTo(), HBinaryCall::PrintDataTo(), HJSArrayLength::PrintDataTo(), HUnaryMathOperation::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 444 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 438 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 710 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(), HBitwise::InferRange(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), and HValue::PrintRangeTo().
|
protected |
Definition at line 488 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 518 of file hydrogen-instructions.cc.
References ASSERT, HValue::HasRange(), Range::next(), v8::internal::NULL, and HValue::range_.
|
protected |
Definition at line 318 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 400 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 611 of file hydrogen-instructions.h.
References HValue::representation_.
Referenced by HBitNot::Canonicalize(), HUnaryMathOperation::Canonicalize(), HAdd::Canonicalize(), HSub::Canonicalize(), HBitwise::Canonicalize(), HGraph::ComputeMinusZeroChecks(), BoundsCheckBbData::CoverCheck(), HConstant::EmitAtUses(), HUnaryMathOperation::EnsureAndPropagateNotMinusZero(), HValue::Equals(), HChange::from(), HChange::HChange(), HValue::InferRange(), HPhi::InferRange(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMod::InferRange(), HDiv::InferRange(), HValue::InferredRepresentation(), HPhi::InferredRepresentation(), HArithmeticBinaryOperation::InferredRepresentation(), HGraph::InsertRepresentationChanges(), HAdd::IsCommutative(), HMul::IsCommutative(), HGraph::MarkDeoptimizeOnUndefined(), HValue::PrintTypeTo(), HForceRepresentation::RequiredInputRepresentation(), HUnaryMathOperation::RequiredInputRepresentation(), HPhi::RequiredInputRepresentation(), HBitwiseBinaryOperation::RequiredInputRepresentation(), HArithmeticBinaryOperation::RequiredInputRepresentation(), and HChange::to().
|
inlineprotectedvirtual |
Reimplemented in HArithmeticBinaryOperation, and HBitwiseBinaryOperation.
Definition at line 770 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, 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, 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 606 of file hydrogen-instructions.h.
References HValue::id(), and HValue::id_.
|
inlineprotected |
Definition at line 779 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(), 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 624 of file hydrogen-instructions.h.
References ASSERT, HType::IsSubtypeOf(), and HValue::type_.
Referenced by HChange::HChange(), HJSArrayLength::HJSArrayLength(), HLoadKeyedFastElement::HLoadKeyedFastElement(), and HChange::InferRange().
|
inline |
Definition at line 674 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 429 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 663 of file hydrogen-instructions.h.
References HValue::flags_.
Referenced by HPhi::AddInput(), HChange::EnsureAndPropagateNotMinusZero(), HUnaryMathOperation::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(), HMathFloorOfDiv::HMathFloorOfDiv(), HMod::HMod(), HMul::HMul(), HOuterContext::HOuterContext(), HPhi::HPhi(), HPower::HPower(), 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 671 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(), 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 385 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(), 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 755 of file hydrogen-instructions.h.
References UNREACHABLE.
|
inline |
Definition at line 691 of file hydrogen-instructions.h.
References HValue::AllSideEffectsFlagSet(), HValue::gvn_flags_, and EnumSet< E, T >::Intersect().
STATIC_ASSERT | ( | ) |
Referenced by HStringLength::CalculateInferredType(), and HConstant::Hashcode().
|
inline |
Definition at line 623 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 480 of file hydrogen-instructions.cc.
References HValue::CalculateInferredType(), HType::Equals(), HValue::type(), and HValue::type_.
int UseCount | ( | ) | const |
Definition at line 311 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HUnaryMathOperation::Canonicalize(), and HPhi::PrintTo().
|
inline |
Definition at line 608 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 829 of file hydrogen-instructions.h.
Referenced by HValue::block(), HValue::clear_block(), and HValue::SetBlock().
|
protected |
Definition at line 839 of file hydrogen-instructions.h.
Referenced by HValue::CheckFlag(), HValue::ClearFlag(), HValue::flags(), HDeclareGlobals::flags(), HRegExpLiteral::flags(), and HValue::SetFlag().
|
protected |
Definition at line 840 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 833 of file hydrogen-instructions.h.
Referenced by HValue::id(), HValue::set_id(), and HValue::SetBlock().
|
static |
Definition at line 557 of file hydrogen-instructions.h.
Referenced by HValue::ConvertChangesToDependsFlags().
|
static |
Definition at line 532 of file hydrogen-instructions.h.
Referenced by HValue::SetBlock().
|
protected |
Definition at line 838 of file hydrogen-instructions.h.
Referenced by HValue::AddNewRange(), HValue::ComputeInitialRange(), HValue::HasRange(), HValue::range(), and HValue::RemoveLastAddedRange().
|
protected |
Definition at line 835 of file hydrogen-instructions.h.
Referenced by HValue::ChangeRepresentation(), HValue::PrintNameTo(), HValue::representation(), and HValue::set_representation().
|
protected |
Definition at line 836 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 837 of file hydrogen-instructions.h.
Referenced by HValue::HasMultipleUses(), HValue::HasNoUses(), HValue::Kill(), HValue::RegisterUse(), HValue::RemoveUse(), HValue::ReplaceAllUsesWith(), and HValue::uses().