Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

Mnemonic.java 7.1KB

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