| 238 | |
| 239 | // Take a worklist step: one data op from the current Control is updated. |
| 240 | private static void step(Node n, SB trace) { |
| 241 | if( n instanceof PhiNode ) return; |
| 242 | // Compute new value |
| 243 | F.put0(n,compute(n)); |
| 244 | traceData(n,trace); |
| 245 | // Also do any following projections, which are not in the local schedule otherwise |
| 246 | if( n instanceof MultiNode ) |
| 247 | for( Node use : n._outputs ) |
| 248 | step(use,trace); |
| 249 | } |
| 250 | |
| 251 | // From here down shamelessly copied from Evaluator, written by @Xmilia |
| 252 | private static Object compute( Node n ) { |