question: public static ArrayList < Instruction > recompileHopsDag2Forced ( Hop hops , long tid , ExecType et ) throws DMLRuntimeException , HopsException , LopsException , IOException { ArrayList < Instruction > newInst = null ; synchronized ( hops ) { LOG . debug ( "\n**************** Optimizer (Recompile) *************\nMemory Budget = " + OptimizerUtils . toMB ( OptimizerUtils . getLocalMemBudget ( ) ) + " MB" ) ; hops . resetVisitStatus ( ) ; rClearLops ( hops ) ; hops . resetVisitStatus ( ) ; rSetExecType ( hops , et ) ; hops . resetVisitStatus ( ) ; Dag < Lop > dag = new Dag < Lop > ( ) ; Lop lops = hops . constructLops ( ) ; lops . addToDag ( dag ) ; newInst = dag . getJobs ( null , ConfigurationManager . getDMLConfig ( ) ) ; } if ( tid != 0 ) newInst = ProgramConverter . createDeepCopyInstructionSet ( newInst , tid , - 1 , null , null , null , false , false ) ; return newInst ; }
target:  D) Recompile predicate hop DAG (single root), but forced to CP.  This happens always 'inplace', without statistics updates, and  without dynamic rewrites.