-
fpizlo@apple.com authored
DFG CFA should leave behind information in Edge that says if the Edge's type check is proven to succeed https://bugs.webkit.org/show_bug.cgi?id=110840 Reviewed by Mark Hahnenberg. This doesn't add any observable functionality to the compiler, yet. But it does give every phase that runs after CFA the ability to know, in O(1) time, whether an edge will need to execute a type check. * dfg/DFGAbstractState.h: (JSC::DFG::AbstractState::filterEdgeByUse): (JSC::DFG::AbstractState::filterByType): * dfg/DFGCommon.cpp: (WTF): (WTF::printInternal): * dfg/DFGCommon.h: (JSC::DFG::isProved): (DFG): (JSC::DFG::proofStatusForIsProved): (WTF): * dfg/DFGEdge.cpp: (JSC::DFG::Edge::dump): * dfg/DFGEdge.h: (JSC::DFG::Edge::Edge): (JSC::DFG::Edge::setNode): (JSC::DFG::Edge::useKindUnchecked): (JSC::DFG::Edge::setUseKind): (Edge): (JSC::DFG::Edge::proofStatusUnchecked): (JSC::DFG::Edge::proofStatus): (JSC::DFG::Edge::setProofStatus): (JSC::DFG::Edge::isProved): (JSC::DFG::Edge::needsCheck): (JSC::DFG::Edge::shift): (JSC::DFG::Edge::makeWord): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
89b9c0b9