The Android Open Source Project | f6c3871 | 2009-03-03 19:28:47 -0800 | [diff] [blame] | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 2 | |
| 3 | <html> |
| 4 | |
| 5 | <head> |
| 6 | <title>Java Bytecode At A Glance</title> |
| 7 | <link rel="stylesheet" href="java-bytecode.css"> |
| 8 | </head> |
| 9 | |
| 10 | <body> |
| 11 | |
| 12 | <h1>Java Bytecode At A Glance</h1> |
| 13 | |
| 14 | <table align="center"> |
| 15 | <tr><td class="outer"><table> |
| 16 | <tr><td>0x00</td><td>0</td><td>nop</td></tr> |
| 17 | <tr><td>0x01</td><td>1</td><td>aconst_null</td></tr> |
| 18 | <tr class="d"><td>0x02</td><td>2</td><td>iconst_m1</td></tr> |
| 19 | <tr class="d"><td>0x03</td><td>3</td><td>iconst_0</td></tr> |
| 20 | <tr><td>0x04</td><td>4</td><td>iconst_1</td></tr> |
| 21 | <tr><td>0x05</td><td>5</td><td>iconst_2</td></tr> |
| 22 | <tr class="d"><td>0x06</td><td>6</td><td>iconst_3</td></tr> |
| 23 | <tr class="d"><td>0x07</td><td>7</td><td>iconst_4</td></tr> |
| 24 | <tr><td>0x08</td><td>8</td><td>iconst_5</td></tr> |
| 25 | <tr><td>0x09</td><td>9</td><td>lconst_0</td></tr> |
| 26 | <tr class="d"><td>0x0a</td><td>10</td><td>lconst_1</td></tr> |
| 27 | <tr class="d"><td>0x0b</td><td>11</td><td>fconst_0</td></tr> |
| 28 | <tr><td>0x0c</td><td>12</td><td>fconst_1</td></tr> |
| 29 | <tr><td>0x0d</td><td>13</td><td>fconst_2</td></tr> |
| 30 | <tr class="d"><td>0x0e</td><td>14</td><td>dconst_0</td></tr> |
| 31 | <tr class="d"><td>0x0f</td><td>15</td><td>dconst_1</td></tr> |
| 32 | <tr><td>0x10</td><td>16</td><td>bipush</td></tr> |
| 33 | <tr><td>0x11</td><td>17</td><td>sipush</td></tr> |
| 34 | <tr class="d"><td>0x12</td><td>18</td><td>ldc</td></tr> |
| 35 | <tr class="d"><td>0x13</td><td>19</td><td>ldc_w</td></tr> |
| 36 | <tr><td>0x14</td><td>20</td><td>ldc2_w</td></tr> |
| 37 | <tr><td>0x15</td><td>21</td><td>iload</td></tr> |
| 38 | <tr class="d"><td>0x16</td><td>22</td><td>lload</td></tr> |
| 39 | <tr class="d"><td>0x17</td><td>23</td><td>fload</td></tr> |
| 40 | <tr><td>0x18</td><td>24</td><td>dload</td></tr> |
| 41 | <tr><td>0x19</td><td>25</td><td>aload</td></tr> |
| 42 | <tr class="d"><td>0x1a</td><td>26</td><td>iload_0</td></tr> |
| 43 | <tr class="d"><td>0x1b</td><td>27</td><td>iload_1</td></tr> |
| 44 | <tr><td>0x1c</td><td>28</td><td>iload_2</td></tr> |
| 45 | <tr><td>0x1d</td><td>29</td><td>iload_3</td></tr> |
| 46 | <tr class="d"><td>0x1e</td><td>30</td><td>lload_0</td></tr> |
| 47 | <tr class="d"><td>0x1f</td><td>31</td><td>lload_1</td></tr> |
| 48 | <tr><td>0x20</td><td>32</td><td>lload_2</td></tr> |
| 49 | <tr><td>0x21</td><td>33</td><td>lload_3</td></tr> |
| 50 | <tr class="d"><td>0x22</td><td>34</td><td>fload_0</td></tr> |
| 51 | <tr class="d"><td>0x23</td><td>35</td><td>fload_1</td></tr> |
| 52 | <tr><td>0x24</td><td>36</td><td>fload_2</td></tr> |
| 53 | <tr><td>0x25</td><td>37</td><td>fload_3</td></tr> |
| 54 | <tr class="d"><td>0x26</td><td>38</td><td>dload_0</td></tr> |
| 55 | <tr class="d"><td>0x27</td><td>39</td><td>dload_1</td></tr> |
| 56 | <tr><td>0x28</td><td>40</td><td>dload_2</td></tr> |
| 57 | <tr><td>0x29</td><td>41</td><td>dload_3</td></tr> |
| 58 | <tr class="d"><td>0x2a</td><td>42</td><td>aload_0</td></tr> |
| 59 | <tr class="d"><td>0x2b</td><td>43</td><td>aload_1</td></tr> |
| 60 | <tr><td>0x2c</td><td>44</td><td>aload_2</td></tr> |
| 61 | <tr><td>0x2d</td><td>45</td><td>aload_3</td></tr> |
| 62 | <tr class="d"><td>0x2e</td><td>46</td><td>iaload</td></tr> |
| 63 | <tr class="d"><td>0x2f</td><td>47</td><td>laload</td></tr> |
| 64 | <tr><td>0x30</td><td>48</td><td>faload</td></tr> |
| 65 | <tr><td>0x31</td><td>49</td><td>daload</td></tr> |
| 66 | <tr class="d"><td>0x32</td><td>50</td><td>aaload</td></tr> |
| 67 | </table></td> |
| 68 | <td class="outer"><table> |
| 69 | <tr><td>0x33</td><td>51</td><td>baload</td></tr> |
| 70 | <tr><td>0x34</td><td>52</td><td>caload</td></tr> |
| 71 | <tr class="d"><td>0x35</td><td>53</td><td>saload</td></tr> |
| 72 | <tr class="d"><td>0x36</td><td>54</td><td>istore</td></tr> |
| 73 | <tr><td>0x37</td><td>55</td><td>lstore</td></tr> |
| 74 | <tr><td>0x38</td><td>56</td><td>fstore</td></tr> |
| 75 | <tr class="d"><td>0x39</td><td>57</td><td>dstore</td></tr> |
| 76 | <tr class="d"><td>0x3a</td><td>58</td><td>astore</td></tr> |
| 77 | <tr><td>0x3b</td><td>59</td><td>istore_0</td></tr> |
| 78 | <tr><td>0x3c</td><td>60</td><td>istore_1</td></tr> |
| 79 | <tr class="d"><td>0x3d</td><td>61</td><td>istore_2</td></tr> |
| 80 | <tr class="d"><td>0x3e</td><td>62</td><td>istore_3</td></tr> |
| 81 | <tr><td>0x3f</td><td>63</td><td>lstore_0</td></tr> |
| 82 | <tr><td>0x40</td><td>64</td><td>lstore_1</td></tr> |
| 83 | <tr class="d"><td>0x41</td><td>65</td><td>lstore_2</td></tr> |
| 84 | <tr class="d"><td>0x42</td><td>66</td><td>lstore_3</td></tr> |
| 85 | <tr><td>0x43</td><td>67</td><td>fstore_0</td></tr> |
| 86 | <tr><td>0x44</td><td>68</td><td>fstore_1</td></tr> |
| 87 | <tr class="d"><td>0x45</td><td>69</td><td>fstore_2</td></tr> |
| 88 | <tr class="d"><td>0x46</td><td>70</td><td>fstore_3</td></tr> |
| 89 | <tr><td>0x47</td><td>71</td><td>dstore_0</td></tr> |
| 90 | <tr><td>0x48</td><td>72</td><td>dstore_1</td></tr> |
| 91 | <tr class="d"><td>0x49</td><td>73</td><td>dstore_2</td></tr> |
| 92 | <tr class="d"><td>0x4a</td><td>74</td><td>dstore_3</td></tr> |
| 93 | <tr><td>0x4b</td><td>75</td><td>astore_0</td></tr> |
| 94 | <tr><td>0x4c</td><td>76</td><td>astore_1</td></tr> |
| 95 | <tr class="d"><td>0x4d</td><td>77</td><td>astore_2</td></tr> |
| 96 | <tr class="d"><td>0x4e</td><td>78</td><td>astore_3</td></tr> |
| 97 | <tr><td>0x4f</td><td>79</td><td>iastore</td></tr> |
| 98 | <tr><td>0x50</td><td>80</td><td>lastore</td></tr> |
| 99 | <tr class="d"><td>0x51</td><td>81</td><td>fastore</td></tr> |
| 100 | <tr class="d"><td>0x52</td><td>82</td><td>dastore</td></tr> |
| 101 | <tr><td>0x53</td><td>83</td><td>aastore</td></tr> |
| 102 | <tr><td>0x54</td><td>84</td><td>bastore</td></tr> |
| 103 | <tr class="d"><td>0x55</td><td>85</td><td>castore</td></tr> |
| 104 | <tr class="d"><td>0x56</td><td>86</td><td>sastore</td></tr> |
| 105 | <tr><td>0x57</td><td>87</td><td>pop</td></tr> |
| 106 | <tr><td>0x58</td><td>88</td><td>pop2</td></tr> |
| 107 | <tr class="d"><td>0x59</td><td>89</td><td>dup</td></tr> |
| 108 | <tr class="d"><td>0x5a</td><td>90</td><td>dup_x1</td></tr> |
| 109 | <tr><td>0x5b</td><td>91</td><td>dup_x2</td></tr> |
| 110 | <tr><td>0x5c</td><td>92</td><td>dup2</td></tr> |
| 111 | <tr class="d"><td>0x5d</td><td>93</td><td>dup2_x1</td></tr> |
| 112 | <tr class="d"><td>0x5e</td><td>94</td><td>dup2_x2</td></tr> |
| 113 | <tr><td>0x5f</td><td>95</td><td>swap</td></tr> |
| 114 | <tr><td>0x60</td><td>96</td><td>iadd</td></tr> |
| 115 | <tr class="d"><td>0x61</td><td>97</td><td>ladd</td></tr> |
| 116 | <tr class="d"><td>0x62</td><td>98</td><td>fadd</td></tr> |
| 117 | <tr><td>0x63</td><td>99</td><td>dadd</td></tr> |
| 118 | <tr><td>0x64</td><td>100</td><td>isub</td></tr> |
| 119 | <tr class="d"><td>0x65</td><td>101</td><td>lsub</td></tr> |
| 120 | </table></td> |
| 121 | <td class="outer"><table> |
| 122 | <tr><td>0x66</td><td>102</td><td>fsub</td></tr> |
| 123 | <tr><td>0x67</td><td>103</td><td>dsub</td></tr> |
| 124 | <tr class="d"><td>0x68</td><td>104</td><td>imul</td></tr> |
| 125 | <tr class="d"><td>0x69</td><td>105</td><td>lmul</td></tr> |
| 126 | <tr><td>0x6a</td><td>106</td><td>fmul</td></tr> |
| 127 | <tr><td>0x6b</td><td>107</td><td>dmul</td></tr> |
| 128 | <tr class="d"><td>0x6c</td><td>108</td><td>idiv</td></tr> |
| 129 | <tr class="d"><td>0x6d</td><td>109</td><td>ldiv</td></tr> |
| 130 | <tr><td>0x6e</td><td>110</td><td>fdiv</td></tr> |
| 131 | <tr><td>0x6f</td><td>111</td><td>ddiv</td></tr> |
| 132 | <tr class="d"><td>0x70</td><td>112</td><td>irem</td></tr> |
| 133 | <tr class="d"><td>0x71</td><td>113</td><td>lrem</td></tr> |
| 134 | <tr><td>0x72</td><td>114</td><td>frem</td></tr> |
| 135 | <tr><td>0x73</td><td>115</td><td>drem</td></tr> |
| 136 | <tr class="d"><td>0x74</td><td>116</td><td>ineg</td></tr> |
| 137 | <tr class="d"><td>0x75</td><td>117</td><td>lneg</td></tr> |
| 138 | <tr><td>0x76</td><td>118</td><td>fneg</td></tr> |
| 139 | <tr><td>0x77</td><td>119</td><td>dneg</td></tr> |
| 140 | <tr class="d"><td>0x78</td><td>120</td><td>ishl</td></tr> |
| 141 | <tr class="d"><td>0x79</td><td>121</td><td>lshl</td></tr> |
| 142 | <tr><td>0x7a</td><td>122</td><td>ishr</td></tr> |
| 143 | <tr><td>0x7b</td><td>123</td><td>lshr</td></tr> |
| 144 | <tr class="d"><td>0x7c</td><td>124</td><td>iushr</td></tr> |
| 145 | <tr class="d"><td>0x7d</td><td>125</td><td>lushr</td></tr> |
| 146 | <tr><td>0x7e</td><td>126</td><td>iand</td></tr> |
| 147 | <tr><td>0x7f</td><td>127</td><td>land</td></tr> |
| 148 | <tr class="d"><td>0x80</td><td>128</td><td>ior</td></tr> |
| 149 | <tr class="d"><td>0x81</td><td>129</td><td>lor</td></tr> |
| 150 | <tr><td>0x82</td><td>130</td><td>ixor</td></tr> |
| 151 | <tr><td>0x83</td><td>131</td><td>lxor</td></tr> |
| 152 | <tr class="d"><td>0x84</td><td>132</td><td>iinc</td></tr> |
| 153 | <tr class="d"><td>0x85</td><td>133</td><td>i2l</td></tr> |
| 154 | <tr><td>0x86</td><td>134</td><td>i2f</td></tr> |
| 155 | <tr><td>0x87</td><td>135</td><td>i2d</td></tr> |
| 156 | <tr class="d"><td>0x88</td><td>136</td><td>l2i</td></tr> |
| 157 | <tr class="d"><td>0x89</td><td>137</td><td>l2f</td></tr> |
| 158 | <tr><td>0x8a</td><td>138</td><td>l2d</td></tr> |
| 159 | <tr><td>0x8b</td><td>139</td><td>f2i</td></tr> |
| 160 | <tr class="d"><td>0x8c</td><td>140</td><td>f2l</td></tr> |
| 161 | <tr class="d"><td>0x8d</td><td>141</td><td>f2d</td></tr> |
| 162 | <tr><td>0x8e</td><td>142</td><td>d2i</td></tr> |
| 163 | <tr><td>0x8f</td><td>143</td><td>d2l</td></tr> |
| 164 | <tr class="d"><td>0x90</td><td>144</td><td>d2f</td></tr> |
| 165 | <tr class="d"><td>0x91</td><td>145</td><td>i2b</td></tr> |
| 166 | <tr><td>0x92</td><td>146</td><td>i2c</td></tr> |
| 167 | <tr><td>0x93</td><td>147</td><td>i2s</td></tr> |
| 168 | <tr class="d"><td>0x94</td><td>148</td><td>lcmp</td></tr> |
| 169 | <tr class="d"><td>0x95</td><td>149</td><td>fcmpl</td></tr> |
| 170 | <tr><td>0x96</td><td>150</td><td>fcmpg</td></tr> |
| 171 | <tr><td>0x97</td><td>151</td><td>dcmpl</td></tr> |
| 172 | <tr class="d"><td>0x98</td><td>152</td><td>dcmpg</td></tr> |
| 173 | </table></td> |
| 174 | <td class="outer"><table> |
| 175 | <tr><td>0x99</td><td>153</td><td>ifeq</td></tr> |
| 176 | <tr><td>0x9a</td><td>154</td><td>ifne</td></tr> |
| 177 | <tr class="d"><td>0x9b</td><td>155</td><td>iflt</td></tr> |
| 178 | <tr class="d"><td>0x9c</td><td>156</td><td>ifge</td></tr> |
| 179 | <tr><td>0x9d</td><td>157</td><td>ifgt</td></tr> |
| 180 | <tr><td>0x9e</td><td>158</td><td>ifle</td></tr> |
| 181 | <tr class="d"><td>0x9f</td><td>159</td><td>if_icmpeq</td></tr> |
| 182 | <tr class="d"><td>0xa0</td><td>160</td><td>if_icmpne</td></tr> |
| 183 | <tr><td>0xa1</td><td>161</td><td>if_icmplt</td></tr> |
| 184 | <tr><td>0xa2</td><td>162</td><td>if_icmpge</td></tr> |
| 185 | <tr class="d"><td>0xa3</td><td>163</td><td>if_icmpgt</td></tr> |
| 186 | <tr class="d"><td>0xa4</td><td>164</td><td>if_icmple</td></tr> |
| 187 | <tr><td>0xa5</td><td>165</td><td>if_acmpeq</td></tr> |
| 188 | <tr><td>0xa6</td><td>166</td><td>if_acmpne</td></tr> |
| 189 | <tr class="d"><td>0xa7</td><td>167</td><td>goto</td></tr> |
| 190 | <tr class="d"><td>0xa8</td><td>168</td><td>jsr</td></tr> |
| 191 | <tr><td>0xa9</td><td>169</td><td>ret</td></tr> |
| 192 | <tr><td>0xaa</td><td>170</td><td>tableswitch</td></tr> |
| 193 | <tr class="d"><td>0xab</td><td>171</td><td>lookupswitch</td></tr> |
| 194 | <tr class="d"><td>0xac</td><td>172</td><td>ireturn</td></tr> |
| 195 | <tr><td>0xad</td><td>173</td><td>lreturn</td></tr> |
| 196 | <tr><td>0xae</td><td>174</td><td>freturn</td></tr> |
| 197 | <tr class="d"><td>0xaf</td><td>175</td><td>dreturn</td></tr> |
| 198 | <tr class="d"><td>0xb0</td><td>176</td><td>areturn</td></tr> |
| 199 | <tr><td>0xb1</td><td>177</td><td>return</td></tr> |
| 200 | <tr><td>0xb2</td><td>178</td><td>getstatic</td></tr> |
| 201 | <tr class="d"><td>0xb3</td><td>179</td><td>putstatic</td></tr> |
| 202 | <tr class="d"><td>0xb4</td><td>180</td><td>getfield</td></tr> |
| 203 | <tr><td>0xb5</td><td>181</td><td>putfield</td></tr> |
| 204 | <tr><td>0xb6</td><td>182</td><td>invokevirtual</td></tr> |
| 205 | <tr class="d"><td>0xb7</td><td>183</td><td>invokespecial</td></tr> |
| 206 | <tr class="d"><td>0xb8</td><td>184</td><td>invokestatic</td></tr> |
| 207 | <tr><td>0xb9</td><td>185</td><td>invokeinterface</td></tr> |
| 208 | <tr><td>0xba</td><td>186</td><td><i>(unused)</i></td></tr> |
| 209 | <tr class="d"><td>0xbb</td><td>187</td><td>new</td></tr> |
| 210 | <tr class="d"><td>0xbc</td><td>188</td><td>newarray</td></tr> |
| 211 | <tr><td>0xbd</td><td>189</td><td>anewarray</td></tr> |
| 212 | <tr><td>0xbe</td><td>190</td><td>arraylength</td></tr> |
| 213 | <tr class="d"><td>0xbf</td><td>191</td><td>athrow</td></tr> |
| 214 | <tr class="d"><td>0xc0</td><td>192</td><td>checkcast</td></tr> |
| 215 | <tr><td>0xc1</td><td>193</td><td>instanceof</td></tr> |
| 216 | <tr><td>0xc2</td><td>194</td><td>monitorenter</td></tr> |
| 217 | <tr class="d"><td>0xc3</td><td>195</td><td>monitorexit</td></tr> |
| 218 | <tr class="d"><td>0xc4</td><td>196</td><td>wide</td></tr> |
| 219 | <tr><td>0xc5</td><td>197</td><td>multianewarray</td></tr> |
| 220 | <tr><td>0xc6</td><td>198</td><td>ifnull</td></tr> |
| 221 | <tr class="d"><td>0xc7</td><td>199</td><td>ifnonnull</td></tr> |
| 222 | <tr class="d"><td>0xc8</td><td>200</td><td>goto_w</td></tr> |
| 223 | <tr><td>0xc9</td><td>201</td><td>jsr_w</td></tr> |
| 224 | </table></td></tr> |
| 225 | </table> |
| 226 | |
| 227 | </body> |
| 228 | </html> |