AddressPcEntry p = list; int count = 0; while (p != null) { count++; p = p.next; }  final int[] table = new int[count*2]; p = list; int i = 0; while (p != null) { table[i+0] = p.pc; table[i+1] = p.offset; i += 2; p = p.next; } this.table = table; this.list = null; }
AddressPcEntry p = list; int count = 0; while (p != null) { count++; p = p.next; }  final int[] table = new int[ count * 2]; p = list; int i = 0; int lastOffset = -1; while (p != null) { table[ i + 0] = p.pc; table[ i + 1] = p.offset; if (p.offset < lastOffset) { throw new VirtualMachineError( "unordered offset found"); } lastOffset = p.offset; i += 2; p = p.next; } this.table = table; this.list = null; }
	final void lock() {		AddressPcEntry p = list;		int count = 0;		while (p != null) {			count++;			p = p.next;		}				final int[] table = new int[count*2];		p = list;		int i = 0;		while (p != null) {			table[i+0] = p.pc;			table[i+1] = p.offset;			i += 2;			p = p.next;		}		this.table = table;		this.list = null; 	}