1
2
3
4 package joeq.Compiler.Quad;
5
6 import joeq.Util.Templates.ListIterator;
7 import jwutil.collections.IndexMap;
8
9 /***
10 * RegisterNumberVisitor
11 *
12 * @author John Whaley
13 * @version $Id: RegisterNumberVisitor.java 1931 2004-09-22 22:17:47Z joewhaley $
14 */
15 public class RegisterNumberVisitor extends QuadVisitor.EmptyVisitor {
16
17 IndexMap m = new IndexMap("Register numbers");
18
19 public void visitQuad(Quad q) {
20 for (ListIterator.RegisterOperand i = q.getDefinedRegisters().registerOperandIterator();
21 i.hasNext(); ) {
22 m.get(i.nextRegisterOperand().getRegister());
23 }
24 for (ListIterator.RegisterOperand i = q.getUsedRegisters().registerOperandIterator();
25 i.hasNext(); ) {
26 m.get(i.nextRegisterOperand().getRegister());
27 }
28 }
29
30 }