/* 
 * Copyright 1998-2007 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

const short opcode_length[256] = {
   1,		/* nop */
   1,		/* aconst_null */
   1,		/* iconst_m1 */
   1,		/* iconst_0 */
   1,		/* iconst_1 */
   1,		/* iconst_2 */
   1,		/* iconst_3 */
   1,		/* iconst_4 */
   1,		/* iconst_5 */
   1,		/* lconst_0 */
   1,		/* lconst_1 */
   1,		/* fconst_0 */
   1,		/* fconst_1 */
   1,		/* fconst_2 */
   1,		/* dconst_0 */
   1,		/* dconst_1 */
   2,		/* bipush */
   3,		/* sipush */
   2,		/* ldc */
   3,		/* ldc_w */
   3,		/* ldc2_w */
   2,		/* iload */
   2,		/* lload */
   2,		/* fload */
   2,		/* dload */
   2,		/* aload */
   1,		/* iload_0 */
   1,		/* iload_1 */
   1,		/* iload_2 */
   1,		/* iload_3 */
   1,		/* lload_0 */
   1,		/* lload_1 */
   1,		/* lload_2 */
   1,		/* lload_3 */
   1,		/* fload_0 */
   1,		/* fload_1 */
   1,		/* fload_2 */
   1,		/* fload_3 */
   1,		/* dload_0 */
   1,		/* dload_1 */
   1,		/* dload_2 */
   1,		/* dload_3 */
   1,		/* aload_0 */
   1,		/* aload_1 */
   1,		/* aload_2 */
   1,		/* aload_3 */
   1,		/* iaload */
   1,		/* laload */
   1,		/* faload */
   1,		/* daload */
   1,		/* aaload */
   1,		/* baload */
   1,		/* caload */
   1,		/* saload */
   2,		/* istore */
   2,		/* lstore */
   2,		/* fstore */
   2,		/* dstore */
   2,		/* astore */
   1,		/* istore_0 */
   1,		/* istore_1 */
   1,		/* istore_2 */
   1,		/* istore_3 */
   1,		/* lstore_0 */
   1,		/* lstore_1 */
   1,		/* lstore_2 */
   1,		/* lstore_3 */
   1,		/* fstore_0 */
   1,		/* fstore_1 */
   1,		/* fstore_2 */
   1,		/* fstore_3 */
   1,		/* dstore_0 */
   1,		/* dstore_1 */
   1,		/* dstore_2 */
   1,		/* dstore_3 */
   1,		/* astore_0 */
   1,		/* astore_1 */
   1,		/* astore_2 */
   1,		/* astore_3 */
   1,		/* iastore */
   1,		/* lastore */
   1,		/* fastore */
   1,		/* dastore */
   1,		/* aastore */
   1,		/* bastore */
   1,		/* castore */
   1,		/* sastore */
   1,		/* pop */
   1,		/* pop2 */
   1,		/* dup */
   1,		/* dup_x1 */
   1,		/* dup_x2 */
   1,		/* dup2 */
   1,		/* dup2_x1 */
   1,		/* dup2_x2 */
   1,		/* swap */
   1,		/* iadd */
   1,		/* ladd */
   1,		/* fadd */
   1,		/* dadd */
   1,		/* isub */
   1,		/* lsub */
   1,		/* fsub */
   1,		/* dsub */
   1,		/* imul */
   1,		/* lmul */
   1,		/* fmul */
   1,		/* dmul */
   1,		/* idiv */
   1,		/* ldiv */
   1,		/* fdiv */
   1,		/* ddiv */
   1,		/* irem */
   1,		/* lrem */
   1,		/* frem */
   1,		/* drem */
   1,		/* ineg */
   1,		/* lneg */
   1,		/* fneg */
   1,		/* dneg */
   1,		/* ishl */
   1,		/* lshl */
   1,		/* ishr */
   1,		/* lshr */
   1,		/* iushr */
   1,		/* lushr */
   1,		/* iand */
   1,		/* land */
   1,		/* ior */
   1,		/* lor */
   1,		/* ixor */
   1,		/* lxor */
   3,		/* iinc */
   1,		/* i2l */
   1,		/* i2f */
   1,		/* i2d */
   1,		/* l2i */
   1,		/* l2f */
   1,		/* l2d */
   1,		/* f2i */
   1,		/* f2l */
   1,		/* f2d */
   1,		/* d2i */
   1,		/* d2l */
   1,		/* d2f */
   1,		/* i2b */
   1,		/* i2c */
   1,		/* i2s */
   1,		/* lcmp */
   1,		/* fcmpl */
   1,		/* fcmpg */
   1,		/* dcmpl */
   1,		/* dcmpg */
   3,		/* ifeq */
   3,		/* ifne */
   3,		/* iflt */
   3,		/* ifge */
   3,		/* ifgt */
   3,		/* ifle */
   3,		/* if_icmpeq */
   3,		/* if_icmpne */
   3,		/* if_icmplt */
   3,		/* if_icmpge */
   3,		/* if_icmpgt */
   3,		/* if_icmple */
   3,		/* if_acmpeq */
   3,		/* if_acmpne */
   3,		/* goto */
   3,		/* jsr */
   2,		/* ret */
   99,		/* tableswitch */
   99,		/* lookupswitch */
   1,		/* ireturn */
   1,		/* lreturn */
   1,		/* freturn */
   1,		/* dreturn */
   1,		/* areturn */
   1,		/* return */
   3,		/* getstatic */
   3,		/* putstatic */
   3,		/* getfield */
   3,		/* putfield */
   3,		/* invokevirtual */
   3,		/* invokespecial */
   3,		/* invokestatic */
   5,		/* invokeinterface */
   0,		/* xxxunusedxxx */
   3,		/* new */
   2,		/* newarray */
   3,		/* anewarray */
   1,		/* arraylength */
   1,		/* athrow */
   3,		/* checkcast */
   3,		/* instanceof */
   1,		/* monitorenter */
   1,		/* monitorexit */
   0,		/* wide */
   4,		/* multianewarray */
   3,		/* ifnull */
   3,		/* ifnonnull */
   5,		/* goto_w */
   5,		/* jsr_w */
   1,		/* breakpoint */
   2,		/* ldc_quick */
   3,		/* ldc_w_quick */
   3,		/* ldc2_w_quick */
   3,		/* getfield_quick */
   3,		/* putfield_quick */
   3,		/* getfield2_quick */
   3,		/* putfield2_quick */
   3,		/* getstatic_quick */
   3,		/* putstatic_quick */
   3,		/* getstatic2_quick */
   3,		/* putstatic2_quick */
   3,		/* invokevirtual_quick */
   3,		/* invokenonvirtual_quick */
   3,		/* invokesuper_quick */
   3,		/* invokestatic_quick */
   5,		/* invokeinterface_quick */
   3,		/* invokevirtualobject_quick */
   3,		/* invokeignored_quick */
   3,		/* new_quick */
   3,		/* anewarray_quick */
   4,		/* multianewarray_quick */
   3,		/* checkcast_quick */
   3,		/* instanceof_quick */
   3,		/* invokevirtual_quick_w */
   3,		/* getfield_quick_w */
   3,		/* putfield_quick_w */
   1,		/* nonnull_quick */
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
   -1,
};
