v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <hydrogen-instructions.h>
Static Public Member Functions | |
static HPhi * | cast (HValue *value) |
Static Public Member Functions inherited from HValue | |
static GVNFlag | ChangesFlagFromInt (int x) |
static GVNFlag | DependsOnFlagFromInt (int x) |
static GVNFlagSet | ConvertChangesToDependsFlags (GVNFlagSet flags) |
static HValue * | cast (HValue *value) |
Protected Member Functions | |
virtual void | DeleteFromGraph () |
virtual void | InternalSetOperandAt (int index, HValue *value) |
Protected Member Functions inherited from HValue | |
virtual bool | DataEquals (HValue *other) |
virtual void | RepresentationChanged (Representation to) |
void | clear_block () |
void | set_representation (Representation r) |
HUseListNode * | RemoveUse (HValue *value, int index) |
void | RegisterUse (int index, HValue *new_value) |
Additional Inherited Members | |
Public Types inherited from HValue | |
enum | Flag { kFlexibleRepresentation, kUseGVN, kTrackSideEffectDominators, kCanOverflow, kBailoutOnMinusZero, kCanBeDivByZero, kDeoptimizeOnUndefined, kIsArguments, kTruncatingToInt32, kIsDead, kLastFlag = kIsDead } |
enum | Opcode { kPhi } |
Static Public Attributes inherited from HValue | |
static const int | kNoNumber = -1 |
static const int | kChangesToDependsFlagsLeftShift = 1 |
Static Protected Member Functions inherited from HValue | |
static GVNFlagSet | AllDependsOnFlagSet () |
static GVNFlagSet | AllChangesFlagSet () |
static GVNFlagSet | AllSideEffectsFlagSet () |
static GVNFlagSet | AllObservableSideEffectsFlagSet () |
Protected Attributes inherited from HValue | |
HBasicBlock * | block_ |
int | id_ |
Representation | representation_ |
HType | type_ |
HUseListNode * | use_list_ |
Range * | range_ |
int | flags_ |
GVNFlagSet | gvn_flags_ |
Definition at line 2335 of file hydrogen-instructions.h.
Definition at line 2337 of file hydrogen-instructions.h.
References ASSERT, HValue::kFlexibleRepresentation, Representation::kNumRepresentations, HValue::set_representation(), HValue::SetFlag(), and Representation::Tagged().
void AddIndirectUsesTo | ( | int * | use_count | ) |
Definition at line 1335 of file hydrogen-instructions.cc.
References Representation::kNumRepresentations.
void AddInput | ( | HValue * | value | ) |
Definition at line 1254 of file hydrogen-instructions.cc.
References HValue::block(), HValue::CheckFlag(), HValue::kIsArguments, v8::internal::NULL, HPhi::OperandCount(), HValue::SetFlag(), HValue::SetOperandAt(), and HBasicBlock::zone().
Referenced by HEnvironment::AddIncomingEdge(), and HEnvironment::CopyAsLoopHeader().
void AddNonPhiUsesFrom | ( | HPhi * | other | ) |
Definition at line 1317 of file hydrogen-instructions.cc.
References HValue::id(), Representation::kDouble, Representation::kInteger32, Representation::kNumRepresentations, Representation::kTagged, HValue::Mnemonic(), and v8::internal::PrintF().
|
inline |
Definition at line 2415 of file hydrogen-instructions.h.
References HValue::IsConvertibleToInteger(), HTemplateControlInstruction< 2, 1 >::OperandAt(), and HTemplateControlInstruction< 2, 1 >::OperandCount().
|
virtual |
Reimplemented from HValue.
Definition at line 2068 of file hydrogen-instructions.cc.
References HType::Combine(), HPhi::OperandAt(), HPhi::OperandCount(), HValue::type(), and HType::Uninitialized().
Definition at line 2401 of file hydrogen-instructions.h.
References ASSERT, HValue::IsPhi(), and HUnaryControlInstruction::value().
Referenced by HEnvironment::AddIncomingEdge(), HGraph::EliminateRedundantPhis(), and HGraph::EliminateUnreachablePhis().
|
protectedvirtual |
Implements HValue.
Definition at line 1289 of file hydrogen-instructions.cc.
References ASSERT, HValue::block(), v8::internal::NULL, and HBasicBlock::RemovePhi().
|
inline |
Definition at line 2394 of file hydrogen-instructions.h.
References Representation::kDouble.
Referenced by HPhi::PrintTo().
|
inline |
Definition at line 2385 of file hydrogen-instructions.h.
References Representation::kDouble.
Referenced by HPhi::PrintTo().
HValue * GetRedundantReplacement | ( | ) |
Definition at line 1272 of file hydrogen-instructions.cc.
References ASSERT, v8::internal::NULL, HPhi::OperandAt(), and HPhi::OperandCount().
Referenced by HGraph::EliminateRedundantPhis().
bool HasRealUses | ( | ) |
Definition at line 1264 of file hydrogen-instructions.cc.
References HValue::uses().
Referenced by HGraph::EliminateUnreachablePhis().
Reimplemented from HValue.
Definition at line 1124 of file hydrogen-instructions.cc.
References HValue::block(), Range::Copy(), HValue::InferRange(), v8::internal::kMaxInt, v8::internal::kMinInt, HPhi::OperandAt(), HPhi::OperandCount(), HValue::range(), HValue::representation(), and Range::Union().
|
virtual |
Reimplemented from HValue.
Definition at line 2443 of file hydrogen-instructions.cc.
References HValue::cast(), Representation::Double(), HConstant::HasNumberValue(), Representation::Integer32(), HConstant::IsConvertibleToInteger(), Representation::IsDouble(), Representation::IsInteger32(), Representation::IsTagged(), Representation::None(), v8::internal::NULL, HPhi::OperandAt(), HPhi::OperandCount(), HValue::representation(), and Representation::Tagged().
void InitRealUses | ( | int | id | ) |
Definition at line 1296 of file hydrogen-instructions.cc.
References HValue::id(), HValue::IsPhi(), Representation::kind(), HValue::LoopWeight(), Representation::Mnemonic(), HValue::Mnemonic(), HValue::ObservedInputRepresentation(), HPhi::phi_id(), v8::internal::PrintF(), and HValue::uses().
|
inline |
Definition at line 2391 of file hydrogen-instructions.h.
References Representation::kInteger32.
Referenced by HPhi::PrintTo().
|
inline |
Definition at line 2382 of file hydrogen-instructions.h.
References Representation::kInteger32.
Referenced by HPhi::PrintTo().
|
inlineprotectedvirtual |
Implements HValue.
Definition at line 2428 of file hydrogen-instructions.h.
References HUnaryControlInstruction::value().
|
inline |
Definition at line 2398 of file hydrogen-instructions.h.
Referenced by HGraph::EliminateUnreachablePhis(), HPhi::PrintTo(), and HBasicBlock::RemovePhi().
|
inlinevirtual |
Reimplemented from HValue.
Definition at line 2407 of file hydrogen-instructions.h.
Referenced by HPhi::PrintTo().
|
inline |
Definition at line 2365 of file hydrogen-instructions.h.
Referenced by HGraph::EliminateUnreachablePhis().
|
inline |
Definition at line 2367 of file hydrogen-instructions.h.
Referenced by HEnvironment::AddIncomingEdge(), HGraphBuilder::CreateGraph(), and HGraph::EliminateUnreachablePhis().
|
inlinevirtual |
Implements HValue.
Definition at line 2405 of file hydrogen-instructions.h.
References HValue::kPhi.
|
inlinevirtual |
Implements HValue.
Definition at line 2360 of file hydrogen-instructions.h.
Referenced by HPhi::CalculateInferredType(), HGraph::CheckConstPhiUses(), HGraph::EliminateUnreachablePhis(), HPhi::GetRedundantReplacement(), HPhi::InferRange(), HPhi::InferredRepresentation(), and HPhi::PrintTo().
|
inlinevirtual |
Implements HValue.
Definition at line 2359 of file hydrogen-instructions.h.
Referenced by HEnvironment::AddIncomingEdge(), HPhi::AddInput(), HPhi::CalculateInferredType(), HGraph::CheckConstPhiUses(), HGraph::EliminateUnreachablePhis(), HPhi::GetRedundantReplacement(), HPhi::InferRange(), HPhi::InferredRepresentation(), and HPhi::PrintTo().
|
inline |
Definition at line 2397 of file hydrogen-instructions.h.
Referenced by HPhi::InitRealUses().
|
virtual |
Implements HValue.
Definition at line 1235 of file hydrogen-instructions.cc.
References StringStream::Add(), HPhi::double_indirect_uses(), HPhi::double_non_phi_uses(), HPhi::int32_indirect_uses(), HPhi::int32_non_phi_uses(), HPhi::is_live(), HPhi::IsConvertibleToInteger(), HPhi::OperandAt(), HPhi::OperandCount(), HValue::PrintNameTo(), HPhi::tagged_indirect_uses(), HPhi::tagged_non_phi_uses(), and HValue::UseCount().
|
inlinevirtual |
Implements HValue.
Definition at line 2355 of file hydrogen-instructions.h.
References HValue::representation().
void ResetInteger32Uses | ( | ) |
Definition at line 1342 of file hydrogen-instructions.cc.
References Representation::kInteger32.
|
inline |
Definition at line 2411 of file hydrogen-instructions.h.
|
inline |
Definition at line 2399 of file hydrogen-instructions.h.
Referenced by HGraph::EliminateUnreachablePhis().
|
inline |
Definition at line 2388 of file hydrogen-instructions.h.
References Representation::kTagged.
Referenced by HPhi::PrintTo().
|
inline |
Definition at line 2379 of file hydrogen-instructions.h.
References Representation::kTagged.
Referenced by HPhi::PrintTo().