jvm/p/TestLoader.java

182 lines
11 KiB
Java

package p;
import jvm.internal.Loader;
import java.misc.Memory;
class TestLoader {
static byte[][] buffers;
static {
buffers = new byte[3][];
buffers[0] = new byte[] {
-54, -2, -70, -66, 0, 0, 0, 52, 0, 20, 10, 0, 2, 0, 3, 7,
0, 4, 12, 0, 5, 0, 6, 1, 0, 16, 106, 97, 118, 97, 47, 108,
97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 1, 0, 6, 60, 105, 110,
105, 116, 62, 1, 0, 3, 40, 41, 86, 10, 0, 8, 0, 9, 7, 0,
10, 12, 0, 11, 0, 12, 1, 0, 19, 106, 97, 118, 97, 47, 105, 111,
47, 80, 114, 105, 110, 116, 83, 116, 114, 101, 97, 109, 1, 0, 5, 119,
114, 105, 116, 101, 1, 0, 5, 40, 91, 66, 41, 86, 7, 0, 14, 1,
0, 4, 77, 97, 105, 110, 1, 0, 4, 67, 111, 100, 101, 1, 0, 15,
76, 105, 110, 101, 78, 117, 109, 98, 101, 114, 84, 97, 98, 108, 101, 1,
0, 4, 109, 97, 105, 110, 1, 0, 10, 83, 111, 117, 114, 99, 101, 70,
105, 108, 101, 1, 0, 9, 77, 97, 105, 110, 46, 106, 97, 118, 97, 0,
32, 0, 13, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 5, 0,
6, 0, 1, 0, 15, 0, 0, 0, 29, 0, 1, 0, 1, 0, 0, 0,
5, 42, -73, 0, 1, -79, 0, 0, 0, 1, 0, 16, 0, 0, 0, 6,
0, 1, 0, 0, 0, 3, 0, 9, 0, 17, 0, 6, 0, 1, 0, 15,
0, 0, 0, 114, 0, 4, 0, 1, 0, 0, 0, 82, 16, 13, -68, 8,
89, 3, 16, 104, 84, 89, 4, 16, 101, 84, 89, 5, 16, 108, 84, 89,
6, 16, 108, 84, 89, 7, 16, 111, 84, 89, 8, 16, 32, 84, 89, 16,
6, 16, 119, 84, 89, 16, 7, 16, 111, 84, 89, 16, 8, 16, 114, 84,
89, 16, 9, 16, 108, 84, 89, 16, 10, 16, 100, 84, 89, 16, 11, 16,
33, 84, 89, 16, 12, 16, 10, 84, 75, 42, -72, 0, 7, -79, 0, 0,
0, 1, 0, 16, 0, 0, 0, 14, 0, 3, 0, 0, 0, 5, 0, 77,
0, 6, 0, 81, 0, 7, 0, 1, 0, 18, 0, 0, 0, 2, 0, 19,
};
buffers[1] = new byte[] {
-54, -2, -70, -66, 0, 0, 0, 52, 0, 13, 8, 0, 2, 1, 0, 6,
79, 98, 106, 101, 99, 116, 7, 0, 4, 1, 0, 16, 106, 97, 118, 97,
47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 1, 0, 6, 60,
105, 110, 105, 116, 62, 1, 0, 3, 40, 41, 86, 1, 0, 4, 67, 111,
100, 101, 1, 0, 15, 76, 105, 110, 101, 78, 117, 109, 98, 101, 114, 84,
97, 98, 108, 101, 1, 0, 8, 116, 111, 83, 116, 114, 105, 110, 103, 1,
0, 20, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83,
116, 114, 105, 110, 103, 59, 1, 0, 10, 83, 111, 117, 114, 99, 101, 70,
105, 108, 101, 1, 0, 11, 79, 98, 106, 101, 99, 116, 46, 106, 97, 118,
97, 0, 33, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
5, 0, 6, 0, 1, 0, 7, 0, 0, 0, 25, 0, 0, 0, 1, 0,
0, 0, 1, -79, 0, 0, 0, 1, 0, 8, 0, 0, 0, 6, 0, 1,
0, 0, 0, 4, 0, 1, 0, 9, 0, 10, 0, 1, 0, 7, 0, 0,
0, 27, 0, 1, 0, 1, 0, 0, 0, 3, 18, 1, -80, 0, 0, 0,
1, 0, 8, 0, 0, 0, 6, 0, 1, 0, 0, 0, 7, 0, 1, 0,
11, 0, 0, 0, 2, 0, 12,
};
buffers[2] = new byte[] {
-54, -2, -70, -66, 0, 0, 0, 52, 0, 61, 10, 0, 2, 0, 3, 7,
0, 4, 12, 0, 5, 0, 6, 1, 0, 16, 106, 97, 118, 97, 47, 108,
97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 1, 0, 6, 60, 105, 110,
105, 116, 62, 1, 0, 3, 40, 41, 86, 9, 0, 8, 0, 9, 7, 0,
10, 12, 0, 11, 0, 12, 1, 0, 19, 106, 97, 118, 97, 47, 105, 111,
47, 80, 114, 105, 110, 116, 83, 116, 114, 101, 97, 109, 1, 0, 7, 110,
101, 119, 108, 105, 110, 101, 1, 0, 2, 91, 66, 10, 0, 14, 0, 15,
7, 0, 16, 12, 0, 17, 0, 18, 1, 0, 16, 106, 97, 118, 97, 47,
108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 1, 0, 8, 103, 101,
116, 66, 121, 116, 101, 115, 1, 0, 4, 40, 41, 91, 66, 10, 0, 8,
0, 20, 12, 0, 21, 0, 22, 1, 0, 5, 119, 114, 105, 116, 101, 1,
0, 5, 40, 91, 66, 41, 86, 10, 0, 14, 0, 24, 12, 0, 25, 0,
26, 1, 0, 7, 118, 97, 108, 117, 101, 79, 102, 1, 0, 21, 40, 90,
41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105,
110, 103, 59, 10, 0, 8, 0, 28, 12, 0, 21, 0, 29, 1, 0, 21,
40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105,
110, 103, 59, 41, 86, 10, 0, 14, 0, 31, 12, 0, 25, 0, 32, 1,
0, 21, 40, 67, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47,
83, 116, 114, 105, 110, 103, 59, 10, 0, 14, 0, 34, 12, 0, 25, 0,
35, 1, 0, 21, 40, 73, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110,
103, 47, 83, 116, 114, 105, 110, 103, 59, 10, 0, 14, 0, 37, 12, 0,
25, 0, 38, 1, 0, 21, 40, 74, 41, 76, 106, 97, 118, 97, 47, 108,
97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 10, 0, 14, 0, 40,
12, 0, 25, 0, 41, 1, 0, 21, 40, 70, 41, 76, 106, 97, 118, 97,
47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 10, 0, 14,
0, 43, 12, 0, 25, 0, 44, 1, 0, 21, 40, 68, 41, 76, 106, 97,
118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 10,
0, 14, 0, 46, 12, 0, 25, 0, 47, 1, 0, 38, 40, 76, 106, 97,
118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41,
76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110,
103, 59, 1, 0, 4, 67, 111, 100, 101, 1, 0, 15, 76, 105, 110, 101,
78, 117, 109, 98, 101, 114, 84, 97, 98, 108, 101, 1, 0, 5, 112, 114,
105, 110, 116, 1, 0, 4, 40, 90, 41, 86, 1, 0, 4, 40, 67, 41,
86, 1, 0, 4, 40, 73, 41, 86, 1, 0, 4, 40, 74, 41, 86, 1,
0, 4, 40, 70, 41, 86, 1, 0, 4, 40, 68, 41, 86, 1, 0, 21,
40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101,
99, 116, 59, 41, 86, 1, 0, 7, 112, 114, 105, 110, 116, 108, 110, 1,
0, 10, 83, 111, 117, 114, 99, 101, 70, 105, 108, 101, 1, 0, 16, 80,
114, 105, 110, 116, 83, 116, 114, 101, 97, 109, 46, 106, 97, 118, 97, 0,
33, 0, 8, 0, 2, 0, 0, 0, 1, 0, 18, 0, 11, 0, 12, 0,
0, 0, 20, 0, 1, 0, 5, 0, 6, 0, 1, 0, 48, 0, 0, 0,
49, 0, 5, 0, 1, 0, 0, 0, 17, 42, -73, 0, 1, 42, 4, -68,
8, 89, 3, 16, 10, 84, -75, 0, 7, -79, 0, 0, 0, 1, 0, 49,
0, 0, 0, 14, 0, 3, 0, 0, 0, 8, 0, 4, 0, 11, 0, 16,
0, 9, 1, 9, 0, 21, 0, 22, 0, 0, 0, 9, 0, 21, 0, 29,
0, 1, 0, 48, 0, 0, 0, 36, 0, 1, 0, 1, 0, 0, 0, 8,
42, -74, 0, 13, -72, 0, 19, -79, 0, 0, 0, 1, 0, 49, 0, 0,
0, 10, 0, 2, 0, 0, 0, 16, 0, 7, 0, 17, 0, 1, 0, 50,
0, 22, 0, 1, 0, 48, 0, 0, 0, 33, 0, 1, 0, 2, 0, 0,
0, 5, 43, -72, 0, 19, -79, 0, 0, 0, 1, 0, 49, 0, 0, 0,
10, 0, 2, 0, 0, 0, 20, 0, 4, 0, 21, 0, 1, 0, 50, 0,
51, 0, 1, 0, 48, 0, 0, 0, 36, 0, 1, 0, 2, 0, 0, 0,
8, 27, -72, 0, 23, -72, 0, 27, -79, 0, 0, 0, 1, 0, 49, 0,
0, 0, 10, 0, 2, 0, 0, 0, 24, 0, 7, 0, 25, 0, 1, 0,
50, 0, 52, 0, 1, 0, 48, 0, 0, 0, 36, 0, 1, 0, 2, 0,
0, 0, 8, 27, -72, 0, 30, -72, 0, 27, -79, 0, 0, 0, 1, 0,
49, 0, 0, 0, 10, 0, 2, 0, 0, 0, 28, 0, 7, 0, 29, 0,
1, 0, 50, 0, 53, 0, 1, 0, 48, 0, 0, 0, 36, 0, 1, 0,
2, 0, 0, 0, 8, 27, -72, 0, 33, -72, 0, 27, -79, 0, 0, 0,
1, 0, 49, 0, 0, 0, 10, 0, 2, 0, 0, 0, 32, 0, 7, 0,
33, 0, 1, 0, 50, 0, 54, 0, 1, 0, 48, 0, 0, 0, 36, 0,
2, 0, 3, 0, 0, 0, 8, 31, -72, 0, 36, -72, 0, 27, -79, 0,
0, 0, 1, 0, 49, 0, 0, 0, 10, 0, 2, 0, 0, 0, 36, 0,
7, 0, 37, 0, 1, 0, 50, 0, 55, 0, 1, 0, 48, 0, 0, 0,
36, 0, 1, 0, 2, 0, 0, 0, 8, 35, -72, 0, 39, -72, 0, 27,
-79, 0, 0, 0, 1, 0, 49, 0, 0, 0, 10, 0, 2, 0, 0, 0,
40, 0, 7, 0, 41, 0, 1, 0, 50, 0, 56, 0, 1, 0, 48, 0,
0, 0, 36, 0, 2, 0, 3, 0, 0, 0, 8, 39, -72, 0, 42, -72,
0, 27, -79, 0, 0, 0, 1, 0, 49, 0, 0, 0, 10, 0, 2, 0,
0, 0, 44, 0, 7, 0, 45, 0, 1, 0, 50, 0, 57, 0, 1, 0,
48, 0, 0, 0, 36, 0, 1, 0, 2, 0, 0, 0, 8, 43, -72, 0,
45, -72, 0, 27, -79, 0, 0, 0, 1, 0, 49, 0, 0, 0, 10, 0,
2, 0, 0, 0, 48, 0, 7, 0, 49, 0, 1, 0, 58, 0, 6, 0,
1, 0, 48, 0, 0, 0, 36, 0, 1, 0, 1, 0, 0, 0, 8, 42,
-76, 0, 7, -72, 0, 19, -79, 0, 0, 0, 1, 0, 49, 0, 0, 0,
10, 0, 2, 0, 0, 0, 52, 0, 7, 0, 53, 0, 1, 0, 58, 0,
22, 0, 1, 0, 48, 0, 0, 0, 44, 0, 1, 0, 2, 0, 0, 0,
12, 43, -72, 0, 19, 42, -76, 0, 7, -72, 0, 19, -79, 0, 0, 0,
1, 0, 49, 0, 0, 0, 14, 0, 3, 0, 0, 0, 56, 0, 4, 0,
57, 0, 11, 0, 58, 0, 1, 0, 58, 0, 51, 0, 1, 0, 48, 0,
0, 0, 47, 0, 1, 0, 2, 0, 0, 0, 15, 27, -72, 0, 23, -72,
0, 27, 42, -76, 0, 7, -72, 0, 19, -79, 0, 0, 0, 1, 0, 49,
0, 0, 0, 14, 0, 3, 0, 0, 0, 61, 0, 7, 0, 62, 0, 14,
0, 63, 0, 1, 0, 58, 0, 52, 0, 1, 0, 48, 0, 0, 0, 47,
0, 1, 0, 2, 0, 0, 0, 15, 27, -72, 0, 30, -72, 0, 27, 42,
-76, 0, 7, -72, 0, 19, -79, 0, 0, 0, 1, 0, 49, 0, 0, 0,
14, 0, 3, 0, 0, 0, 66, 0, 7, 0, 67, 0, 14, 0, 68, 0,
1, 0, 58, 0, 53, 0, 1, 0, 48, 0, 0, 0, 47, 0, 1, 0,
2, 0, 0, 0, 15, 27, -72, 0, 33, -72, 0, 27, 42, -76, 0, 7,
-72, 0, 19, -79, 0, 0, 0, 1, 0, 49, 0, 0, 0, 14, 0, 3,
0, 0, 0, 71, 0, 7, 0, 72, 0, 14, 0, 73, 0, 1, 0, 58,
0, 54, 0, 1, 0, 48, 0, 0, 0, 47, 0, 2, 0, 3, 0, 0,
0, 15, 31, -72, 0, 36, -72, 0, 27, 42, -76, 0, 7, -72, 0, 19,
-79, 0, 0, 0, 1, 0, 49, 0, 0, 0, 14, 0, 3, 0, 0, 0,
76, 0, 7, 0, 77, 0, 14, 0, 78, 0, 1, 0, 58, 0, 55, 0,
1, 0, 48, 0, 0, 0, 47, 0, 1, 0, 2, 0, 0, 0, 15, 35,
-72, 0, 39, -72, 0, 27, 42, -76, 0, 7, -72, 0, 19, -79, 0, 0,
0, 1, 0, 49, 0, 0, 0, 14, 0, 3, 0, 0, 0, 81, 0, 7,
0, 82, 0, 14, 0, 83, 0, 1, 0, 58, 0, 56, 0, 1, 0, 48,
0, 0, 0, 47, 0, 2, 0, 3, 0, 0, 0, 15, 39, -72, 0, 42,
-72, 0, 27, 42, -76, 0, 7, -72, 0, 19, -79, 0, 0, 0, 1, 0,
49, 0, 0, 0, 14, 0, 3, 0, 0, 0, 86, 0, 7, 0, 87, 0,
14, 0, 88, 0, 1, 0, 58, 0, 57, 0, 1, 0, 48, 0, 0, 0,
47, 0, 1, 0, 2, 0, 0, 0, 15, 43, -72, 0, 45, -72, 0, 27,
42, -76, 0, 7, -72, 0, 19, -79, 0, 0, 0, 1, 0, 49, 0, 0,
0, 14, 0, 3, 0, 0, 0, 91, 0, 7, 0, 92, 0, 14, 0, 93,
0, 1, 0, 59, 0, 0, 0, 2, 0, 60,
};
}
public static int copyBuffer(byte[] buf, int address) {
for (int i = 0; i < buf.length; i++) {
Memory.putU1(address + i, buf[i]);
}
return buf.length;
}
public static void main() {
int address = Loader.getBuffer();
int[] buffer_addresses = new int[buffers.length];
for (int i = 0; i < buffers.length; i++) {
buffer_addresses[i] = address;
address += copyBuffer(buffers[i], address);
}
Loader.load(buffer_addresses);
}
}