VerifyError with obfuscated classes ==================================== While trying to start Opera Mini 4 with MIDPath (SVN revision 216) a VerifyError occurred at some point in the obfuscated code. This problem doesn't occur with JamVM or the Sun VM. Steps to reproduce the problem ------------------------------ 1) Load the debug package : > wget http://midpath.thenesis.org/downloads/midpath-verifyerror-debug-040308.tar.gz > tar -zxvf midpath-verifyerror-debug-040308.tar.gz 2) Load Opera Mini 4.0.10406: > wget http://mini.opera.com/global/opera-mini-4.0.10406-advanced-int.jar 3) Start the script: > ./MIDPath-cacao-debug.sh 4) Add the breakpoint: (gdb) handle SIGILL SIGSEGV SIGPWR SIGXCPU nostop noprint (gdb) break exceptions_throw_verifyerror (gdb) run Result ------ Breakpoint 2, exceptions_throw_verifyerror (m=0x8b132a4, message=0xb7d97120 "Local variable type mismatch") at exceptions.c:1208 1208 if (m != NULL) (gdb) bt #0 exceptions_throw_verifyerror (m=0x8b132a4, message=0xb7d97120 "Local variable type mismatch") at exceptions.c:1208 #1 0xb7d73117 in typecheck (jd=0x862b698) at src/vm/jit/verify/icmds.c:566 #2 0xb7d6091a in jit_compile_intern (jd=0x862b698) at jit.c:699 #3 0xb7d6104b in jit_compile (m=0x8b132a4) at jit.c:414 #4 0xb7d611f2 in jit_compile_handle (m=0x8b132a4, pv=0xb67a2018, ra=0xb67a334b, mptr=0xb680dfd0) at jit.c:1061 #5 0xb7d3f6af in signal_handle (type=9, val=-1233068080, pv=0xb680dfd0, sp=0xb72ded40, ra=0xb67a334b, xpc=0xb67a3349, context=0xb72dea4c) at signal.c:342 #6 0xb7d6068b in md_signal_handler_sigsegv (sig=11, siginfo=0xb72de9cc, _p=0xb72dea4c) at md-os.c:137 #7 #8 0xb680dfd0 in ?? () #9 0xb67a334b in ?? () #10 0x08143e10 in ?? () #11 0x081f81c0 in ?? () #12 0x0811ff80 in ?? () #13 0xb7f198c5 in pthread_getspecific () from /lib/i686/cmov/libpthread.so.0 Previous frame inner to this frame (corrupt stack?) (gdb) f 2 #2 0xb7d6091a in jit_compile_intern (jd=0x862b698) at jit.c:699 699 if (!typecheck(jd)) { (gdb) call show_method(jd, 2) d.Code(Ljavax/microedition/lcdui/Graphics;)Z PRIVATE (mono) (impl) Basic blocks: 78 Variables: 1510 (443 used) Max interfaces: 9 Max locals: 14 Max stack: 9 Linenumbers: 0 Branch to entry: no Branch to end: no Number of RETURNs: 2 Exceptions (Number: 0): Local Table: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: Local Map: index [ 0] [ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] [ 9] [10] [11] [12] [13] INT 0 -- 3 4 5 6 8 10 12 14 16 18 19 20 LNG -- -- -- -- -- -- -- -- -- -- -- -- -- -- FLT -- -- -- -- -- -- -- -- -- -- -- -- -- -- DBL -- -- -- -- -- -- -- -- -- -- -- -- -- -- ADR 1 2 -- -- -- 7 9 11 13 15 17 -- -- 21 Interface Table: (In/Outvars) depth [ 0] [ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] INT i -- -- -- -- -- -- -- -- LNG -- -- -- -- -- -- -- -- -- FLT -- -- -- -- -- -- -- -- -- DBL -- -- -- -- -- -- -- -- -- ADR -- -- -- -- -- -- -- -- -- ======== L000 ======== (flags: 1, bitflags: 0, next: 1, type: STD, icount: 20): IN: javalocals: [L?1 La2 - - - - - - - - - - - -] 0: 0: ICONST 1 (0x00000001) => Li3 0: 1: ISTORE Li3 => L3 (javaindex 2) 0: 2: ICONST 0 (0x00000000) => Li4 0: 3: ISTORE Li4 => L4 (javaindex 3) 0: 4: ICONST 0 (0x00000000) => Li5 0: 5: ISTORE Li5 => L5 (javaindex 4) 0: 6: ACONST 0x080bc000 java/lang/StringBuffer PUBLIC FINAL SYNCHRONIZED => Aa36(M00) 0: 7: BUILTIN Aa36(M00) new => Ta37! 0: 8: COPY Ta37! => Aa38(M00) 0: 9: INVOKESPECIAL Aa38(M00) pass-through: Ta37! java.lang.StringBuffer.()V PUBLIC (mono) (impl) 0: 10: ASTORE Ta37! => L7 (javaindex 5) 0: 11: ICONST 0 (0x00000000) => Li8 0: 12: ISTORE Li8 => L8 (javaindex 6) 0: 13: PUTSTATICCONST d.I I PUBLIC STATIC 0: 14: NOP 0: 15: PUTSTATICCONST d.Z I PUBLIC STATIC 0: 16: NOP 0: 17: INVOKESTATIC d.J()Z PUBLIC STATIC (mono) (impl) => Ti40 0: 18: IFEQ Ti40 0 (0x00000000) --> L004 0: 19: NOP OUT: ======== L001 ======== (flags: 1, bitflags: 0, next: 2, type: STD, icount: 14): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 20: PUTSTATICCONST d.Z I PUBLIC STATIC 0: 21: NOP 0: 22: GETSTATIC d.I [Ljava/lang/String; PUBLIC STATIC => Ta41 0: 23: ARRAYLENGTH Ta41 => Ti42 0: 24: IMULCONST Ti42 40000 (0x00009c40) => Li4 0: 25: NOP 0: 26: ISTORE Li4 => L4 (javaindex 3) 0: 27: GETSTATIC d.j I PUBLIC STATIC => Ti44 0: 28: COPY Ti44 => Li5 0: 29: ISTORE Li5 => L5 (javaindex 4) 0: 30: ALOAD L1 => L?1 0: 31: GETFIELD L?1 d.ae I PRIVATE, offset: 216 => Ti46 0: 32: IF_ICMPLE Ti44 Ti46 --> L003 0: 33: NOP OUT: ======== L002 ======== (flags: 1, bitflags: 0, next: 3, type: STD, icount: 7): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 34: ALOAD L1 => L?1 0: 35: BUILTIN pass-through: L?1 currentTimeMillis => Tl47 0: 36: PUTFIELD L?1 Tl47 d.b J PRIVATE, offset: 200 0: 37: ALOAD L1 => L?1 0: 38: ILOAD L5 => Li5 0: 39: PUTFIELD L?1 Li5 d.ae I PRIVATE, offset: 216 0: 40: NOP OUT: ======== L003 ======== (flags: 1, bitflags: 0, next: 4, type: STD, icount: 21): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 41: BUILTIN currentTimeMillis => Tl48 0: 42: ALOAD L1 => L?1 0: 43: GETFIELD L?1 d.b J PRIVATE, offset: 200 => Tl49 0: 44: LSUB Tl48 Tl49 => Tl50 0: 45: L2I Tl50 => Li8 0: 46: ISTORE Li8 => L8 (javaindex 6) 0: 47: ILOAD L5 => Li5 0: 48: IMULCONST Li5 40000 (0x00009c40) => Ti52 0: 49: NOP 0: 50: ILOAD L8 => Li8 0: 51: IADD Ti52 Li8 => Li5 0: 52: ISTORE Li5 => L5 (javaindex 4) 0: 53: ALOAD L7 => La7 0: 54: ICONST 93 (0x0000005d) => Ai54(M00) 0: 55: INVOKESTATIC Ai54(M00) pass-through: La7 d.I(I)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => Aa55(M08) 0: 56: INVOKEVIRTUAL La7 Aa55(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta56 0: 57: POP Ta56 0: 58: ICONST 2 (0x00000002) => Li8 0: 59: ISTORE Li8 => L8 (javaindex 6) 0: 60: GOTO --> L015 0: 61: NOP OUT: ======== L004 ======== (flags: 1, bitflags: 0, next: 5, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 62: GETSTATIC d.P I PUBLIC STATIC => Ti58 0: 63: IFLT Ti58 0 (0x00000000) --> L006 0: 64: NOP OUT: ======== L005 ======== (flags: 1, bitflags: 0, next: 6, type: STD, icount: 8): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 65: ICONST 165743 (0x0002876f) => Li4 0: 66: ISTORE Li4 => L4 (javaindex 3) 0: 67: GETSTATIC d.P I PUBLIC STATIC => Li5 0: 68: ISTORE Li5 => L5 (javaindex 4) 0: 69: ICONST 2 (0x00000002) => Li8 0: 70: ISTORE Li8 => L8 (javaindex 6) 0: 71: GOTO --> L015 0: 72: NOP OUT: ======== L006 ======== (flags: 1, bitflags: 0, next: 7, type: STD, icount: 8): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 73: ALOAD L1 => L?1 0: 74: ICONST 1 (0x00000001) => Ai62(M08) 0: 75: INVOKESPECIAL L?1 Ai62(M08) d.Code(I)LJ; PUBLIC FINAL (mono) (impl) => Aa63(M00) 0: 76: INVOKESPECIAL Aa63(M00) J.Code()LCode; PUBLIC FINAL (mono) (impl) => Ta64 0: 77: COPY Ta64 => L?11 0: 78: ASTORE L?11 => L11 (javaindex 7) 0: 79: IFNULL Ta64 --> L014 0: 80: NOP OUT: ======== L007 ======== (flags: 1, bitflags: 0, next: 8, type: STD, icount: 12): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 81: PUTSTATICCONST d.Z I PUBLIC STATIC 0: 82: NOP 0: 83: ALOAD L11 => L?11 0: 84: INVOKESPECIAL L?11 Code.Code()I PUBLIC FINAL (mono) (impl) => Li4 0: 85: ISTORE Li4 => L4 (javaindex 3) 0: 86: ALOAD L11 => L?11 0: 87: INVOKESPECIAL L?11 Code.I()I PUBLIC FINAL (mono) (impl) => Li5 0: 88: ISTORE Li5 => L5 (javaindex 4) 0: 89: ALOAD L11 => L?11 0: 90: GETFIELD L?11 Code.Z I PUBLIC, offset: 116 => Ti68 0: 91: TABLESWITCH Ti68 high=4 low=1 count=4 0 --> L015 1 --> L008 2 --> L011 3 --> L012 0: 92: NOP OUT: ======== L008 ======== (flags: 1, bitflags: 0, next: 9, type: STD, icount: 5): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 93: GETSTATIC d.b Ljava/lang/String; PUBLIC STATIC => Aa69(M00) 0: 94: ACONST 0x090b0020 "socket://" => Aa70(M08) 0: 95: INVOKESTATIC Aa69(M00) Aa70(M08) d.I(Ljava/lang/String;Ljava/lang/String;)Z PUBLIC STATIC (mono) (impl) => Ti71 0: 96: IFEQ Ti71 0 (0x00000000) --> L010 0: 97: NOP OUT: ======== L009 ======== (flags: 1, bitflags: 0, next: 10, type: STD, icount: 9): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 98: ALOAD L7 => La7 0: 99: ICONST 21 (0x00000015) => Ai72(M00) 0: 100: INVOKESTATIC Ai72(M00) pass-through: La7 d.I(I)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => Aa73(M08) 0: 101: INVOKEVIRTUAL La7 Aa73(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta74 0: 102: POP Ta74 0: 103: ICONST 1 (0x00000001) => Li8 0: 104: ISTORE Li8 => L8 (javaindex 6) 0: 105: GOTO --> L015 0: 106: NOP OUT: ======== L010 ======== (flags: 1, bitflags: 0, next: 11, type: STD, icount: 9): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 107: ALOAD L7 => La7 0: 108: ICONST 23 (0x00000017) => Ai76(M00) 0: 109: INVOKESTATIC Ai76(M00) pass-through: La7 d.I(I)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => Aa77(M08) 0: 110: INVOKEVIRTUAL La7 Aa77(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta78 0: 111: POP Ta78 0: 112: ICONST 1 (0x00000001) => Li8 0: 113: ISTORE Li8 => L8 (javaindex 6) 0: 114: GOTO --> L015 0: 115: NOP OUT: ======== L011 ======== (flags: 1, bitflags: 0, next: 12, type: STD, icount: 9): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 116: ALOAD L7 => La7 0: 117: ICONST 23 (0x00000017) => Ai80(M00) 0: 118: INVOKESTATIC Ai80(M00) pass-through: La7 d.I(I)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => Aa81(M08) 0: 119: INVOKEVIRTUAL La7 Aa81(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta82 0: 120: POP Ta82 0: 121: ICONST 1 (0x00000001) => Li8 0: 122: ISTORE Li8 => L8 (javaindex 6) 0: 123: GOTO --> L015 0: 124: NOP OUT: ======== L012 ======== (flags: 1, bitflags: 0, next: 13, type: STD, icount: 9): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 125: ALOAD L7 => La7 0: 126: ICONST 24 (0x00000018) => Ai84(M00) 0: 127: INVOKESTATIC Ai84(M00) pass-through: La7 d.I(I)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => Aa85(M08) 0: 128: INVOKEVIRTUAL La7 Aa85(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta86 0: 129: POP Ta86 0: 130: ALOAD L11 => L?11 0: 131: INVOKESPECIAL L?11 Code.Z()I PUBLIC FINAL (mono) (impl) => Ti87 0: 132: IFLE Ti87 0 (0x00000000) --> L015 0: 133: NOP OUT: ======== L013 ======== (flags: 1, bitflags: 0, next: 14, type: STD, icount: 19): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 134: ALOAD L7 => La7 0: 135: ICONST 32 (0x00000020) => Ai88(M08) 0: 136: INVOKEVIRTUAL La7 Ai88(M08) java.lang.StringBuffer.append(C)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta89! 0: 137: ALOAD L11 => L?11 0: 138: INVOKESPECIAL L?11 pass-through: Ta89! Code.Z()I PUBLIC FINAL (mono) (impl) => Ti90 0: 139: ICONST 1000 (0x000003e8) => Ti91 0: 140: IDIV Ti90 Ti91 => Ai92(M08) 0: 141: INVOKEVIRTUAL Ta89! Ai92(M08) java.lang.StringBuffer.append(I)Ljava/lang/StringBuffer; PUBLIC (mono) (impl) => Aa93(M00) 0: 142: ICONST 47 (0x0000002f) => Ai94(M08) 0: 143: INVOKEVIRTUAL Aa93(M00) Ai94(M08) java.lang.StringBuffer.append(C)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Aa95(M00) 0: 144: ILOAD L4 => Li4 0: 145: ICONST 1000 (0x000003e8) => Ti96 0: 146: IDIV Li4 Ti96 => Ai97(M08) 0: 147: INVOKEVIRTUAL Aa95(M00) Ai97(M08) java.lang.StringBuffer.append(I)Ljava/lang/StringBuffer; PUBLIC (mono) (impl) => Aa98(M00) 0: 148: ACONST 0x090acdc0 " kB" => Aa99(M08) 0: 149: INVOKEVIRTUAL Aa98(M00) Aa99(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta100 0: 150: POP Ta100 0: 151: GOTO --> L015 0: 152: NOP OUT: ======== L014 ======== (flags: 1, bitflags: 0, next: 15, type: STD, icount: 6): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 L?11 - - - - - -] 0: 153: ICONST 0 (0x00000000) => Li3 0: 154: ISTORE Li3 => L3 (javaindex 2) 0: 155: ALOAD L1 => L?1 0: 156: INVOKESPECIAL L?1 d.Code()LJ; PUBLIC FINAL (mono) (impl) => Aa102(M00) 0: 157: INVOKESPECIAL Aa102(M00) J.J()V PUBLIC FINAL (mono) (impl) 0: 158: NOP OUT: ======== L015 ======== (flags: 1, bitflags: 0, next: 16, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 159: ALOAD L2 => La2 0: 160: IFNONNULL La2 --> L017 0: 161: NOP OUT: ======== L016 ======== (flags: 1, bitflags: 0, next: 17, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 162: ILOAD L3 => Li3 0: 163: IRETURN Li3 0: 164: NOP OUT: ======== L017 ======== (flags: 1, bitflags: 0, next: 18, type: STD, icount: 47): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 - - - - - - -] 0: 165: ALOAD L1 => L?1 0: 166: INVOKEVIRTUAL L?1 javax.microedition.lcdui.Displayable.getHeight()I PUBLIC (impl) => Ti103 0: 167: ALOAD L1 => L?1 0: 168: GETFIELD L?1 d.a I PUBLIC, offset: 144 => Ti104 0: 169: ISUB Ti103 Ti104 => Li10 0: 170: ISTORE Li10 => L10 (javaindex 7) 0: 171: ALOAD L1 => L?1 0: 172: INVOKEVIRTUAL L?1 javax.microedition.lcdui.Displayable.getWidth()I PUBLIC (impl) => L?12 0: 173: ISTORE L?12 => L12 (javaindex 8) 0: 174: ALOAD L1 => L?1 0: 175: GETFIELD L?1 d.a I PUBLIC, offset: 144 => L?14 0: 176: ISTORE L?14 => L14 (javaindex 9) 0: 177: ALOAD L2 => La2 0: 178: INVOKEVIRTUAL La2 javax.microedition.lcdui.Graphics.getClipX()I PUBLIC SYNCHRONIZED (mono) (impl) => Ti108 0: 179: POP Ti108 0: 180: ALOAD L2 => La2 0: 181: INVOKEVIRTUAL La2 javax.microedition.lcdui.Graphics.getClipY()I PUBLIC SYNCHRONIZED (mono) (impl) => Ti109 0: 182: POP Ti109 0: 183: ALOAD L2 => La2 0: 184: INVOKEVIRTUAL La2 javax.microedition.lcdui.Graphics.getClipWidth()I PUBLIC SYNCHRONIZED (mono) (impl) => Ti110 0: 185: POP Ti110 0: 186: ALOAD L2 => La2 0: 187: INVOKEVIRTUAL La2 javax.microedition.lcdui.Graphics.getClipHeight()I PUBLIC SYNCHRONIZED (mono) (impl) => Ti111 0: 188: POP Ti111 0: 189: ALOAD L2 => La2 0: 190: GETSTATIC d.I [I PUBLIC STATIC => Ta112 0: 191: ICONST 26 (0x0000001a) => Ti113 0: 192: IALOAD Ta112 Ti113 => Ai114(M08) 0: 193: INVOKEVIRTUAL La2 Ai114(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 194: ALOAD L2 => La2 0: 195: ICONST 0 (0x00000000) => Ai115(M08) 0: 196: ILOAD L10 => Li10 0: 197: ILOAD L12 => L?12 0: 198: ISUBCONST L?12 1 (0x00000001) => Ai116(M24) 0: 199: NOP 0: 200: ILOAD L10 => Li10 0: 201: INVOKEVIRTUAL La2 Ai115(M08) Li10 Ai116(M24) Li10 javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 202: ICONST 0 (0x00000000) => Ai117(M00) 0: 203: ILOAD L14 => L?14 0: 204: ALOAD L1 => L?1 0: 205: GETFIELD L?1 d.b I PUBLIC, offset: 148 => Ti118 0: 206: ISUB L?14 Ti118 => Ai119(M08) 0: 207: INVOKESTATIC Ai117(M00) Ai119(M08) java.lang.Math.max(II)I PUBLIC STATIC (mono) (impl) => Ti120 0: 208: COPY Ti120 => L?14 0: 209: ISTORE L?14 => L14 (javaindex 9) 0: 210: IFLE Ti120 0 (0x00000000) --> L019 0: 211: NOP OUT: ======== L018 ======== (flags: 1, bitflags: 0, next: 19, type: STD, icount: 14): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?14 - - - -] 0: 212: ALOAD L2 => La2 0: 213: ICONST 0 (0x00000000) => Ti122! 0: 214: ILOAD L10 => Li10 0: 215: IADDCONST Li10 1 (0x00000001) => Ti123! 0: 216: NOP 0: 217: ALOAD L1 => L?1 0: 218: INVOKEVIRTUAL L?1 pass-through: Ti123! Ti122! La2 javax.microedition.lcdui.Displayable.getWidth()I PUBLIC (impl) => Ai124(M24) 0: 219: ILOAD L14 => L?14 0: 220: ALOAD L1 => L?1 0: 221: GETFIELD L?1 d.Z [I PUBLIC, offset: 152 => Ta125 0: 222: ICONST 0 (0x00000000) => Ti126 0: 223: IALOAD Ta125 Ti126 => Ai127(M40) 0: 224: INVOKESTATIC La2 Ti122! Ti123! Ai124(M24) L?14 Ai127(M40) d.Code(Ljavax/microedition/lcdui/Graphics;IIIII)V PUBLIC STATIC (mono) (impl) 0: 225: NOP OUT: ======== L019 ======== (flags: 1, bitflags: 0, next: 20, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?14 - - - -] 0: 226: IINC L14 1 (0x00000001) => L14 0: 227: ICONST 0 (0x00000000) => Li16 0: 228: ISTORE Li16 => L16 (javaindex 10) OUT: ======== L020 ======== (flags: 1, bitflags: 1, next: 21, type: STD, icount: 5): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?14 Li16 - - -] 0: 229: ILOAD L16 => Li16 0: 230: ALOAD L1 => L?1 0: 231: GETFIELD L?1 d.b I PUBLIC, offset: 148 => Ti129 0: 232: IF_ICMPGE Li16 Ti129 --> L022 0: 233: NOP OUT: ======== L021 ======== (flags: 1, bitflags: 0, next: 22, type: STD, icount: 25): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?14 Li16 - - -] 0: 234: ALOAD L2 => La2 0: 235: ALOAD L1 => L?1 0: 236: GETFIELD L?1 d.Z [I PUBLIC, offset: 152 => Ta130 0: 237: ILOAD L16 => Li16 0: 238: IALOAD Ta130 Li16 => Ai131(M08) 0: 239: INVOKEVIRTUAL La2 Ai131(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 240: ALOAD L2 => La2 0: 241: ICONST 0 (0x00000000) => Ai132(M08) 0: 242: ILOAD L10 => Li10 0: 243: ILOAD L16 => Li16 0: 244: IADD Li10 Li16 => Ti133 0: 245: ILOAD L14 => L?14 0: 246: IADD Ti133 L?14 => Ai134(M16) 0: 247: ILOAD L12 => L?12 0: 248: ISUBCONST L?12 1 (0x00000001) => Ai135(M24) 0: 249: NOP 0: 250: ILOAD L10 => Li10 0: 251: ILOAD L16 => Li16 0: 252: IADD Li10 Li16 => Ti136 0: 253: ILOAD L14 => L?14 0: 254: IADD Ti136 L?14 => Ai137(M32) 0: 255: INVOKEVIRTUAL La2 Ai132(M08) Ai134(M16) Ai135(M24) Ai137(M32) javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 256: IINC L16 1 (0x00000001) => L16 0: 257: GOTO --> L020 0: 258: NOP OUT: ======== L022 ======== (flags: 1, bitflags: 0, next: 23, type: STD, icount: 37): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?14 Li16 - - -] 0: 259: GETSTATIC d.Code [Ljavax/microedition/lcdui/Command; PUBLIC STATIC FINAL => Ta138 0: 260: GETSTATIC d.I I PUBLIC STATIC => Ti139 0: 261: AALOAD Ta138 Ti139 => Aa140(M00) 0: 262: INVOKEVIRTUAL Aa140(M00) javax.microedition.lcdui.Command.getLabel()Ljava/lang/String; PUBLIC (mono) (impl) => L?15 0: 263: ASTORE L?15 => L15 (javaindex 9) 0: 264: GETSTATIC d.Code [Ljavax/microedition/lcdui/Command; PUBLIC STATIC FINAL => Ta142 0: 265: GETSTATIC d.Z I PUBLIC STATIC => Ti143 0: 266: AALOAD Ta142 Ti143 => Aa144(M00) 0: 267: INVOKEVIRTUAL Aa144(M00) javax.microedition.lcdui.Command.getLabel()Ljava/lang/String; PUBLIC (mono) (impl) => L?17 0: 268: ASTORE L?17 => L17 (javaindex 10) 0: 269: ICONST 1 (0x00000001) => Ai146(M00) 0: 270: ALOAD L15 => L?15 0: 271: INVOKESTATIC Ai146(M00) L?15 d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Ti147 0: 272: IADDCONST Ti147 4 (0x00000004) => Li18 0: 273: NOP 0: 274: ISTORE Li18 => L18 (javaindex 11) 0: 275: ICONST 1 (0x00000001) => Ai149(M00) 0: 276: ALOAD L17 => L?17 0: 277: INVOKESTATIC Ai149(M00) L?17 d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Ti150 0: 278: GETSTATIC d.Z I PUBLIC STATIC => Ti151 0: 279: ISUBCONST Ti151 18 (0x00000012) => Ti152 0: 280: NOP 0: 281: COPY Ti152 => Ti153 0: 282: INEG Ti153 => Ti154 0: 283: IOR Ti152 Ti154 => Ti155 0: 284: IUSHRCONST Ti155 31 (0x0000001f) => Ti156 0: 285: NOP 0: 286: ISHLCONST Ti156 2 (0x00000002) => Ti157 0: 287: NOP 0: 288: IADD Ti150 Ti157 => Li19 0: 289: ISTORE Li19 => L19 (javaindex 12) 0: 290: ILOAD L18 => Li18 0: 291: ILOAD L19 => Li19 0: 292: IADD Li18 Li19 => Ti159 0: 293: ILOAD L12 => L?12 0: 294: IF_ICMPLT Ti159 L?12 --> L024 0: 295: NOP OUT: ======== L023 ======== (flags: 1, bitflags: 0, next: 24, type: STD, icount: 15): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 -] 0: 296: ICONST 1 (0x00000001) => Ai160(M00) 0: 297: ALOAD L17 => L?17 0: 298: ILOAD L12 => L?12 0: 299: ILOAD L18 => Li18 0: 300: ISUB L?12 Li18 => Ti161 0: 301: ISUBCONST Ti161 1 (0x00000001) => Ai162(M16) 0: 302: NOP 0: 303: ACONST 0x0840d948 "." => Aa163(M24) 0: 304: INVOKESTATIC Ai160(M00) L?17 Ai162(M16) Aa163(M24) d.Code(ILjava/lang/String;ILjava/lang/String;)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => L?17 0: 305: ASTORE L?17 => L17 (javaindex 10) 0: 306: ICONST 1 (0x00000001) => Ai165(M00) 0: 307: ALOAD L17 => L?17 0: 308: INVOKESTATIC Ai165(M00) L?17 d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Li19 0: 309: ISTORE Li19 => L19 (javaindex 12) 0: 310: NOP OUT: ======== L024 ======== (flags: 1, bitflags: 0, next: 25, type: STD, icount: 6): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 -] 0: 311: ICONST 0 (0x00000000) => Li20 0: 312: ISTORE Li20 => L20 (javaindex 13) 0: 313: GETSTATIC d.Z I PUBLIC STATIC => Ti168 0: 314: NOP 0: 315: IFNE Ti168 12 (0x0000000c) --> L027 0: 316: NOP OUT: ======== L025 ======== (flags: 1, bitflags: 0, next: 26, type: STD, icount: 12): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 317: ILOAD L18 => Li18 0: 318: ILOAD L19 => Li19 0: 319: IADD Li18 Li19 => Ti169! 0: 320: ALOAD L1 => L?1 0: 321: GETFIELD L?1 d.J Ljavax/microedition/lcdui/Image; PUBLIC, offset: 192 => Aa170(M00) 0: 322: INVOKEVIRTUAL Aa170(M00) pass-through: Ti169! javax.microedition.lcdui.Image.getWidth()I PUBLIC (mono) (impl) => Ti171 0: 323: IADD Ti169! Ti171 => Ti172 0: 324: IADDCONST Ti172 2 (0x00000002) => Ti173 0: 325: NOP 0: 326: ILOAD L12 => L?12 0: 327: IF_ICMPGE Ti173 L?12 --> L027 0: 328: NOP OUT: ======== L026 ======== (flags: 1, bitflags: 0, next: 27, type: STD, icount: 9): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 329: ICONST 1 (0x00000001) => Li20 0: 330: ISTORE Li20 => L20 (javaindex 13) 0: 331: ILOAD L19 => Li19 0: 332: ALOAD L1 => L?1 0: 333: GETFIELD L?1 d.J Ljavax/microedition/lcdui/Image; PUBLIC, offset: 192 => Aa175(M00) 0: 334: INVOKEVIRTUAL Aa175(M00) pass-through: Li19 javax.microedition.lcdui.Image.getWidth()I PUBLIC (mono) (impl) => Ti176 0: 335: IADD Li19 Ti176 => Li19 0: 336: ISTORE Li19 => L19 (javaindex 12) 0: 337: NOP OUT: ======== L027 ======== (flags: 1, bitflags: 0, next: 28, type: STD, icount: 12): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 338: ALOAD L2 => La2 0: 339: GETSTATIC d.I [I PUBLIC STATIC => Ta178 0: 340: ICONST 1 (0x00000001) => Ti179 0: 341: IALOAD Ta178 Ti179 => Ai180(M08) 0: 342: INVOKEVIRTUAL La2 Ai180(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 343: ALOAD L1 => L?1 0: 344: GETFIELD L?1 d.J Ljava/lang/Object; PRIVATE, offset: 132 => Ta181 0: 345: GETSTATIC d.Code [Ljavax/microedition/lcdui/Command; PUBLIC STATIC FINAL => Ta182 0: 346: GETSTATIC d.I I PUBLIC STATIC => Ti183 0: 347: AALOAD Ta182 Ti183 => Ta184 0: 348: IF_ACMPNE Ta181 Ta184 --> L029 0: 349: NOP OUT: ======== L028 ======== (flags: 1, bitflags: 0, next: 29, type: STD, icount: 15): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 350: ALOAD L2 => La2 0: 351: ICONST 0 (0x00000000) => Ai185(M08) 0: 352: ILOAD L10 => Li10 0: 353: ILOAD L18 => Li18 0: 354: ALOAD L1 => L?1 0: 355: GETFIELD L?1 d.a I PUBLIC, offset: 144 => Ti186 0: 356: ISUBCONST Ti186 1 (0x00000001) => Ai187(M32) 0: 357: NOP 0: 358: INVOKESTATIC La2 Ai185(M08) Li10 Li18 Ai187(M32) d.Code(Ljavax/microedition/lcdui/Graphics;IIII)V PUBLIC STATIC (mono) (impl) 0: 359: ALOAD L2 => La2 0: 360: GETSTATIC d.I [I PUBLIC STATIC => Ta188 0: 361: ICONST 2 (0x00000002) => Ti189 0: 362: IALOAD Ta188 Ti189 => Ai190(M08) 0: 363: INVOKEVIRTUAL La2 Ai190(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 364: NOP OUT: ======== L029 ======== (flags: 1, bitflags: 0, next: 30, type: STD, icount: 19): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 365: ALOAD L1 => L?1 0: 366: ALOAD L2 => La2 0: 367: ICONST 1 (0x00000001) => Ai191(M16) 0: 368: ALOAD L15 => L?15 0: 369: ICONST 2 (0x00000002) => Ai192(M32) 0: 370: ICONST 20 (0x00000014) => Ai193(M40) 0: 371: INVOKESPECIAL L?1 La2 Ai191(M16) L?15 Ai192(M32) Ai193(M40) d.Code(Ljavax/microedition/lcdui/Graphics;ILjava/lang/String;II)V PRIVATE (mono) (impl) 0: 372: ALOAD L2 => La2 0: 373: GETSTATIC d.I [I PUBLIC STATIC => Ta194 0: 374: ICONST 1 (0x00000001) => Ti195 0: 375: IALOAD Ta194 Ti195 => Ai196(M08) 0: 376: INVOKEVIRTUAL La2 Ai196(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 377: ALOAD L1 => L?1 0: 378: GETFIELD L?1 d.J Ljava/lang/Object; PRIVATE, offset: 132 => Ta197 0: 379: GETSTATIC d.Code [Ljavax/microedition/lcdui/Command; PUBLIC STATIC FINAL => Ta198 0: 380: GETSTATIC d.Z I PUBLIC STATIC => Ti199 0: 381: AALOAD Ta198 Ti199 => Ta200 0: 382: IF_ACMPNE Ta197 Ta200 --> L032 0: 383: NOP OUT: ======== L030 ======== (flags: 1, bitflags: 0, next: 31, type: STD, icount: 19): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 384: ALOAD L2 => La2 0: 385: ILOAD L12 => L?12 0: 386: ILOAD L19 => Li19 0: 387: ISUB L?12 Li19 => Ai201(M08) 0: 388: ILOAD L10 => Li10 0: 389: ILOAD L19 => Li19 0: 390: ALOAD L1 => L?1 0: 391: GETFIELD L?1 d.a I PUBLIC, offset: 144 => Ti202 0: 392: ISUBCONST Ti202 1 (0x00000001) => Ai203(M32) 0: 393: NOP 0: 394: INVOKESTATIC La2 Ai201(M08) Li10 Li19 Ai203(M32) d.Code(Ljavax/microedition/lcdui/Graphics;IIII)V PUBLIC STATIC (mono) (impl) 0: 395: ALOAD L2 => La2 0: 396: GETSTATIC d.I [I PUBLIC STATIC => Ta204 0: 397: ICONST 2 (0x00000002) => Ti205 0: 398: IALOAD Ta204 Ti205 => Ai206(M08) 0: 399: INVOKEVIRTUAL La2 Ai206(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 400: ILOAD L20 => Li20 0: 401: IFEQ Li20 0 (0x00000000) --> L034 0: 402: NOP OUT: ======== L031 ======== (flags: 1, bitflags: 0, next: 32, type: STD, icount: 21): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 403: ALOAD L2 => La2 0: 404: ALOAD L1 => L?1 0: 405: GETFIELD L?1 d.J Ljavax/microedition/lcdui/Image; PUBLIC, offset: 192 => Ta207! 0: 406: ILOAD L12 => L?12 0: 407: ILOAD L19 => Li19 0: 408: ISUB L?12 Li19 => Ti208 0: 409: IADDCONST Ti208 1 (0x00000001) => Ti209! 0: 410: NOP 0: 411: ALOAD L1 => L?1 0: 412: INVOKEVIRTUAL L?1 pass-through: Ti209! Ta207! La2 javax.microedition.lcdui.Displayable.getHeight()I PUBLIC (impl) => Ti210! 0: 413: ALOAD L1 => L?1 0: 414: GETFIELD L?1 d.J Ljavax/microedition/lcdui/Image; PUBLIC, offset: 192 => Aa211(M00) 0: 415: INVOKEVIRTUAL Aa211(M00) pass-through: Ti210! Ti209! Ta207! La2 javax.microedition.lcdui.Image.getHeight()I PUBLIC (mono) (impl) => Ti212 0: 416: ISUB Ti210! Ti212 => Ti213 0: 417: ALOAD L1 => L?1 0: 418: GETFIELD L?1 d.f I PUBLIC, offset: 112 => Ti214 0: 419: ISUB Ti213 Ti214 => Ai215(M24) 0: 420: ICONST 20 (0x00000014) => Ai216(M32) 0: 421: INVOKEVIRTUAL La2 Ta207! Ti209! Ai215(M24) Ai216(M32) javax.microedition.lcdui.Graphics.drawImage(Ljavax/microedition/lcdui/Image;III)V PUBLIC (mono) (impl) 0: 422: GOTO --> L034 0: 423: NOP OUT: ======== L032 ======== (flags: 1, bitflags: 0, next: 33, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 424: ILOAD L20 => Li20 0: 425: IFEQ Li20 0 (0x00000000) --> L034 0: 426: NOP OUT: ======== L033 ======== (flags: 1, bitflags: 0, next: 34, type: STD, icount: 20): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 427: ALOAD L2 => La2 0: 428: ALOAD L1 => L?1 0: 429: GETFIELD L?1 d.B Ljavax/microedition/lcdui/Image; PUBLIC, offset: 196 => Ta217! 0: 430: ILOAD L12 => L?12 0: 431: ILOAD L19 => Li19 0: 432: ISUB L?12 Li19 => Ti218 0: 433: IADDCONST Ti218 1 (0x00000001) => Ti219! 0: 434: NOP 0: 435: ALOAD L1 => L?1 0: 436: INVOKEVIRTUAL L?1 pass-through: Ti219! Ta217! La2 javax.microedition.lcdui.Displayable.getHeight()I PUBLIC (impl) => Ti220! 0: 437: ALOAD L1 => L?1 0: 438: GETFIELD L?1 d.J Ljavax/microedition/lcdui/Image; PUBLIC, offset: 192 => Aa221(M00) 0: 439: INVOKEVIRTUAL Aa221(M00) pass-through: Ti220! Ti219! Ta217! La2 javax.microedition.lcdui.Image.getHeight()I PUBLIC (mono) (impl) => Ti222 0: 440: ISUB Ti220! Ti222 => Ti223 0: 441: ALOAD L1 => L?1 0: 442: GETFIELD L?1 d.f I PUBLIC, offset: 112 => Ti224 0: 443: ISUB Ti223 Ti224 => Ai225(M24) 0: 444: ICONST 20 (0x00000014) => Ai226(M32) 0: 445: INVOKEVIRTUAL La2 Ta217! Ti219! Ai225(M24) Ai226(M32) javax.microedition.lcdui.Graphics.drawImage(Ljavax/microedition/lcdui/Image;III)V PUBLIC (mono) (impl) 0: 446: NOP OUT: ======== L034 ======== (flags: 1, bitflags: 0, next: 35, type: STD, icount: 12): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 447: ALOAD L1 => L?1 0: 448: ALOAD L2 => La2 0: 449: ICONST 1 (0x00000001) => Ai227(M16) 0: 450: ALOAD L17 => L?17 0: 451: ILOAD L12 => L?12 0: 452: ISUBCONST L?12 2 (0x00000002) => Ai228(M32) 0: 453: NOP 0: 454: ICONST 24 (0x00000018) => Ai229(M40) 0: 455: INVOKESPECIAL L?1 La2 Ai227(M16) L?17 Ai228(M32) Ai229(M40) d.Code(Ljavax/microedition/lcdui/Graphics;ILjava/lang/String;II)V PRIVATE (mono) (impl) 0: 456: ILOAD L3 => Li3 0: 457: IFEQ Li3 0 (0x00000000) --> L053 0: 458: NOP OUT: ======== L035 ======== (flags: 1, bitflags: 0, next: 36, type: STD, icount: 50): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 459: ALOAD L1 => L?1 0: 460: ALOAD L2 => Ta236! 0: 461: ALOAD L1 => L?1 0: 462: INVOKEVIRTUAL L?1 pass-through: Ta236! L?1 javax.microedition.lcdui.Displayable.getHeight()I PUBLIC (impl) => Ti230 0: 463: ALOAD L1 => L?1 0: 464: GETFIELD L?1 d.a I PUBLIC, offset: 144 => Ti231 0: 465: ISUB Ti230 Ti231 => Ti232! 0: 466: ALOAD L1 => L?1 0: 467: INVOKEVIRTUAL L?1 pass-through: Ti232! Ta236! L?1 javax.microedition.lcdui.Displayable.getWidth()I PUBLIC (impl) => Ti233 0: 468: ILOAD L19 => Li19 0: 469: ISUB Ti233 Li19 => Ti234 0: 470: ALOAD L1 => L?1 0: 471: GETFIELD L?1 d.a I PUBLIC, offset: 144 => L?6 0: 472: ILOAD L5 => Li5 0: 473: ILOAD L4 => Li4 0: 474: ALOAD L7 => La7 0: 475: ILOAD L8 => Li8 0: 476: ISTORE Li8 => L0 (javaindex 0) 0: 477: ASTORE La7 => L2 (javaindex 1) 0: 478: ISTORE Li4 => L4 (javaindex 3) 0: 479: ISTORE Li5 => L5 (javaindex 4) 0: 480: ISTORE L?6 => L6 (javaindex 5) 0: 481: ISTORE Ti234 => L8 (javaindex 6) 0: 482: ISTORE Ti232! => L10 (javaindex 7) 0: 483: ASTORE Ta236! => L13 (javaindex 8) 0: 484: ASTORE L?1 => L15 (javaindex 9) 0: 485: ILOAD L4 => Li4 0: 486: ICONST 0 (0x00000000) => Ai237(M00) 0: 487: ILOAD L5 => Li5 0: 488: INVOKESTATIC Ai237(M00) Li5 pass-through: Li4 java.lang.Math.max(II)I PUBLIC STATIC (mono) (impl) => Ai238(M08) 0: 489: INVOKESTATIC Li4 Ai238(M08) java.lang.Math.min(II)I PUBLIC STATIC (mono) (impl) => Li5 0: 490: ISTORE Li5 => L5 (javaindex 4) 0: 491: ALOAD L13 => La13 0: 492: GETSTATIC d.I [I PUBLIC STATIC => Ta240 0: 493: ICONST 26 (0x0000001a) => Ti241 0: 494: IALOAD Ta240 Ti241 => Ai242(M08) 0: 495: INVOKEVIRTUAL La13 Ai242(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 496: ALOAD L13 => La13 0: 497: ICONST 0 (0x00000000) => Ai243(M08) 0: 498: ILOAD L10 => Li10 0: 499: ILOAD L8 => Li8 0: 500: ISUBCONST Li8 1 (0x00000001) => Ai244(M24) 0: 501: NOP 0: 502: ILOAD L6 => L?6 0: 503: INVOKEVIRTUAL La13 Ai243(M08) Li10 Ai244(M24) L?6 javax.microedition.lcdui.Graphics.drawRect(IIII)V PUBLIC (impl) 0: 504: IINC L10 1 (0x00000001) => L10 0: 505: IINC L8 -2 (0xfffffffe) => L8 0: 506: ILOAD L4 => Li4 0: 507: IFEQ Li4 0 (0x00000000) --> L037 0: 508: NOP OUT: ======== L036 ======== (flags: 1, bitflags: 0, next: 37, type: STD, icount: 7): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 L?17 Li18 Li19 Li20] 0: 509: ILOAD L8 => Li8 0: 510: ILOAD L5 => Li5 0: 511: IMUL Li8 Li5 => Ti245 0: 512: ILOAD L4 => Li4 0: 513: IDIV Ti245 Li4 => Ii246 0: 514: GOTO --> L038 0: 515: NOP OUT: [Ii246] ======== L037 ======== (flags: 1, bitflags: 0, next: 38, type: STD, icount: 2): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 L?17 Li18 Li19 Li20] 0: 516: ICONST 0 (0x00000000) => Ii248 0: 517: NOP OUT: [Ii248] ======== L038 ======== (flags: 1, bitflags: 0, next: 39, type: STD, icount: 35): IN: [Ii247] javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 L?17 Li18 Li19 Li20] 0: 518: ISTORE Ii247 => L16 (javaindex 10) 0: 519: ALOAD L13 => La13 0: 520: ICONST 1 (0x00000001) => Ai249(M08) 0: 521: ILOAD L10 => Li10 0: 522: ILOAD L16 => Li16 0: 523: ILOAD L6 => L?6 0: 524: GETSTATIC d.I [I PUBLIC STATIC => Ta250 0: 525: ICONST 38 (0x00000026) => Ti251 0: 526: IALOAD Ta250 Ti251 => Ai252(M40) 0: 527: GETSTATIC d.I [I PUBLIC STATIC => Ta253 0: 528: ICONST 39 (0x00000027) => Ti254 0: 529: IALOAD Ta253 Ti254 => Ai255(M48) 0: 530: INVOKESTATIC La13 Ai249(M08) Li10 Li16 L?6 Ai252(M40) Ai255(M48) d.Code(Ljavax/microedition/lcdui/Graphics;IIIIII)V PUBLIC STATIC (mono) (impl) 0: 531: ILOAD L8 => Li8 0: 532: ILOAD L16 => Li16 0: 533: ISUB Li8 Li16 => Li18 0: 534: ISTORE Li18 => L18 (javaindex 11) 0: 535: ALOAD L13 => La13 0: 536: ICONST 1 (0x00000001) => Ti257 0: 537: ILOAD L16 => Li16 0: 538: IADD Ti257 Li16 => Ai258(M08) 0: 539: ILOAD L10 => Li10 0: 540: ILOAD L18 => Li18 0: 541: ILOAD L6 => L?6 0: 542: GETSTATIC d.I [I PUBLIC STATIC => Ta259 0: 543: ICONST 29 (0x0000001d) => Ti260 0: 544: IALOAD Ta259 Ti260 => Ai261(M40) 0: 545: GETSTATIC d.I [I PUBLIC STATIC => Ta262 0: 546: ICONST 30 (0x0000001e) => Ti263 0: 547: IALOAD Ta262 Ti263 => Ai264(M48) 0: 548: INVOKESTATIC La13 Ai258(M08) Li10 Li18 L?6 Ai261(M40) Ai264(M48) d.Code(Ljavax/microedition/lcdui/Graphics;IIIIII)V PUBLIC STATIC (mono) (impl) 0: 549: ILOAD L18 => Li18 0: 550: NOP 0: 551: IFLT Li18 1 (0x00000001) --> L040 0: 552: NOP OUT: ======== L039 ======== (flags: 1, bitflags: 0, next: 40, type: STD, icount: 20): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 553: ALOAD L13 => La13 0: 554: GETSTATIC d.I [I PUBLIC STATIC => Ta265 0: 555: ICONST 21 (0x00000015) => Ti266 0: 556: IALOAD Ta265 Ti266 => Ai267(M08) 0: 557: INVOKEVIRTUAL La13 Ai267(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 558: ALOAD L13 => La13 0: 559: ICONST 1 (0x00000001) => Ti268 0: 560: ILOAD L16 => Li16 0: 561: IADD Ti268 Li16 => Ai269(M08) 0: 562: ILOAD L10 => Li10 0: 563: ICONST 1 (0x00000001) => Ti270 0: 564: ILOAD L16 => Li16 0: 565: IADD Ti270 Li16 => Ai271(M24) 0: 566: ILOAD L10 => Li10 0: 567: ILOAD L6 => L?6 0: 568: IADD Li10 L?6 => Ti272 0: 569: ISUBCONST Ti272 2 (0x00000002) => Ai273(M32) 0: 570: NOP 0: 571: INVOKEVIRTUAL La13 Ai269(M08) Li10 Ai271(M24) Ai273(M32) javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 572: NOP OUT: ======== L040 ======== (flags: 1, bitflags: 0, next: 41, type: STD, icount: 4): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 573: ILOAD L18 => Li18 0: 574: NOP 0: 575: IFLT Li18 2 (0x00000002) --> L042 0: 576: NOP OUT: ======== L041 ======== (flags: 1, bitflags: 0, next: 42, type: STD, icount: 34): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 577: ALOAD L13 => La13 0: 578: GETSTATIC d.I [I PUBLIC STATIC => Ta274 0: 579: ICONST 22 (0x00000016) => Ti275 0: 580: IALOAD Ta274 Ti275 => Ai276(M08) 0: 581: INVOKEVIRTUAL La13 Ai276(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 582: ALOAD L13 => La13 0: 583: ICONST 1 (0x00000001) => Ti277 0: 584: IADDCONST Ti277 1 (0x00000001) => Ti278 0: 585: NOP 0: 586: ILOAD L16 => Li16 0: 587: IADD Ti278 Li16 => Ai279(M08) 0: 588: ILOAD L10 => Li10 0: 589: ICONST 1 (0x00000001) => Ti280 0: 590: IADDCONST Ti280 1 (0x00000001) => Ti281 0: 591: NOP 0: 592: ILOAD L16 => Li16 0: 593: IADD Ti281 Li16 => Ai282(M24) 0: 594: ILOAD L10 => Li10 0: 595: ILOAD L6 => L?6 0: 596: IADD Li10 L?6 => Ti283 0: 597: ISUBCONST Ti283 2 (0x00000002) => Ai284(M32) 0: 598: NOP 0: 599: INVOKEVIRTUAL La13 Ai279(M08) Li10 Ai282(M24) Ai284(M32) javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 600: ALOAD L13 => La13 0: 601: ICONST 1 (0x00000001) => Ti285 0: 602: IADDCONST Ti285 1 (0x00000001) => Ti286 0: 603: NOP 0: 604: ILOAD L16 => Li16 0: 605: IADD Ti286 Li16 => Ai287(M08) 0: 606: ILOAD L10 => Li10 0: 607: ILOAD L8 => Li8 0: 608: ILOAD L10 => Li10 0: 609: INVOKEVIRTUAL La13 Ai287(M08) Li10 Li8 Li10 javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 610: NOP OUT: ======== L042 ======== (flags: 1, bitflags: 0, next: 43, type: STD, icount: 4): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 611: ILOAD L18 => Li18 0: 612: NOP 0: 613: IFLT Li18 3 (0x00000003) --> L044 0: 614: NOP OUT: ======== L043 ======== (flags: 1, bitflags: 0, next: 44, type: STD, icount: 40): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 615: ALOAD L13 => La13 0: 616: GETSTATIC d.I [I PUBLIC STATIC => Ta288 0: 617: ICONST 23 (0x00000017) => Ti289 0: 618: IALOAD Ta288 Ti289 => Ai290(M08) 0: 619: INVOKEVIRTUAL La13 Ai290(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 620: ALOAD L13 => La13 0: 621: ICONST 1 (0x00000001) => Ti291 0: 622: IADDCONST Ti291 2 (0x00000002) => Ti292 0: 623: NOP 0: 624: ILOAD L16 => Li16 0: 625: IADD Ti292 Li16 => Ai293(M08) 0: 626: ILOAD L10 => Li10 0: 627: IADDCONST Li10 1 (0x00000001) => Ai294(M16) 0: 628: NOP 0: 629: ICONST 1 (0x00000001) => Ti295 0: 630: IADDCONST Ti295 2 (0x00000002) => Ti296 0: 631: NOP 0: 632: ILOAD L16 => Li16 0: 633: IADD Ti296 Li16 => Ai297(M24) 0: 634: ILOAD L10 => Li10 0: 635: ILOAD L6 => L?6 0: 636: IADD Li10 L?6 => Ti298 0: 637: ISUBCONST Ti298 2 (0x00000002) => Ai299(M32) 0: 638: NOP 0: 639: INVOKEVIRTUAL La13 Ai293(M08) Ai294(M16) Ai297(M24) Ai299(M32) javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 640: ALOAD L13 => La13 0: 641: ICONST 1 (0x00000001) => Ti300 0: 642: IADDCONST Ti300 2 (0x00000002) => Ti301 0: 643: NOP 0: 644: ILOAD L16 => Li16 0: 645: IADD Ti301 Li16 => Ai302(M08) 0: 646: ILOAD L10 => Li10 0: 647: IADDCONST Li10 1 (0x00000001) => Ai303(M16) 0: 648: NOP 0: 649: ILOAD L8 => Li8 0: 650: ILOAD L10 => Li10 0: 651: IADDCONST Li10 1 (0x00000001) => Ai304(M32) 0: 652: NOP 0: 653: INVOKEVIRTUAL La13 Ai302(M08) Ai303(M16) Li8 Ai304(M32) javax.microedition.lcdui.Graphics.drawLine(IIII)V PUBLIC (impl) 0: 654: NOP OUT: ======== L044 ======== (flags: 1, bitflags: 0, next: 45, type: STD, icount: 9): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 655: ALOAD L13 => La13 0: 656: GETSTATIC d.I [I PUBLIC STATIC => Ta305 0: 657: ICONST 28 (0x0000001c) => Ti306 0: 658: IALOAD Ta305 Ti306 => Ai307(M08) 0: 659: INVOKEVIRTUAL La13 Ai307(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 660: ILOAD L0 => Li0 0: 661: NOP 0: 662: IFNE Li0 2 (0x00000002) --> L046 0: 663: NOP OUT: ======== L045 ======== (flags: 1, bitflags: 0, next: 46, type: STD, icount: 15): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 664: ALOAD L2 => La2 0: 665: ICONST 32 (0x00000020) => Ai308(M08) 0: 666: INVOKEVIRTUAL La2 Ai308(M08) java.lang.StringBuffer.append(C)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta309! 0: 667: ILOAD L5 => Li5 0: 668: IMULCONST Li5 100 (0x00000064) => Ti310! 0: 669: NOP 0: 670: ILOAD L4 => Li4 0: 671: ICONST 1 (0x00000001) => Ai311(M08) 0: 672: INVOKESTATIC Li4 Ai311(M08) pass-through: Ti310! Ta309! java.lang.Math.max(II)I PUBLIC STATIC (mono) (impl) => Ti312 0: 673: IDIV Ti310! Ti312 => Ai313(M08) 0: 674: INVOKEVIRTUAL Ta309! Ai313(M08) java.lang.StringBuffer.append(I)Ljava/lang/StringBuffer; PUBLIC (mono) (impl) => Aa314(M00) 0: 675: ICONST 37 (0x00000025) => Ai315(M08) 0: 676: INVOKEVIRTUAL Aa314(M00) Ai315(M08) java.lang.StringBuffer.append(C)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta316 0: 677: POP Ta316 0: 678: NOP OUT: ======== L046 ======== (flags: 1, bitflags: 0, next: 47, type: STD, icount: 12): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 679: ALOAD L2 => La2 0: 680: INVOKEVIRTUAL La2 java.lang.StringBuffer.length()I PUBLIC SYNCHRONIZED (mono) (impl) => Li4 0: 681: ISTORE Li4 => L4 (javaindex 3) 0: 682: ICONST 0 (0x00000000) => Ti318! 0: 683: ALOAD L2 => La2 0: 684: INVOKEVIRTUAL La2 pass-through: Ti318! java.lang.StringBuffer.toString()Ljava/lang/String; PUBLIC (mono) (impl) => Aa319(M08) 0: 685: INVOKESTATIC Ti318! Aa319(M08) d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Li5 0: 686: ISTORE Li5 => L5 (javaindex 4) 0: 687: ILOAD L0 => Li0 0: 688: NOP 0: 689: IFNE Li0 1 (0x00000001) --> L048 0: 690: NOP OUT: ======== L047 ======== (flags: 1, bitflags: 0, next: 48, type: STD, icount: 17): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 691: BUILTIN currentTimeMillis => Tl321 0: 692: GETSTATIC d.I J PUBLIC STATIC => Tl322 0: 693: LSUB Tl321 Tl322 => Tl323 0: 694: LSHRCONST Tl323 9 (0x00000009) => Tl324 0: 695: NOP 0: 696: L2I Tl324 => Ti325 0: 697: IANDCONST Ti325 3 (0x00000003) => L?6 0: 698: NOP 0: 699: ISTORE L?6 => L6 (javaindex 5) 0: 700: ALOAD L2 => La2 0: 701: ACONST 0x08d5f670 "..." => Aa327(M00) 0: 702: ICONST 0 (0x00000000) => Ai328(M08) 0: 703: ILOAD L6 => L?6 0: 704: INVOKEVIRTUAL Aa327(M00) Ai328(M08) L?6 pass-through: La2 java.lang.String.substring(II)Ljava/lang/String; PUBLIC (mono) (impl) => Aa329(M08) 0: 705: INVOKEVIRTUAL La2 Aa329(M08) java.lang.StringBuffer.append(Ljava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta330 0: 706: POP Ta330 0: 707: NOP OUT: ======== L048 ======== (flags: 1, bitflags: 0, next: 49, type: STD, icount: 17): IN: javalocals: [Li0 La2 Li3 Li4 Li5 L?6 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 708: ALOAD L2 => La2 0: 709: INVOKEVIRTUAL La2 java.lang.StringBuffer.toString()Ljava/lang/String; PUBLIC (mono) (impl) => La7 0: 710: ASTORE La7 => L7 (javaindex 5) 0: 711: ICONST 0 (0x00000000) => Ai332(M00) 0: 712: ALOAD L7 => La7 0: 713: INVOKESTATIC Ai332(M00) La7 d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Li10 0: 714: ISTORE Li10 => L10 (javaindex 7) 0: 715: ILOAD L8 => Li8 0: 716: ILOAD L5 => Li5 0: 717: ISUB Li8 Li5 => Ti334 0: 718: ISHRCONST Ti334 1 (0x00000001) => Ti335 0: 719: NOP 0: 720: ILOAD L10 => Li10 0: 721: IADD Ti335 Li10 => Ti336 0: 722: ILOAD L8 => Li8 0: 723: IF_ICMPLE Ti336 Li8 --> L052 0: 724: NOP OUT: ======== L049 ======== (flags: 1, bitflags: 0, next: 50, type: STD, icount: 9): IN: javalocals: [Li0 La2 Li3 Li4 Li5 La7 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 725: ALOAD L2 => La2 0: 726: ICONST 0 (0x00000000) => Ai337(M08) 0: 727: ILOAD L4 => Li4 0: 728: INVOKEVIRTUAL La2 Ai337(M08) Li4 java.lang.StringBuffer.delete(II)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta338 0: 729: POP Ta338 0: 730: ILOAD L0 => Li0 0: 731: NOP 0: 732: IFEQ Li0 1 (0x00000001) --> L051 0: 733: NOP OUT: ======== L050 ======== (flags: 1, bitflags: 0, next: 51, type: STD, icount: 6): IN: javalocals: [Li0 La2 Li3 Li4 Li5 La7 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 734: ALOAD L2 => La2 0: 735: ICONST 0 (0x00000000) => Ai339(M08) 0: 736: ACONST 0x08d5f670 "..." => Aa340(M16) 0: 737: INVOKEVIRTUAL La2 Ai339(M08) Aa340(M16) java.lang.StringBuffer.insert(ILjava/lang/String;)Ljava/lang/StringBuffer; PUBLIC SYNCHRONIZED (mono) (impl) => Ta341 0: 738: POP Ta341 0: 739: NOP OUT: ======== L051 ======== (flags: 1, bitflags: 0, next: 52, type: STD, icount: 12): IN: javalocals: [Li0 La2 Li3 Li4 Li5 La7 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 740: ICONST 0 (0x00000000) => Ti342! 0: 741: ALOAD L7 => La7 0: 742: ILOAD L8 => Li8 0: 743: ALOAD L2 => La2 0: 744: INVOKEVIRTUAL La2 pass-through: Li8 La7 Ti342! java.lang.StringBuffer.toString()Ljava/lang/String; PUBLIC (mono) (impl) => Aa343(M24) 0: 745: INVOKESTATIC Ti342! La7 Li8 Aa343(M24) d.Code(ILjava/lang/String;ILjava/lang/String;)Ljava/lang/String; PUBLIC STATIC (mono) (impl) => La7 0: 746: ASTORE La7 => L7 (javaindex 5) 0: 747: ICONST 0 (0x00000000) => Ai345(M00) 0: 748: ALOAD L7 => La7 0: 749: INVOKESTATIC Ai345(M00) La7 d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Li5 0: 750: ISTORE Li5 => L5 (javaindex 4) 0: 751: NOP OUT: ======== L052 ======== (flags: 1, bitflags: 0, next: 53, type: STD, icount: 17): IN: javalocals: [Li0 La2 Li3 Li4 Li5 La7 Li8 Li10 La13 L?15 Li16 Li18 Li19 Li20] 0: 752: ALOAD L15 => L?15 0: 753: ALOAD L13 => La13 0: 754: ICONST 0 (0x00000000) => Ai347(M16) 0: 755: ALOAD L7 => La7 0: 756: ICONST 1 (0x00000001) => Ti348 0: 757: ILOAD L8 => Li8 0: 758: ISHRCONST Li8 1 (0x00000001) => Ti349 0: 759: NOP 0: 760: IADD Ti348 Ti349 => Ti350 0: 761: ILOAD L5 => Li5 0: 762: ISHRCONST Li5 1 (0x00000001) => Ti351 0: 763: NOP 0: 764: ISUB Ti350 Ti351 => Ai352(M32) 0: 765: ICONST 20 (0x00000014) => Ai353(M40) 0: 766: INVOKESPECIAL L?15 La13 Ai347(M16) La7 Ai352(M32) Ai353(M40) d.Code(Ljavax/microedition/lcdui/Graphics;ILjava/lang/String;II)V PRIVATE (mono) (impl) 0: 767: GOTO --> L077 0: 768: NOP OUT: ======== L053 ======== (flags: 3, bitflags: 0, next: 54, type: STD, icount: 17): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 769: ICONST 0 (0x00000000) => Ai354(M00) 0: 770: ALOAD L1 => L?1 0: 771: GETFIELD L?1 d.p Ljava/lang/String; PRIVATE, offset: 164 => Aa355(M08) 0: 772: INVOKESTATIC Ai354(M00) Aa355(M08) d.Code(ILjava/lang/String;)I PUBLIC STATIC (mono) (impl) => Li4 0: 773: ISTORE Li4 => L4 (javaindex 3) 0: 774: ILOAD L18 => Li18 0: 775: ILOAD L4 => Li4 0: 776: ISHRCONST Li4 1 (0x00000001) => Ti357 0: 777: NOP 0: 778: IADD Li18 Ti357 => Ti358 0: 779: IADDCONST Ti358 1 (0x00000001) => Ti359 0: 780: NOP 0: 781: ILOAD L12 => L?12 0: 782: ISHRCONST L?12 1 (0x00000001) => Ti360 0: 783: NOP 0: 784: IF_ICMPGE Ti359 Ti360 --> L077 0: 785: NOP OUT: ======== L054 ======== (flags: 2, bitflags: 0, next: 55, type: STD, icount: 12): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 786: ILOAD L19 => Li19 0: 787: ILOAD L4 => Li4 0: 788: ISHRCONST Li4 1 (0x00000001) => Ti361 0: 789: NOP 0: 790: IADD Li19 Ti361 => Ti362 0: 791: IADDCONST Ti362 1 (0x00000001) => Ti363 0: 792: NOP 0: 793: ILOAD L12 => L?12 0: 794: ISHRCONST L?12 1 (0x00000001) => Ti364 0: 795: NOP 0: 796: IF_ICMPGE Ti363 Ti364 --> L077 0: 797: NOP OUT: ======== L055 ======== (flags: 2, bitflags: 0, next: 56, type: STD, icount: 8): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 798: ALOAD L1 => L?1 0: 799: GETFIELD L?1 d.C I => Li4 0: 800: ISTORE Li4 => L4 (javaindex 3) 0: 801: ICONST 32 (0x00000020) => Li5 0: 802: ISTORE Li5 => L5 (javaindex 4) 0: 803: ILOAD L4 => Li4 0: 804: IFNE Li4 0 (0x00000000) --> L074 0: 805: NOP OUT: ======== L056 ======== (flags: 2, bitflags: 0, next: 57, type: STD, icount: 7): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 806: ALOAD L1 => L?1 0: 807: INVOKEVIRTUAL L?1 d.Code()LJ; PUBLIC FINAL (mono) (impl) => Ta367 0: 808: GETFIELD Ta367 J.Code LCode; PUBLIC, offset: 12 => Ta368 0: 809: COPY Ta368 => La7 0: 810: ASTORE La7 => L7 (javaindex 5) 0: 811: IFNULL Ta368 --> L074 0: 812: NOP OUT: ======== L057 ======== (flags: 2, bitflags: 0, next: 58, type: STD, icount: 4): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 813: ALOAD L7 => La7 0: 814: INVOKEVIRTUAL La7 Code.Code()Z => Ti370 0: 815: IFEQ Ti370 0 (0x00000000) --> L074 0: 816: NOP OUT: ======== L058 ======== (flags: 2, bitflags: 0, next: 59, type: STD, icount: 8): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 817: ALOAD L1 => L?1 0: 818: INVOKEVIRTUAL L?1 d.Code()LJ; PUBLIC FINAL (mono) (impl) => Ta371 0: 819: GETFIELD Ta371 J.Code LCode; PUBLIC, offset: 12 => Aa372(M00) 0: 820: INVOKEVIRTUAL Aa372(M00) Code.Code()Ljava/lang/String; => Ta373 0: 821: COPY Ta373 => La7 0: 822: ASTORE La7 => L7 (javaindex 5) 0: 823: IFNULL Ta373 --> L074 0: 824: NOP OUT: ======== L059 ======== (flags: 2, bitflags: 0, next: 60, type: STD, icount: 5): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 Li8 Li10 L?12 L?15 L?17 Li18 Li19 Li20] 0: 825: ICONST 2 (0x00000002) => Ai375(M00) 0: 826: BUILTIN Ai375(M00) newarray_char => L?9 0: 827: ASTORE L?9 => L9 (javaindex 6) 0: 828: ICONST 0 (0x00000000) => L?14 0: 829: ISTORE L?14 => L14 (javaindex 9) OUT: ======== L060 ======== (flags: 2, bitflags: 1, next: 61, type: STD, icount: 4): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 830: ILOAD L14 => L?14 0: 831: NOP 0: 832: IFGE L?14 2 (0x00000002) --> L068 0: 833: NOP OUT: ======== L061 ======== (flags: 2, bitflags: 0, next: 62, type: STD, icount: 6): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 834: ACONST 0x090afa98 "#*" => Aa378(M00) 0: 835: ILOAD L14 => L?14 0: 836: INVOKEVIRTUAL Aa378(M00) L?14 java.lang.String.charAt(I)C PUBLIC (mono) (impl) => Li16 0: 837: ISTORE Li16 => L16 (javaindex 10) 0: 838: ICONST 0 (0x00000000) => Li18 0: 839: ISTORE Li18 => L18 (javaindex 11) OUT: ======== L062 ======== (flags: 2, bitflags: 1, next: 63, type: STD, icount: 4): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 Li16 Li18 Li19 -] 0: 840: ILOAD L18 => Li18 0: 841: NOP 0: 842: IFGE Li18 12 (0x0000000c) --> L067 0: 843: NOP OUT: ======== L063 ======== (flags: 2, bitflags: 0, next: 64, type: STD, icount: 12): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 Li16 Li18 Li19 -] 0: 844: ACONST 0x090afb20 "1234567890#*" => Aa381(M00) 0: 845: ILOAD L18 => Li18 0: 846: INVOKEVIRTUAL Aa381(M00) Li18 java.lang.String.charAt(I)C PUBLIC (mono) (impl) => Li19 0: 847: ISTORE Li19 => L19 (javaindex 12) 0: 848: ILOAD L16 => Li16 0: 849: ILOAD L19 => Li19 0: 850: ICONST 0 (0x00000000) => Ai383(M16) 0: 851: INVOKESTATIC Li16 Li19 Ai383(M16) d.Code(IIZ)Ljava/lang/String; => Ta384 0: 852: COPY Ta384 => L?21 0: 853: ASTORE L?21 => L21 (javaindex 13) 0: 854: IFNULL Ta384 --> L066 0: 855: NOP OUT: ======== L064 ======== (flags: 2, bitflags: 0, next: 65, type: STD, icount: 5): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 Li16 Li18 Li19 L?21] 0: 856: ALOAD L21 => L?21 0: 857: ALOAD L7 => La7 0: 858: INVOKEVIRTUAL L?21 La7 java.lang.String.equals(Ljava/lang/Object;)Z PUBLIC (mono) (impl) => Ti386 0: 859: IFEQ Ti386 0 (0x00000000) --> L066 0: 860: NOP OUT: ======== L065 ======== (flags: 2, bitflags: 0, next: 66, type: STD, icount: 10): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 Li16 Li18 Li19 L?21] 0: 861: ALOAD L9 => L?9 0: 862: ICONST 0 (0x00000000) => Ti387 0: 863: ILOAD L16 => Li16 0: 864: CASTORE L?9 Ti387 Li16 0: 865: ALOAD L9 => L?9 0: 866: ICONST 1 (0x00000001) => Ti388 0: 867: ILOAD L19 => Li19 0: 868: CASTORE L?9 Ti388 Li19 0: 869: GOTO --> L068 0: 870: NOP OUT: ======== L066 ======== (flags: 2, bitflags: 0, next: 67, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 Li16 Li18 Li19 L?21] 0: 871: IINC L18 1 (0x00000001) => L18 0: 872: GOTO --> L062 0: 873: NOP OUT: ======== L067 ======== (flags: 2, bitflags: 0, next: 68, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 Li16 Li18 Li19 -] 0: 874: IINC L14 1 (0x00000001) => L14 0: 875: GOTO --> L060 0: 876: NOP OUT: ======== L068 ======== (flags: 2, bitflags: 0, next: 69, type: STD, icount: 8): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 877: ALOAD L9 => L?9 0: 878: ASTORE L?9 => L7 (javaindex 5) 0: 879: ALOAD L1 => L?1 0: 880: INVOKEVIRTUAL L?1 d.Code()LJ; PUBLIC FINAL (mono) (impl) => Aa389(M00) 0: 881: ICONST 2 (0x00000002) => Ai390(M08) 0: 882: INVOKEVIRTUAL Aa389(M00) Ai390(M08) J.Code(I)Z PUBLIC FINAL (mono) (impl) => Ti391 0: 883: IFEQ Ti391 0 (0x00000000) --> L070 0: 884: NOP OUT: ======== L069 ======== (flags: 2, bitflags: 0, next: 70, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 885: GETSTATIC d.b Z PUBLIC STATIC => Ti392 0: 886: IFEQ Ti392 0 (0x00000000) --> L071 0: 887: NOP OUT: ======== L070 ======== (flags: 2, bitflags: 0, next: 71, type: STD, icount: 10): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 888: ALOAD L7 => La7 0: 889: ICONST 0 (0x00000000) => Ti393 0: 890: CALOAD La7 Ti393 => Li4 0: 891: ISTORE Li4 => L4 (javaindex 3) 0: 892: ALOAD L7 => La7 0: 893: ICONST 1 (0x00000001) => Ti395 0: 894: CALOAD La7 Ti395 => Li5 0: 895: ISTORE Li5 => L5 (javaindex 4) 0: 896: GOTO --> L074 0: 897: NOP OUT: ======== L071 ======== (flags: 2, bitflags: 0, next: 72, type: STD, icount: 5): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 898: ALOAD L7 => La7 0: 899: ICONST 0 (0x00000000) => Ti397 0: 900: CALOAD La7 Ti397 => Ti398 0: 901: IFEQ Ti398 0 (0x00000000) --> L074 0: 902: NOP OUT: ======== L072 ======== (flags: 2, bitflags: 0, next: 73, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 903: GETSTATIC d.Z LI; => Ta399 0: 904: IFNONNULL Ta399 --> L074 0: 905: NOP OUT: ======== L073 ======== (flags: 2, bitflags: 0, next: 74, type: STD, icount: 13): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 L?9 Li10 L?12 L?14 - Li18 Li19 -] 0: 906: ACONST 0x081f29a0 I PUBLIC FINAL SYNCHRONIZED => Aa400(M00) 0: 907: BUILTIN Aa400(M00) new => Ta401! 0: 908: COPY Ta401! => Aa402(M00) 0: 909: ICONST 24 (0x00000018) => Ai403(M08) 0: 910: INVOKESPECIAL Aa402(M00) Ai403(M08) pass-through: Ta401! I.(I)V PUBLIC (mono) (impl) 0: 911: PUTSTATIC Ta401! d.Z LI; 0: 912: ALOAD L1 => L?1 0: 913: GETFIELD L?1 d.Code Ljava/util/Timer; PUBLIC, offset: 212 => Aa404(M00) 0: 914: GETSTATIC d.Z LI; => Aa405(M08) 0: 915: ICONST 1500 (0x000005dc) => Ti406 0: 916: I2L Ti406 => Al407(M16) 0: 917: INVOKEVIRTUAL Aa404(M00) Aa405(M08) Al407(M16) java.util.Timer.schedule(Ljava/util/TimerTask;J)V 0: 918: NOP OUT: ======== L074 ======== (flags: 2, bitflags: 0, next: 75, type: STD, icount: 3): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 - Li10 L?12 - - Li18 Li19 -] 0: 919: ILOAD L4 => Li4 0: 920: IFEQ Li4 0 (0x00000000) --> L076 0: 921: NOP OUT: ======== L075 ======== (flags: 2, bitflags: 0, next: 76, type: STD, icount: 62): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 - Li10 L?12 - - Li18 Li19 -] 0: 922: ALOAD L2 => La2 0: 923: ALOAD L1 => L?1 0: 924: GETFIELD L?1 d.Z Ljavax/microedition/lcdui/Image; PUBLIC, offset: 188 => Aa408(M08) 0: 925: ILOAD L12 => L?12 0: 926: ISHRCONST L?12 1 (0x00000001) => Ti409 0: 927: NOP 0: 928: ISUBCONST Ti409 1 (0x00000001) => Ai410(M16) 0: 929: NOP 0: 930: ILOAD L10 => Li10 0: 931: IADDCONST Li10 1 (0x00000001) => Ai411(M24) 0: 932: NOP 0: 933: ICONST 24 (0x00000018) => Ai412(M32) 0: 934: INVOKEVIRTUAL La2 Aa408(M08) Ai410(M16) Ai411(M24) Ai412(M32) javax.microedition.lcdui.Graphics.drawImage(Ljavax/microedition/lcdui/Image;III)V PUBLIC (mono) (impl) 0: 935: ALOAD L2 => La2 0: 936: ALOAD L1 => L?1 0: 937: GETFIELD L?1 d.Z Ljavax/microedition/lcdui/Image; PUBLIC, offset: 188 => Aa413(M08) 0: 938: ILOAD L12 => L?12 0: 939: ISHRCONST L?12 1 (0x00000001) => Ai414(M16) 0: 940: NOP 0: 941: ILOAD L10 => Li10 0: 942: IADDCONST Li10 1 (0x00000001) => Ai415(M24) 0: 943: NOP 0: 944: ICONST 20 (0x00000014) => Ai416(M32) 0: 945: INVOKEVIRTUAL La2 Aa413(M08) Ai414(M16) Ai415(M24) Ai416(M32) javax.microedition.lcdui.Graphics.drawImage(Ljavax/microedition/lcdui/Image;III)V PUBLIC (mono) (impl) 0: 946: ALOAD L2 => La2 0: 947: GETSTATIC d.I [I PUBLIC STATIC => Ta417 0: 948: ICONST 31 (0x0000001f) => Ti418 0: 949: IALOAD Ta417 Ti418 => Ai419(M08) 0: 950: INVOKEVIRTUAL La2 Ai419(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 951: ALOAD L1 => L?1 0: 952: ALOAD L2 => La2 0: 953: ICONST 1 (0x00000001) => Ti420! 0: 954: ILOAD L4 => Li4 0: 955: INT2CHAR Li4 => Ai421(M00) 0: 956: INVOKESTATIC Ai421(M00) pass-through: Ti420! La2 L?1 java.lang.String.valueOf(C)Ljava/lang/String; => Ta422! 0: 957: ILOAD L12 => L?12 0: 958: ALOAD L1 => L?1 0: 959: GETFIELD L?1 d.Z Ljavax/microedition/lcdui/Image; PUBLIC, offset: 188 => Aa423(M00) 0: 960: INVOKEVIRTUAL Aa423(M00) pass-through: L?12 Ta422! Ti420! La2 L?1 javax.microedition.lcdui.Image.getWidth()I PUBLIC (mono) (impl) => Ti424 0: 961: ISUB L?12 Ti424 => Ti425 0: 962: ISHRCONST Ti425 1 (0x00000001) => Ti426 0: 963: NOP 0: 964: ISUBCONST Ti426 1 (0x00000001) => Ai427(M32) 0: 965: NOP 0: 966: ICONST 17 (0x00000011) => Ai428(M40) 0: 967: INVOKESPECIAL L?1 La2 Ti420! Ta422! Ai427(M32) Ai428(M40) d.Code(Ljavax/microedition/lcdui/Graphics;ILjava/lang/String;II)V PRIVATE (mono) (impl) 0: 968: ALOAD L1 => L?1 0: 969: ALOAD L2 => La2 0: 970: ICONST 1 (0x00000001) => Ti429! 0: 971: ILOAD L5 => Li5 0: 972: INVOKESTATIC Li5 pass-through: Ti429! La2 L?1 java.lang.String.valueOf(C)Ljava/lang/String; => Ta430! 0: 973: ILOAD L12 => L?12 0: 974: ALOAD L1 => L?1 0: 975: GETFIELD L?1 d.Z Ljavax/microedition/lcdui/Image; PUBLIC, offset: 188 => Aa431(M00) 0: 976: INVOKEVIRTUAL Aa431(M00) pass-through: L?12 Ta430! Ti429! La2 L?1 javax.microedition.lcdui.Image.getWidth()I PUBLIC (mono) (impl) => Ti432 0: 977: IADD L?12 Ti432 => Ti433 0: 978: ISHRCONST Ti433 1 (0x00000001) => Ai434(M32) 0: 979: NOP 0: 980: ICONST 17 (0x00000011) => Ai435(M40) 0: 981: INVOKESPECIAL L?1 La2 Ti429! Ta430! Ai434(M32) Ai435(M40) d.Code(Ljavax/microedition/lcdui/Graphics;ILjava/lang/String;II)V PRIVATE (mono) (impl) 0: 982: GOTO --> L077 0: 983: NOP OUT: ======== L076 ======== (flags: 2, bitflags: 0, next: 77, type: STD, icount: 16): IN: javalocals: [L?1 La2 Li3 Li4 Li5 La7 - Li10 L?12 - - Li18 Li19 -] 0: 984: ALOAD L2 => La2 0: 985: GETSTATIC d.I [I PUBLIC STATIC => Ta436 0: 986: ICONST 1 (0x00000001) => Ti437 0: 987: IALOAD Ta436 Ti437 => Ai438(M08) 0: 988: INVOKEVIRTUAL La2 Ai438(M08) javax.microedition.lcdui.Graphics.setColor(I)V PUBLIC SYNCHRONIZED (impl) 0: 989: ALOAD L1 => L?1 0: 990: ALOAD L2 => La2 0: 991: ICONST 0 (0x00000000) => Ai439(M16) 0: 992: ALOAD L1 => L?1 0: 993: GETFIELD L?1 d.p Ljava/lang/String; PRIVATE, offset: 164 => Aa440(M24) 0: 994: ILOAD L12 => L?12 0: 995: ISHRCONST L?12 1 (0x00000001) => Ai441(M32) 0: 996: NOP 0: 997: ICONST 17 (0x00000011) => Ai442(M40) 0: 998: INVOKESPECIAL L?1 La2 Ai439(M16) Aa440(M24) Ai441(M32) Ai442(M40) d.Code(Ljavax/microedition/lcdui/Graphics;ILjava/lang/String;II)V PRIVATE (mono) (impl) 0: 999: NOP OUT: ======== L077 ======== (flags: 2, bitflags: 0, next: 78, type: STD, icount: 2): IN: javalocals: [- La2 Li3 Li4 Li5 La7 - Li10 - - - Li18 Li19 -] 0:1000: ILOAD L3 => Li3 0:1001: IRETURN Li3 OUT: ======== L078 ======== DEADCODE! (flags: -1, bitflags: 0, next: -1, type: STD, icount: 0): IN: javalocals: null OUT: (gdb)