diff options
Diffstat (limited to 'libjava/include/java-insns.h')
-rw-r--r-- | libjava/include/java-insns.h | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/libjava/include/java-insns.h b/libjava/include/java-insns.h new file mode 100644 index 000000000..824e44186 --- /dev/null +++ b/libjava/include/java-insns.h @@ -0,0 +1,248 @@ +// java-insns.h - Instruction encodings. This is -*- c++ -*- + +/* Copyright (C) 1999, 2001, 2002, 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#ifndef __JAVA_INSNS_H__ +#define __JAVA_INSNS_H__ + +enum java_opcode +{ + op_nop = 0x00, + op_aconst_null = 0x01, + op_iconst_m1 = 0x02, + op_iconst_0 = 0x03, + op_iconst_1 = 0x04, + op_iconst_2 = 0x05, + op_iconst_3 = 0x06, + op_iconst_4 = 0x07, + op_iconst_5 = 0x08, + op_lconst_0 = 0x09, + op_lconst_1 = 0x0a, + op_fconst_0 = 0x0b, + op_fconst_1 = 0x0c, + op_fconst_2 = 0x0d, + op_dconst_0 = 0x0e, + op_dconst_1 = 0x0f, + op_bipush = 0x10, + op_sipush = 0x11, + op_ldc = 0x12, + op_ldc_w = 0x13, + op_ldc2_w = 0x14, + op_iload = 0x15, + op_lload = 0x16, + op_fload = 0x17, + op_dload = 0x18, + op_aload = 0x19, + op_iload_0 = 0x1a, + op_iload_1 = 0x1b, + op_iload_2 = 0x1c, + op_iload_3 = 0x1d, + op_lload_0 = 0x1e, + op_lload_1 = 0x1f, + op_lload_2 = 0x20, + op_lload_3 = 0x21, + op_fload_0 = 0x22, + op_fload_1 = 0x23, + op_fload_2 = 0x24, + op_fload_3 = 0x25, + op_dload_0 = 0x26, + op_dload_1 = 0x27, + op_dload_2 = 0x28, + op_dload_3 = 0x29, + op_aload_0 = 0x2a, + op_aload_1 = 0x2b, + op_aload_2 = 0x2c, + op_aload_3 = 0x2d, + op_iaload = 0x2e, + op_laload = 0x2f, + op_faload = 0x30, + op_daload = 0x31, + op_aaload = 0x32, + op_baload = 0x33, + op_caload = 0x34, + op_saload = 0x35, + op_istore = 0x36, + op_lstore = 0x37, + op_fstore = 0x38, + op_dstore = 0x39, + op_astore = 0x3a, + op_istore_0 = 0x3b, + op_istore_1 = 0x3c, + op_istore_2 = 0x3d, + op_istore_3 = 0x3e, + op_lstore_0 = 0x3f, + op_lstore_1 = 0x40, + op_lstore_2 = 0x41, + op_lstore_3 = 0x42, + op_fstore_0 = 0x43, + op_fstore_1 = 0x44, + op_fstore_2 = 0x45, + op_fstore_3 = 0x46, + op_dstore_0 = 0x47, + op_dstore_1 = 0x48, + op_dstore_2 = 0x49, + op_dstore_3 = 0x4a, + op_astore_0 = 0x4b, + op_astore_1 = 0x4c, + op_astore_2 = 0x4d, + op_astore_3 = 0x4e, + op_iastore = 0x4f, + op_lastore = 0x50, + op_fastore = 0x51, + op_dastore = 0x52, + op_aastore = 0x53, + op_bastore = 0x54, + op_castore = 0x55, + op_sastore = 0x56, + op_pop = 0x57, + op_pop2 = 0x58, + op_dup = 0x59, + op_dup_x1 = 0x5a, + op_dup_x2 = 0x5b, + op_dup2 = 0x5c, + op_dup2_x1 = 0x5d, + op_dup2_x2 = 0x5e, + op_swap = 0x5f, + op_iadd = 0x60, + op_ladd = 0x61, + op_fadd = 0x62, + op_dadd = 0x63, + op_isub = 0x64, + op_lsub = 0x65, + op_fsub = 0x66, + op_dsub = 0x67, + op_imul = 0x68, + op_lmul = 0x69, + op_fmul = 0x6a, + op_dmul = 0x6b, + op_idiv = 0x6c, + op_ldiv = 0x6d, + op_fdiv = 0x6e, + op_ddiv = 0x6f, + op_irem = 0x70, + op_lrem = 0x71, + op_frem = 0x72, + op_drem = 0x73, + op_ineg = 0x74, + op_lneg = 0x75, + op_fneg = 0x76, + op_dneg = 0x77, + op_ishl = 0x78, + op_lshl = 0x79, + op_ishr = 0x7a, + op_lshr = 0x7b, + op_iushr = 0x7c, + op_lushr = 0x7d, + op_iand = 0x7e, + op_land = 0x7f, + op_ior = 0x80, + op_lor = 0x81, + op_ixor = 0x82, + op_lxor = 0x83, + op_iinc = 0x84, + op_i2l = 0x85, + op_i2f = 0x86, + op_i2d = 0x87, + op_l2i = 0x88, + op_l2f = 0x89, + op_l2d = 0x8a, + op_f2i = 0x8b, + op_f2l = 0x8c, + op_f2d = 0x8d, + op_d2i = 0x8e, + op_d2l = 0x8f, + op_d2f = 0x90, + op_i2b = 0x91, + op_i2c = 0x92, + op_i2s = 0x93, + op_lcmp = 0x94, + op_fcmpl = 0x95, + op_fcmpg = 0x96, + op_dcmpl = 0x97, + op_dcmpg = 0x98, + op_ifeq = 0x99, + op_ifne = 0x9a, + op_iflt = 0x9b, + op_ifge = 0x9c, + op_ifgt = 0x9d, + op_ifle = 0x9e, + op_if_icmpeq = 0x9f, + op_if_icmpne = 0xa0, + op_if_icmplt = 0xa1, + op_if_icmpge = 0xa2, + op_if_icmpgt = 0xa3, + op_if_icmple = 0xa4, + op_if_acmpeq = 0xa5, + op_if_acmpne = 0xa6, + op_goto = 0xa7, + op_jsr = 0xa8, + op_ret = 0xa9, + op_tableswitch = 0xaa, + op_lookupswitch = 0xab, + op_ireturn = 0xac, + op_lreturn = 0xad, + op_freturn = 0xae, + op_dreturn = 0xaf, + op_areturn = 0xb0, + op_return = 0xb1, + op_getstatic = 0xb2, + op_putstatic = 0xb3, + op_getfield = 0xb4, + op_putfield = 0xb5, + op_invokevirtual = 0xb6, + op_invokespecial = 0xb7, + op_invokestatic = 0xb8, + op_invokeinterface = 0xb9, + op_breakpoint = 0xba, + op_new = 0xbb, + op_newarray = 0xbc, + op_anewarray = 0xbd, + op_arraylength = 0xbe, + op_athrow = 0xbf, + op_checkcast = 0xc0, + op_instanceof = 0xc1, + op_monitorenter = 0xc2, + op_monitorexit = 0xc3, + op_wide = 0xc4, + op_multianewarray = 0xc5, + op_ifnull = 0xc6, + op_ifnonnull = 0xc7, + op_goto_w = 0xc8, + op_jsr_w = 0xc9, + + // new opcodes + + op_putfield_1 = 0xca, + op_putfield_2 = 0xcb, + op_putfield_4 = 0xcc, + op_putfield_8 = 0xcd, + op_putfield_a = 0xce, + + op_putstatic_1 = 0xcf, + op_putstatic_2 = 0xd0, + op_putstatic_4 = 0xd1, + op_putstatic_8 = 0xd2, + op_putstatic_a = 0xd3, + + op_getfield_1 = 0xd4, + op_getfield_2s = 0xd5, + op_getfield_2u = 0xd6, + op_getfield_4 = 0xd7, + op_getfield_8 = 0xd8, + op_getfield_a = 0xd9, + + op_getstatic_1 = 0xda, + op_getstatic_2s = 0xdb, + op_getstatic_2u = 0xdc, + op_getstatic_4 = 0xdd, + op_getstatic_8 = 0xde, + op_getstatic_a = 0xdf +}; + +#endif /* __JAVA_INSNS_H__ */ |