v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <hydrogen.h>
Definition at line 245 of file hydrogen.h.
Definition at line 677 of file hydrogen.cc.
References HGraph::CreateBasicBlock(), AstNode::kFunctionEntryId, v8::internal::NULL, HEnvironment::set_ast_id(), HBasicBlock::SetInitialEnvironment(), and HGraph::zone().
void AssignDominators | ( | ) |
Definition at line 818 of file hydrogen.cc.
References HBasicBlock::AssignCommonDominator(), HBasicBlock::AssignLoopSuccessorDominators(), HBasicBlock::IsLoopHeader(), and HBasicBlock::predecessors().
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 252 of file hydrogen.h.
Referenced by HBasicBlock::AssignLoopSuccessorDominators(), HGraph::Canonicalize(), HGraph::DehoistSimpleArrayIndexComputations(), and LChunk::MarkEmptyBlocks().
void Canonicalize | ( | ) |
Definition at line 742 of file hydrogen.cc.
References HGraph::blocks(), HValue::Canonicalize(), HValue::DeleteAndReplaceWith(), HInstruction::next(), and v8::internal::NULL.
Referenced by HGraphBuilder::CreateGraph().
bool CheckArgumentsPhiUses | ( | ) |
Definition at line 928 of file hydrogen.cc.
References HValue::CheckFlag(), and HValue::kIsArguments.
bool CheckConstPhiUses | ( | ) |
Definition at line 941 of file hydrogen.cc.
References HGraph::GetConstantHole(), HPhi::OperandAt(), and HPhi::OperandCount().
void CollectPhis | ( | ) |
Definition at line 956 of file hydrogen.cc.
References HGraph::zone().
Referenced by HGraphBuilder::CreateGraph().
Definition at line 694 of file hydrogen.cc.
References Code::ComputeFlags(), v8::internal::flags, HGraph::GetMaximumValueID(), LUnallocated::kMaxVirtualRegisters, CodeGenerator::MakeCodeEpilogue(), CodeGenerator::MakeCodePrologue(), LChunk::MarkEmptyBlocks(), Handle< T >::null(), v8::internal::NULL, Code::OPTIMIZED_FUNCTION, CodeGenerator::PrintCode(), and v8::internal::PrintF().
void ComputeMinusZeroChecks | ( | ) |
Definition at line 2495 of file hydrogen.cc.
References ASSERT, HUnaryOperation::cast(), BitVector::Clear(), Representation::Equals(), HChange::from(), HGraph::GetMaximumValueID(), Representation::IsDouble(), BitVector::IsEmpty(), Representation::IsInteger32(), Representation::IsTagged(), v8::internal::NULL, HValue::representation(), HChange::to(), HUnaryOperation::value(), and HGraph::zone().
Referenced by HGraphBuilder::CreateGraph().
HBasicBlock * CreateBasicBlock | ( | ) |
Definition at line 735 of file hydrogen.cc.
References HGraph::zone().
Referenced by HGraphBuilder::CreateJoin(), FunctionState::FunctionState(), HGraph::HGraph(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), and TestContext::ReturnControl().
void DehoistSimpleArrayIndexComputations | ( | ) |
Definition at line 3293 of file hydrogen.cc.
References HGraph::blocks(), HValue::cast(), and v8::internal::NULL.
Referenced by HGraphBuilder::CreateGraph().
void EliminateRedundantBoundsChecks | ( | ) |
Definition at line 3238 of file hydrogen.cc.
References HGraph::entry_block(), and HGraph::zone().
Referenced by HGraphBuilder::CreateGraph().
void EliminateRedundantPhis | ( | ) |
Definition at line 850 of file hydrogen.cc.
References List< T, P >::AddAll(), HValue::block(), HPhi::cast(), HPhi::GetRedundantReplacement(), HValue::IsPhi(), v8::internal::NULL, HBasicBlock::RemovePhi(), HValue::SetOperandAt(), HValue::uses(), and HGraph::zone().
Referenced by HGraphBuilder::CreateGraph().
void EliminateUnreachablePhis | ( | ) |
Definition at line 884 of file hydrogen.cc.
References HValue::block(), HPhi::cast(), HPhi::HasRealUses(), HPhi::is_live(), HValue::IsPhi(), HPhi::IsReceiver(), HPhi::merged_index(), HPhi::OperandAt(), HPhi::OperandCount(), HGraph::phi_list(), HBasicBlock::RecordDeletedPhi(), HBasicBlock::RemovePhi(), HPhi::set_is_live(), and HGraph::zone().
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 254 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph(), HGraph::EliminateRedundantBoundsChecks(), and HGraph::PropagateDeoptimizingMark().
|
inline |
Definition at line 296 of file hydrogen.h.
HConstant * GetConstant1 | ( | ) |
Definition at line 582 of file hydrogen.cc.
References Smi::FromInt().
HConstant * GetConstantFalse | ( | ) |
Definition at line 597 of file hydrogen.cc.
References HGraph::isolate().
HConstant * GetConstantHole | ( | ) |
Definition at line 602 of file hydrogen.cc.
References HGraph::isolate().
Referenced by HGraph::CheckConstPhiUses().
HConstant * GetConstantMinus1 | ( | ) |
Definition at line 587 of file hydrogen.cc.
References Smi::FromInt().
HConstant * GetConstantTrue | ( | ) |
Definition at line 592 of file hydrogen.cc.
References HGraph::isolate().
|
inline |
Definition at line 288 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 304 of file hydrogen.h.
Referenced by HGraph::Compile(), and HGraph::ComputeMinusZeroChecks().
|
inline |
Definition at line 305 of file hydrogen.h.
|
inline |
Definition at line 306 of file hydrogen.h.
References HGraph::zone().
Referenced by HValue::SetBlock().
|
inline |
Definition at line 319 of file hydrogen.h.
void InitializeInferredTypes | ( | ) |
Definition at line 2280 of file hydrogen.cc.
Referenced by HGraphBuilder::CreateGraph().
void InsertRepresentationChanges | ( | ) |
Definition at line 2417 of file hydrogen.cc.
References List< T, ZoneAllocationPolicy >::at(), HValue::CheckFlag(), HValue::CheckUsesForFlag(), HValue::ClearFlag(), Representation::IsInteger32(), HValue::kTruncatingToInt32, HInstruction::next(), v8::internal::NULL, HGraph::phi_list(), HValue::representation(), and HValue::SetFlag().
Referenced by HGraphBuilder::CreateGraph().
void InsertTypeConversions | ( | ) |
|
inline |
Definition at line 343 of file hydrogen.h.
|
inline |
Definition at line 249 of file hydrogen.h.
Referenced by HGraph::GetConstantFalse(), HGraph::GetConstantHole(), and HGraph::GetConstantTrue().
|
inline |
Definition at line 310 of file hydrogen.h.
References v8::internal::NULL.
Referenced by LChunk::LookupLiteral(), and LChunk::LookupLiteralRepresentation().
void MarkDeoptimizeOnUndefined | ( | ) |
Definition at line 2473 of file hydrogen.cc.
References Representation::IsDouble(), HValue::kDeoptimizeOnUndefined, HGraph::phi_list(), HValue::representation(), and HValue::uses().
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 339 of file hydrogen.h.
void OrderBlocks | ( | ) |
Definition at line 756 of file hydrogen.cc.
References v8::internal::NULL, HBasicBlock::set_block_id(), and HGraph::zone().
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 323 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 331 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph().
Definition at line 253 of file hydrogen.h.
Referenced by HGraph::EliminateUnreachablePhis(), HGraph::InsertRepresentationChanges(), and HGraph::MarkDeoptimizeOnUndefined().
bool ProcessArgumentsObject | ( | ) |
void PropagateDeoptimizingMark | ( | ) |
Definition at line 837 of file hydrogen.cc.
References HGraph::entry_block().
Referenced by HGraphBuilder::CreateGraph().
void ReplaceCheckedValues | ( | ) |
|
inline |
Definition at line 327 of file hydrogen.h.
|
inline |
Definition at line 335 of file hydrogen.h.
|
inline |
Definition at line 285 of file hydrogen.h.
|
inline |
Definition at line 300 of file hydrogen.h.
|
inline |
Definition at line 255 of file hydrogen.h.
|
inline |
Definition at line 250 of file hydrogen.h.
Referenced by LChunk::AddInstruction(), HGraph::CollectPhis(), HGraph::ComputeMinusZeroChecks(), HGraph::CreateBasicBlock(), HGraph::EliminateRedundantBoundsChecks(), HGraph::EliminateRedundantPhis(), HGraph::EliminateUnreachablePhis(), HGraph::GetNextValueID(), HGraph::HGraph(), HGraph::OrderBlocks(), and HBasicBlock::zone().