srecord DoubleVAddr (VAddr addr1, VAddr addr2) implements VAddr { replace Addr with int. replace BoxedAddr with Int. int get() { ret addr1!; } int get(Addr ofs) { ret addr1.get(ofs); } void set(int val) { addr1.set(val); addr2.set(val); } void set(Addr ofs, int val) { addr1.set(ofs, val); addr2.set(ofs, val); } VAddr plus(Addr ofs) { ret bew DoubleVAddr(addr1.plus(ofs), addr2.plus(ofs)); } }