OSDN Git Service

Fix broken card table asserts.
[android-x86/dalvik.git] / docs / java-bytecode.html
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>