private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); else return -100; }
private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); return -100; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; j++; } return tags; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; j++; } return tags; }
private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); else return -100; }
private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); else return -100; }
private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); else return -100; }
private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); else return -100; }
private static int stackMapDiff(int oldTdLen, TypeData[] oldTd, int newTdLen, TypeData[] newTd) { int diff = newTdLen - oldTdLen; int len; if (diff > 0) len = oldTdLen; else len = newTdLen; if (stackMapEq(oldTd, newTd, len)) if (diff > 0) return diffSize(newTd, len, newTdLen); else return -diffSize(oldTd, len, oldTdLen); else return -100; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; j++; } return tags; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; j++; } return tags; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; j++; } return tags; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; if (td == TOP) { tags[j] = StackMapTable.TOP; data[j] = 0; } else { tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; } j++; } return tags; }
private int[] fillStackMap(int num, int offset, int[] data, TypeData[] types) { int realNum = diffSize(types, offset, offset + num); ConstPool cp = cpool; int[] tags = new int[realNum]; int j = 0; for (int i = 0; i < num; i++) { TypeData td = types[offset + i]; if (td == TOP) { tags[j] = StackMapTable.TOP; data[j] = 0; } else { tags[j] = td.getTypeTag(); data[j] = td.getTypeData(cp); if (td.is2WordType()) i++; } j++; } return tags; }