Ejemplo n.º 1
0
 const StlVectorSet<VarOpnd *> *getChangedVarsSet() { 
     if (changedVars.empty()) {
         return 0;
     } else {
         if (removedPhiRecently) {
             changedVarsSet.clear();
             changedVarsSet.insert(changedVars.begin(), changedVars.end());
             removedPhiRecently = false;
         }
         return &changedVarsSet;
     }
 };
Ejemplo n.º 2
0
U_32 CfgCodeSelector::genDispatchNode(U_32 numInEdges,U_32 numOutEdges, const StlVector<MethodDesc*>& inlineEndMarkers, double cnt) 
{
    assert(nextNodeId < numNodes);
    U_32 nodeId = nextNodeId++;
    Node* node = irManager.getFlowGraph()->createDispatchNode();
    node->setExecCount(cnt);
    nodes[nodeId] = node;
    hasDispatchNodes = true;
    for (StlVector<MethodDesc*>::const_iterator it = inlineEndMarkers.begin(), end = inlineEndMarkers.end(); it!=end; ++it) {
        MethodDesc*  desc = *it;
        node->appendInst(irManager.newMethodEndPseudoInst(desc));
    }
    return nodeId;
}