java-decompiler: minor optimization (no more empty array creation)

This commit is contained in:
Roman Shevchenko
2014-10-06 17:26:24 +02:00
parent 8462998a86
commit bef17b44fc
4 changed files with 10 additions and 6 deletions

View File

@@ -88,6 +88,7 @@ public class FastSparseSetFactory<E> {
public static class FastSparseSet<E> implements Iterable<E> {
public static final FastSparseSet[] EMPTY_ARRAY = new FastSparseSet[0];
private FastSparseSetFactory<E> factory;

View File

@@ -29,6 +29,8 @@ import java.util.zip.ZipFile;
public class InterpreterUtil {
public static final boolean IS_WINDOWS = System.getProperty("os.name", "").startsWith("Windows");
public static final int[] EMPTY_INT_ARRAY = new int[0];
private static final int CHANNEL_WINDOW_SIZE = IS_WINDOWS ? 64 * 1024 * 1024 - (32 * 1024) : 64 * 1024 * 1024; // magic number for Windows
private static final int BUFFER_SIZE = 16 * 1024;

View File

@@ -38,9 +38,9 @@ public class SFormsFastMapDirect {
private SFormsFastMapDirect(boolean initialize) {
if (initialize) {
for (int i = 2; i >= 0; i--) {
@SuppressWarnings("unchecked") FastSparseSet<Integer>[] empty = new FastSparseSet[0];
@SuppressWarnings("unchecked") FastSparseSet<Integer>[] empty = FastSparseSet.EMPTY_ARRAY;
elements[i] = empty;
next[i] = new int[0];
next[i] = InterpreterUtil.EMPTY_INT_ARRAY;
}
}
}
@@ -99,8 +99,8 @@ public class SFormsFastMapDirect {
while (pointer != 0);
}
else {
mapelements[i] = new FastSparseSet[0];
mapnext[i] = new int[0];
mapelements[i] = FastSparseSet.EMPTY_ARRAY;
mapnext[i] = InterpreterUtil.EMPTY_INT_ARRAY;
}
}