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); } }