You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. /*
  2. * Javassist, a Java-bytecode translator toolkit.
  3. * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
  4. *
  5. * The contents of this file are subject to the Mozilla Public License Version
  6. * 1.1 (the "License"); you may not use this file except in compliance with
  7. * the License. Alternatively, the contents of this file may be used under
  8. * the terms of the GNU Lesser General Public License Version 2.1 or later,
  9. * or the Apache License Version 2.0.
  10. *
  11. * Software distributed under the License is distributed on an "AS IS" basis,
  12. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  13. * for the specific language governing rights and limitations under the
  14. * License.
  15. */
  16. package javassist.bytecode;
  17. /**
  18. * JVM Instruction Names.
  19. *
  20. * <p>This interface has been separated from javassist.bytecode.Opcode
  21. * because typical bytecode translators do not use mnemonics. If this
  22. * interface were merged with Opcode, extra memory would be unnecessary
  23. * consumed.
  24. *
  25. * @see Opcode
  26. */
  27. public interface Mnemonic {
  28. /**
  29. * The instruction names (mnemonics) sorted by the opcode.
  30. * The length of this array is 202 (jsr_w=201).
  31. */
  32. String[] OPCODE = {
  33. "nop", /* 0*/
  34. "aconst_null", /* 1*/
  35. "iconst_m1", /* 2*/
  36. "iconst_0", /* 3*/
  37. "iconst_1", /* 4*/
  38. "iconst_2", /* 5*/
  39. "iconst_3", /* 6*/
  40. "iconst_4", /* 7*/
  41. "iconst_5", /* 8*/
  42. "lconst_0", /* 9*/
  43. "lconst_1", /* 10*/
  44. "fconst_0", /* 11*/
  45. "fconst_1", /* 12*/
  46. "fconst_2", /* 13*/
  47. "dconst_0", /* 14*/
  48. "dconst_1", /* 15*/
  49. "bipush", /* 16*/
  50. "sipush", /* 17*/
  51. "ldc", /* 18*/
  52. "ldc_w", /* 19*/
  53. "ldc2_w", /* 20*/
  54. "iload", /* 21*/
  55. "lload", /* 22*/
  56. "fload", /* 23*/
  57. "dload", /* 24*/
  58. "aload", /* 25*/
  59. "iload_0", /* 26*/
  60. "iload_1", /* 27*/
  61. "iload_2", /* 28*/
  62. "iload_3", /* 29*/
  63. "lload_0", /* 30*/
  64. "lload_1", /* 31*/
  65. "lload_2", /* 32*/
  66. "lload_3", /* 33*/
  67. "fload_0", /* 34*/
  68. "fload_1", /* 35*/
  69. "fload_2", /* 36*/
  70. "fload_3", /* 37*/
  71. "dload_0", /* 38*/
  72. "dload_1", /* 39*/
  73. "dload_2", /* 40*/
  74. "dload_3", /* 41*/
  75. "aload_0", /* 42*/
  76. "aload_1", /* 43*/
  77. "aload_2", /* 44*/
  78. "aload_3", /* 45*/
  79. "iaload", /* 46*/
  80. "laload", /* 47*/
  81. "faload", /* 48*/
  82. "daload", /* 49*/
  83. "aaload", /* 50*/
  84. "baload", /* 51*/
  85. "caload", /* 52*/
  86. "saload", /* 53*/
  87. "istore", /* 54*/
  88. "lstore", /* 55*/
  89. "fstore", /* 56*/
  90. "dstore", /* 57*/
  91. "astore", /* 58*/
  92. "istore_0", /* 59*/
  93. "istore_1", /* 60*/
  94. "istore_2", /* 61*/
  95. "istore_3", /* 62*/
  96. "lstore_0", /* 63*/
  97. "lstore_1", /* 64*/
  98. "lstore_2", /* 65*/
  99. "lstore_3", /* 66*/
  100. "fstore_0", /* 67*/
  101. "fstore_1", /* 68*/
  102. "fstore_2", /* 69*/
  103. "fstore_3", /* 70*/
  104. "dstore_0", /* 71*/
  105. "dstore_1", /* 72*/
  106. "dstore_2", /* 73*/
  107. "dstore_3", /* 74*/
  108. "astore_0", /* 75*/
  109. "astore_1", /* 76*/
  110. "astore_2", /* 77*/
  111. "astore_3", /* 78*/
  112. "iastore", /* 79*/
  113. "lastore", /* 80*/
  114. "fastore", /* 81*/
  115. "dastore", /* 82*/
  116. "aastore", /* 83*/
  117. "bastore", /* 84*/
  118. "castore", /* 85*/
  119. "sastore", /* 86*/
  120. "pop", /* 87*/
  121. "pop2", /* 88*/
  122. "dup", /* 89*/
  123. "dup_x1", /* 90*/
  124. "dup_x2", /* 91*/
  125. "dup2", /* 92*/
  126. "dup2_x1", /* 93*/
  127. "dup2_x2", /* 94*/
  128. "swap", /* 95*/
  129. "iadd", /* 96*/
  130. "ladd", /* 97*/
  131. "fadd", /* 98*/
  132. "dadd", /* 99*/
  133. "isub", /* 100*/
  134. "lsub", /* 101*/
  135. "fsub", /* 102*/
  136. "dsub", /* 103*/
  137. "imul", /* 104*/
  138. "lmul", /* 105*/
  139. "fmul", /* 106*/
  140. "dmul", /* 107*/
  141. "idiv", /* 108*/
  142. "ldiv", /* 109*/
  143. "fdiv", /* 110*/
  144. "ddiv", /* 111*/
  145. "irem", /* 112*/
  146. "lrem", /* 113*/
  147. "frem", /* 114*/
  148. "drem", /* 115*/
  149. "ineg", /* 116*/
  150. "lneg", /* 117*/
  151. "fneg", /* 118*/
  152. "dneg", /* 119*/
  153. "ishl", /* 120*/
  154. "lshl", /* 121*/
  155. "ishr", /* 122*/
  156. "lshr", /* 123*/
  157. "iushr", /* 124*/
  158. "lushr", /* 125*/
  159. "iand", /* 126*/
  160. "land", /* 127*/
  161. "ior", /* 128*/
  162. "lor", /* 129*/
  163. "ixor", /* 130*/
  164. "lxor", /* 131*/
  165. "iinc", /* 132*/
  166. "i2l", /* 133*/
  167. "i2f", /* 134*/
  168. "i2d", /* 135*/
  169. "l2i", /* 136*/
  170. "l2f", /* 137*/
  171. "l2d", /* 138*/
  172. "f2i", /* 139*/
  173. "f2l", /* 140*/
  174. "f2d", /* 141*/
  175. "d2i", /* 142*/
  176. "d2l", /* 143*/
  177. "d2f", /* 144*/
  178. "i2b", /* 145*/
  179. "i2c", /* 146*/
  180. "i2s", /* 147*/
  181. "lcmp", /* 148*/
  182. "fcmpl", /* 149*/
  183. "fcmpg", /* 150*/
  184. "dcmpl", /* 151*/
  185. "dcmpg", /* 152*/
  186. "ifeq", /* 153*/
  187. "ifne", /* 154*/
  188. "iflt", /* 155*/
  189. "ifge", /* 156*/
  190. "ifgt", /* 157*/
  191. "ifle", /* 158*/
  192. "if_icmpeq", /* 159*/
  193. "if_icmpne", /* 160*/
  194. "if_icmplt", /* 161*/
  195. "if_icmpge", /* 162*/
  196. "if_icmpgt", /* 163*/
  197. "if_icmple", /* 164*/
  198. "if_acmpeq", /* 165*/
  199. "if_acmpne", /* 166*/
  200. "goto", /* 167*/
  201. "jsr", /* 168*/
  202. "ret", /* 169*/
  203. "tableswitch", /* 170*/
  204. "lookupswitch", /* 171*/
  205. "ireturn", /* 172*/
  206. "lreturn", /* 173*/
  207. "freturn", /* 174*/
  208. "dreturn", /* 175*/
  209. "areturn", /* 176*/
  210. "return", /* 177*/
  211. "getstatic", /* 178*/
  212. "putstatic", /* 179*/
  213. "getfield", /* 180*/
  214. "putfield", /* 181*/
  215. "invokevirtual", /* 182*/
  216. "invokespecial", /* 183*/
  217. "invokestatic", /* 184*/
  218. "invokeinterface", /* 185*/
  219. "invokedynamic", /* 186 */
  220. "new", /* 187*/
  221. "newarray", /* 188*/
  222. "anewarray", /* 189*/
  223. "arraylength", /* 190*/
  224. "athrow", /* 191*/
  225. "checkcast", /* 192*/
  226. "instanceof", /* 193*/
  227. "monitorenter", /* 194*/
  228. "monitorexit", /* 195*/
  229. "wide", /* 196*/
  230. "multianewarray", /* 197*/
  231. "ifnull", /* 198*/
  232. "ifnonnull", /* 199*/
  233. "goto_w", /* 200*/
  234. "jsr_w" /* 201*/
  235. };
  236. }