1543 |
1543 |
1544 |
1544 |
1545 public void compressCatchTable() { |
1545 public void compressCatchTable() { |
1546 ListBuffer<char[]> compressedCatchInfo = ListBuffer.lb(); |
1546 ListBuffer<char[]> compressedCatchInfo = ListBuffer.lb(); |
1547 List<Integer> handlerPcs = List.nil(); |
1547 List<Integer> handlerPcs = List.nil(); |
1548 for (char[] catchEntry : catchInfo.elems) { |
1548 for (char[] catchEntry : catchInfo) { |
1549 handlerPcs = handlerPcs.prepend((int)catchEntry[2]); |
1549 handlerPcs = handlerPcs.prepend((int)catchEntry[2]); |
1550 } |
1550 } |
1551 for (char[] catchEntry : catchInfo.elems) { |
1551 for (char[] catchEntry : catchInfo) { |
1552 int startpc = catchEntry[0]; |
1552 int startpc = catchEntry[0]; |
1553 int endpc = catchEntry[1]; |
1553 int endpc = catchEntry[1]; |
1554 if (startpc == endpc || |
1554 if (startpc == endpc || |
1555 (startpc == (endpc - 1) && |
1555 (startpc == (endpc - 1) && |
1556 handlerPcs.contains(startpc))) { |
1556 handlerPcs.contains(startpc))) { |