v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <hydrogen.h>
Definition at line 243 of file hydrogen.h.
|
explicit |
Definition at line 688 of file hydrogen.cc.
References CompilationInfo::closure(), HGraph::CreateBasicBlock(), BailoutId::FunctionEntry(), v8::internal::NULL, CompilationInfo::scope(), HEnvironment::set_ast_id(), and HBasicBlock::SetInitialEnvironment().
void AssignDominators | ( | ) |
Definition at line 1045 of file hydrogen.cc.
References HBasicBlock::AssignCommonDominator(), HBasicBlock::AssignLoopSuccessorDominators(), HBasicBlock::IsLoopHeader(), and HBasicBlock::predecessors().
Referenced by HGraph::Optimize().
|
inline |
Definition at line 251 of file hydrogen.h.
Referenced by HBasicBlock::AssignLoopSuccessorDominators(), HGraph::Canonicalize(), HGraph::DeadCodeElimination(), HGraph::DehoistSimpleArrayIndexComputations(), LChunk::GetLabel(), and LChunk::MarkEmptyBlocks().
void Canonicalize | ( | ) |
Definition at line 716 of file hydrogen.cc.
References HGraph::blocks(), HValue::Canonicalize(), HValue::DeleteAndReplaceWith(), HInstruction::next(), and v8::internal::NULL.
Referenced by HGraph::Optimize().
bool CheckArgumentsPhiUses | ( | ) |
Definition at line 1155 of file hydrogen.cc.
References HValue::CheckFlag(), and HValue::kIsArguments.
Referenced by HGraph::Optimize().
bool CheckConstPhiUses | ( | ) |
Definition at line 1168 of file hydrogen.cc.
References HGraph::GetConstantHole(), HPhi::OperandAt(), and HPhi::OperandCount().
Referenced by HGraph::Optimize().
void CollectPhis | ( | ) |
Definition at line 1183 of file hydrogen.cc.
References HGraph::zone().
Referenced by HGraph::Optimize().
void ComputeMinusZeroChecks | ( | ) |
Definition at line 2908 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 HGraph::Optimize().
void ComputeSafeUint32Operations | ( | ) |
Definition at line 2887 of file hydrogen.cc.
References Representation::IsInteger32(), HInstruction::IsLinked(), v8::internal::NULL, HValue::representation(), and HGraph::zone().
Referenced by HGraph::Optimize().
HBasicBlock * CreateBasicBlock | ( | ) |
Definition at line 709 of file hydrogen.cc.
References HGraph::zone().
Referenced by HGraphBuilder::CreateJoin(), FunctionState::FunctionState(), HGraph::HGraph(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), and TestContext::ReturnControl().
void DeadCodeElimination | ( | ) |
Definition at line 3791 of file hydrogen.cc.
References List< T, P >::Add(), StringStream::Add(), HGraph::blocks(), HValue::cast(), HValue::DeleteAndReplaceWith(), HValue::IsDead(), v8::internal::NULL, HValue::OperandAt(), HValue::OperandCount(), v8::internal::PrintF(), HValue::PrintNameTo(), HInstruction::PrintTo(), StringStream::ToCString(), and HGraph::zone().
Referenced by HGraph::Optimize().
void DehoistSimpleArrayIndexComputations | ( | ) |
Definition at line 3751 of file hydrogen.cc.
References HGraph::blocks(), HValue::cast(), and v8::internal::NULL.
Referenced by HGraph::Optimize().
void EliminateRedundantBoundsChecks | ( | ) |
Definition at line 3696 of file hydrogen.cc.
References HGraph::entry_block(), and HGraph::zone().
Referenced by HGraph::Optimize().
void EliminateRedundantPhis | ( | ) |
Definition at line 1077 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 HGraph::Optimize().
void EliminateUnreachablePhis | ( | ) |
Definition at line 1111 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 HGraph::Optimize().
|
inline |
Definition at line 253 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph(), HGraph::EliminateRedundantBoundsChecks(), and HGraph::PropagateDeoptimizingMark().
|
inline |
Definition at line 295 of file hydrogen.h.
HConstant * GetConstant1 | ( | ) |
Definition at line 594 of file hydrogen.cc.
HConstant * GetConstantFalse | ( | ) |
Definition at line 609 of file hydrogen.cc.
References HGraph::isolate().
HConstant * GetConstantHole | ( | ) |
Definition at line 614 of file hydrogen.cc.
References HGraph::isolate().
Referenced by HGraph::CheckConstPhiUses().
HConstant * GetConstantMinus1 | ( | ) |
Definition at line 599 of file hydrogen.cc.
HConstant * GetConstantTrue | ( | ) |
Definition at line 604 of file hydrogen.cc.
References HGraph::isolate().
|
inline |
Definition at line 287 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 303 of file hydrogen.h.
Referenced by HGraph::ComputeMinusZeroChecks(), and LChunk::NewChunk().
|
inline |
Definition at line 304 of file hydrogen.h.
|
inline |
Definition at line 305 of file hydrogen.h.
References HGraph::zone().
Referenced by HValue::SetBlock().
|
inline |
Definition at line 320 of file hydrogen.h.
Referenced by HGraph::Optimize().
|
inline |
Definition at line 249 of file hydrogen.h.
Referenced by LChunk::NewChunk(), and HGraph::Optimize().
void InitializeInferredTypes | ( | ) |
Definition at line 2466 of file hydrogen.cc.
Referenced by HGraph::Optimize().
void InsertRepresentationChanges | ( | ) |
Definition at line 2608 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 HGraph::Optimize().
void InsertTypeConversions | ( | ) |
|
inline |
Definition at line 357 of file hydrogen.h.
|
inline |
Definition at line 247 of file hydrogen.h.
Referenced by HGraph::GetConstantFalse(), HGraph::GetConstantHole(), and HGraph::GetConstantTrue().
|
inline |
Definition at line 309 of file hydrogen.h.
References v8::internal::NULL.
Referenced by LChunk::LookupConstant(), and LChunk::LookupLiteralRepresentation().
void MarkDeoptimizeOnUndefined | ( | ) |
Definition at line 2664 of file hydrogen.cc.
References Representation::IsDouble(), HValue::kDeoptimizeOnUndefined, HGraph::phi_list(), HValue::representation(), and HValue::uses().
Referenced by HGraph::Optimize().
|
inline |
Definition at line 353 of file hydrogen.h.
bool Optimize | ( | SmartArrayPointer< char > * | bailout_reason | ) |
Definition at line 3287 of file hydrogen.cc.
References ASSERT, HGraph::AssignDominators(), List< T, ZoneAllocationPolicy >::at(), HGraph::Canonicalize(), HGraph::CheckArgumentsPhiUses(), HGraph::CheckConstPhiUses(), HGraph::CollectPhis(), HGraph::ComputeMinusZeroChecks(), HGraph::ComputeSafeUint32Operations(), HGraph::DeadCodeElimination(), HGraph::DehoistSimpleArrayIndexComputations(), HGraph::EliminateRedundantBoundsChecks(), HGraph::EliminateRedundantPhis(), HGraph::EliminateUnreachablePhis(), HGraph::has_osr_loop_entry(), HGraph::info(), HGraph::InitializeInferredTypes(), HGraph::InsertRepresentationChanges(), HGraph::MarkDeoptimizeOnUndefined(), HPhi::merged_index(), HGraph::OrderBlocks(), HGraph::osr_loop_entry(), HGraph::osr_values(), HBasicBlock::phis(), HGraph::PropagateDeoptimizingMark(), and v8::internal::StrDup().
Referenced by OptimizingCompiler::OptimizeGraph().
void OrderBlocks | ( | ) |
Definition at line 1024 of file hydrogen.cc.
References PostorderProcessor::CreateEntryProcessor(), v8::internal::NULL, PostorderProcessor::PerformStep(), HBasicBlock::set_block_id(), and HGraph::zone().
Referenced by HGraph::Optimize().
|
inline |
Definition at line 324 of file hydrogen.h.
Referenced by HGraph::Optimize().
|
inline |
Definition at line 332 of file hydrogen.h.
Referenced by HGraph::Optimize().
Definition at line 252 of file hydrogen.h.
Referenced by HGraph::EliminateUnreachablePhis(), HGraph::InsertRepresentationChanges(), and HGraph::MarkDeoptimizeOnUndefined().
bool ProcessArgumentsObject | ( | ) |
void PropagateDeoptimizingMark | ( | ) |
Definition at line 1064 of file hydrogen.cc.
References HGraph::entry_block().
Referenced by HGraph::Optimize().
|
inline |
Definition at line 361 of file hydrogen.h.
References v8::internal::NULL, and HGraph::zone().
void ReplaceCheckedValues | ( | ) |
|
inline |
Definition at line 328 of file hydrogen.h.
|
inline |
Definition at line 336 of file hydrogen.h.
|
inline |
Definition at line 284 of file hydrogen.h.
|
inline |
Definition at line 349 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 299 of file hydrogen.h.
|
inline |
Definition at line 254 of file hydrogen.h.
|
inline |
Definition at line 340 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 345 of file hydrogen.h.
|
inline |
Definition at line 248 of file hydrogen.h.
Referenced by LChunk::AddInstruction(), HGraph::CollectPhis(), HGraph::ComputeMinusZeroChecks(), HGraph::ComputeSafeUint32Operations(), HGraph::CreateBasicBlock(), HGraph::DeadCodeElimination(), HGraph::EliminateRedundantBoundsChecks(), HGraph::EliminateRedundantPhis(), HGraph::EliminateUnreachablePhis(), HGraph::GetNextValueID(), HGraph::OrderBlocks(), HGraph::RecordUint32Instruction(), and HBasicBlock::zone().