Restructured internals2.opcodes so that the opcode list is displayed immediately, and opcode descriptions are in a sub-section.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@323550 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Justin Martin 2012-02-26 04:51:03 +00:00
parent cc98ddbbb0
commit 1baa10dc5d

View file

@ -1,291 +1,189 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<part xml:id="internals2.opcodes" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Zend Engine 2 opcode list</title>
<title>Zend Engine 2 Opcodes</title>
<partintro xml:id="internals2.opcodes.preface">
<title>Opcodes</title>
<simpara>
This page lists and partially documents all the opcodes generated by Zend
Engine 2 when it parses PHP files. Opcodes may be dumped for a given PHP
file using the vld extension (see
<para>
When parsing PHP files, Zend Engine 2 generates a series of operation
codes, commonly known as "opcodes", representing the function of the
code. This part of the manual details those opcodes and their behaviour.
</para>
<para>
Opcodes may be dumped for a given PHP file using the vld extension (see
<link xlink:href="&url.pecl.package;vld">&url.pecl.package;vld</link>).
</simpara>
</para>
<table>
<title>Opcode List</title>
<tgroup cols="3">
<thead>
<row>
<entry>Number</entry>
<entry>Name</entry>
<entry>Has sample code?</entry>
</row>
</thead>
<tbody>
<row><entry>0</entry><entry><xref linkend="internals2.opcodes.nop"/></entry><entry>yes</entry></row>
<row><entry>1</entry><entry><xref linkend="internals2.opcodes.add"/></entry><entry>yes</entry></row>
<row><entry>2</entry><entry><xref linkend="internals2.opcodes.sub"/></entry><entry>yes</entry></row>
<row><entry>3</entry><entry><xref linkend="internals2.opcodes.mul"/></entry><entry>yes</entry></row>
<row><entry>4</entry><entry><xref linkend="internals2.opcodes.div"/></entry><entry>yes</entry></row>
<row><entry>5</entry><entry><xref linkend="internals2.opcodes.mod"/></entry><entry>yes</entry></row>
<row><entry>6</entry><entry><xref linkend="internals2.opcodes.sl"/></entry><entry>yes</entry></row>
<row><entry>7</entry><entry><xref linkend="internals2.opcodes.sr"/></entry><entry>yes</entry></row>
<row><entry>8</entry><entry><xref linkend="internals2.opcodes.concat"/></entry><entry>yes</entry></row>
<row><entry>9</entry><entry><xref linkend="internals2.opcodes.bw-or"/></entry><entry>yes</entry></row>
<row><entry>10</entry><entry><xref linkend="internals2.opcodes.bw-and"/></entry><entry>yes</entry></row>
<row><entry>11</entry><entry><xref linkend="internals2.opcodes.bw-xor"/></entry><entry>yes</entry></row>
<row><entry>12</entry><entry><xref linkend="internals2.opcodes.bw-not"/></entry><entry>yes</entry></row>
<row><entry>13</entry><entry><xref linkend="internals2.opcodes.bool-not"/></entry><entry>yes</entry></row>
<row><entry>14</entry><entry><xref linkend="internals2.opcodes.bool-xor"/></entry><entry>yes</entry></row>
<row><entry>15</entry><entry><xref linkend="internals2.opcodes.is-identical"/></entry><entry>yes</entry></row>
<row><entry>16</entry><entry><xref linkend="internals2.opcodes.is-not-identical"/></entry><entry>yes</entry></row>
<row><entry>17</entry><entry><xref linkend="internals2.opcodes.is-equal"/></entry><entry>yes</entry></row>
<row><entry>18</entry><entry><xref linkend="internals2.opcodes.is-not-equal"/></entry><entry>yes</entry></row>
<row><entry>19</entry><entry><xref linkend="internals2.opcodes.is-smaller"/></entry><entry>yes</entry></row>
<row><entry>20</entry><entry><xref linkend="internals2.opcodes.is-smaller-or-equal"/></entry><entry>yes</entry></row>
<row><entry>21</entry><entry><xref linkend="internals2.opcodes.cast"/></entry><entry>yes</entry></row>
<row><entry>22</entry><entry><xref linkend="internals2.opcodes.qm-assign"/></entry><entry>yes</entry></row>
<row><entry>23</entry><entry><xref linkend="internals2.opcodes.assign-add"/></entry><entry>yes</entry></row>
<row><entry>24</entry><entry><xref linkend="internals2.opcodes.assign-sub"/></entry><entry>yes</entry></row>
<row><entry>25</entry><entry><xref linkend="internals2.opcodes.assign-mul"/></entry><entry>yes</entry></row>
<row><entry>26</entry><entry><xref linkend="internals2.opcodes.assign-div"/></entry><entry>yes</entry></row>
<row><entry>27</entry><entry><xref linkend="internals2.opcodes.assign-mod"/></entry><entry>yes</entry></row>
<row><entry>28</entry><entry><xref linkend="internals2.opcodes.assign-sl"/></entry><entry>yes</entry></row>
<row><entry>29</entry><entry><xref linkend="internals2.opcodes.assign-sr"/></entry><entry>yes</entry></row>
<row><entry>30</entry><entry><xref linkend="internals2.opcodes.assign-concat"/></entry><entry>yes</entry></row>
<row><entry>31</entry><entry><xref linkend="internals2.opcodes.assign-bw-or"/></entry><entry>yes</entry></row>
<row><entry>32</entry><entry><xref linkend="internals2.opcodes.assign-bw-and"/></entry><entry>yes</entry></row>
<row><entry>33</entry><entry><xref linkend="internals2.opcodes.assign-bw-xor"/></entry><entry>yes</entry></row>
<row><entry>34</entry><entry><xref linkend="internals2.opcodes.pre-inc"/></entry><entry>yes</entry></row>
<row><entry>35</entry><entry><xref linkend="internals2.opcodes.pre-dec"/></entry><entry>yes</entry></row>
<row><entry>36</entry><entry><xref linkend="internals2.opcodes.post-inc"/></entry><entry>yes</entry></row>
<row><entry>37</entry><entry><xref linkend="internals2.opcodes.post-dec"/></entry><entry>yes</entry></row>
<row><entry>38</entry><entry><xref linkend="internals2.opcodes.assign"/></entry><entry>yes</entry></row>
<row><entry>39</entry><entry><xref linkend="internals2.opcodes.assign-ref"/></entry><entry>yes</entry></row>
<row><entry>40</entry><entry><xref linkend="internals2.opcodes.echo"/></entry><entry>yes</entry></row>
<row><entry>41</entry><entry><xref linkend="internals2.opcodes.print"/></entry><entry>yes</entry></row>
<row><entry>42</entry><entry><xref linkend="internals2.opcodes.jmp"/></entry><entry>no</entry></row>
<row><entry>43</entry><entry><xref linkend="internals2.opcodes.jmpz"/></entry><entry>yes</entry></row>
<row><entry>44</entry><entry><xref linkend="internals2.opcodes.jmpnz"/></entry><entry>yes</entry></row>
<row><entry>45</entry><entry><xref linkend="internals2.opcodes.jmpznz"/></entry><entry>yes</entry></row>
<row><entry>46</entry><entry><xref linkend="internals2.opcodes.jmpz-ex"/></entry><entry>yes</entry></row>
<row><entry>47</entry><entry><xref linkend="internals2.opcodes.jmpnz-ex"/></entry><entry>yes</entry></row>
<row><entry>48</entry><entry><xref linkend="internals2.opcodes.case"/></entry><entry>yes</entry></row>
<row><entry>49</entry><entry><xref linkend="internals2.opcodes.switch-free"/></entry><entry>yes</entry></row>
<row><entry>50</entry><entry><xref linkend="internals2.opcodes.brk"/></entry><entry>yes</entry></row>
<row><entry>51</entry><entry><xref linkend="internals2.opcodes.cont"/></entry><entry>no</entry></row>
<row><entry>52</entry><entry><xref linkend="internals2.opcodes.bool"/></entry><entry>yes</entry></row>
<row><entry>53</entry><entry><xref linkend="internals2.opcodes.init-string"/></entry><entry>yes</entry></row>
<row><entry>54</entry><entry><xref linkend="internals2.opcodes.add-char"/></entry><entry>yes</entry></row>
<row><entry>55</entry><entry><xref linkend="internals2.opcodes.add-string"/></entry><entry>yes</entry></row>
<row><entry>56</entry><entry><xref linkend="internals2.opcodes.add-var"/></entry><entry>yes</entry></row>
<row><entry>57</entry><entry><xref linkend="internals2.opcodes.begin-silence"/></entry><entry>yes</entry></row>
<row><entry>58</entry><entry><xref linkend="internals2.opcodes.end-silence"/></entry><entry>yes</entry></row>
<row><entry>59</entry><entry><xref linkend="internals2.opcodes.init-fcall-by-name"/></entry><entry>yes</entry></row>
<row><entry>60</entry><entry><xref linkend="internals2.opcodes.do-fcall"/></entry><entry>yes</entry></row>
<row><entry>61</entry><entry><xref linkend="internals2.opcodes.do-fcall-by-name"/></entry><entry>yes</entry></row>
<row><entry>62</entry><entry><xref linkend="internals2.opcodes.return"/></entry><entry>yes</entry></row>
<row><entry>63</entry><entry><xref linkend="internals2.opcodes.recv"/></entry><entry>yes</entry></row>
<row><entry>64</entry><entry><xref linkend="internals2.opcodes.recv-init"/></entry><entry>yes</entry></row>
<row><entry>65</entry><entry><xref linkend="internals2.opcodes.send-val"/></entry><entry>yes</entry></row>
<row><entry>66</entry><entry><xref linkend="internals2.opcodes.send-var"/></entry><entry>yes</entry></row>
<row><entry>67</entry><entry><xref linkend="internals2.opcodes.send-ref"/></entry><entry>yes</entry></row>
<row><entry>68</entry><entry><xref linkend="internals2.opcodes.new"/></entry><entry>yes</entry></row>
<row><entry>69</entry><entry><xref linkend="internals2.opcodes.init-ns-fcall-by-name"/></entry><entry>no</entry></row>
<row><entry>70</entry><entry><xref linkend="internals2.opcodes.free"/></entry><entry>yes</entry></row>
<row><entry>71</entry><entry><xref linkend="internals2.opcodes.init-array"/></entry><entry>yes</entry></row>
<row><entry>72</entry><entry><xref linkend="internals2.opcodes.add-array-element"/></entry><entry>yes</entry></row>
<row><entry>73</entry><entry><xref linkend="internals2.opcodes.include-or-eval"/></entry><entry>yes</entry></row>
<row><entry>74</entry><entry><xref linkend="internals2.opcodes.unset-var"/></entry><entry>yes</entry></row>
<row><entry>75</entry><entry><xref linkend="internals2.opcodes.unset-dim"/></entry><entry>yes</entry></row>
<row><entry>76</entry><entry><xref linkend="internals2.opcodes.unset-obj"/></entry><entry>yes</entry></row>
<row><entry>77</entry><entry><xref linkend="internals2.opcodes.fe-reset"/></entry><entry>yes</entry></row>
<row><entry>78</entry><entry><xref linkend="internals2.opcodes.fe-fetch"/></entry><entry>yes</entry></row>
<row><entry>79</entry><entry><xref linkend="internals2.opcodes.exit"/></entry><entry>yes</entry></row>
<row><entry>80</entry><entry><xref linkend="internals2.opcodes.fetch-r"/></entry><entry>yes</entry></row>
<row><entry>81</entry><entry><xref linkend="internals2.opcodes.fetch-dim-r"/></entry><entry>yes</entry></row>
<row><entry>82</entry><entry><xref linkend="internals2.opcodes.fetch-obj-r"/></entry><entry>yes</entry></row>
<row><entry>83</entry><entry><xref linkend="internals2.opcodes.fetch-w"/></entry><entry>yes</entry></row>
<row><entry>84</entry><entry><xref linkend="internals2.opcodes.fetch-dim-w"/></entry><entry>yes</entry></row>
<row><entry>85</entry><entry><xref linkend="internals2.opcodes.fetch-obj-w"/></entry><entry>yes</entry></row>
<row><entry>86</entry><entry><xref linkend="internals2.opcodes.fetch-rw"/></entry><entry>yes</entry></row>
<row><entry>87</entry><entry><xref linkend="internals2.opcodes.fetch-dim-rw"/></entry><entry>yes</entry></row>
<row><entry>88</entry><entry><xref linkend="internals2.opcodes.fetch-obj-rw"/></entry><entry>yes</entry></row>
<row><entry>89</entry><entry><xref linkend="internals2.opcodes.fetch-is"/></entry><entry>yes</entry></row>
<row><entry>90</entry><entry><xref linkend="internals2.opcodes.fetch-dim-is"/></entry><entry>no</entry></row>
<row><entry>91</entry><entry><xref linkend="internals2.opcodes.fetch-obj-is"/></entry><entry>no</entry></row>
<row><entry>92</entry><entry><xref linkend="internals2.opcodes.fetch-func-arg"/></entry><entry>yes</entry></row>
<row><entry>93</entry><entry><xref linkend="internals2.opcodes.fetch-dim-func-arg"/></entry><entry>yes</entry></row>
<row><entry>94</entry><entry><xref linkend="internals2.opcodes.fetch-obj-func-arg"/></entry><entry>yes</entry></row>
<row><entry>95</entry><entry><xref linkend="internals2.opcodes.fetch-unset"/></entry><entry>no</entry></row>
<row><entry>96</entry><entry><xref linkend="internals2.opcodes.fetch-dim-unset"/></entry><entry>no</entry></row>
<row><entry>97</entry><entry><xref linkend="internals2.opcodes.fetch-obj-unset"/></entry><entry>no</entry></row>
<row><entry>98</entry><entry><xref linkend="internals2.opcodes.fetch-dim-tmp-var"/></entry><entry>yes</entry></row>
<row><entry>99</entry><entry><xref linkend="internals2.opcodes.fetch-constant"/></entry><entry>yes</entry></row>
<row><entry>100</entry><entry><xref linkend="internals2.opcodes.goto"/></entry><entry>no</entry></row>
<row><entry>101</entry><entry><xref linkend="internals2.opcodes.ext-stmt"/></entry><entry>no</entry></row>
<row><entry>102</entry><entry><xref linkend="internals2.opcodes.ext-fcall-begin"/></entry><entry>no</entry></row>
<row><entry>103</entry><entry><xref linkend="internals2.opcodes.ext-fcall-end"/></entry><entry>no</entry></row>
<row><entry>104</entry><entry><xref linkend="internals2.opcodes.ext-nop"/></entry><entry>no</entry></row>
<row><entry>105</entry><entry><xref linkend="internals2.opcodes.ticks"/></entry><entry>yes</entry></row>
<row><entry>106</entry><entry><xref linkend="internals2.opcodes.send-var-no-ref"/></entry><entry>no</entry></row>
<row><entry>107</entry><entry><xref linkend="internals2.opcodes.catch"/></entry><entry>yes</entry></row>
<row><entry>108</entry><entry><xref linkend="internals2.opcodes.throw"/></entry><entry>yes</entry></row>
<row><entry>109</entry><entry><xref linkend="internals2.opcodes.fetch-class"/></entry><entry>yes</entry></row>
<row><entry>110</entry><entry><xref linkend="internals2.opcodes.clone"/></entry><entry>yes</entry></row>
<row><entry>111</entry><entry><xref linkend="internals2.opcodes.return-by-ref"/></entry><entry>no</entry></row>
<row><entry>112</entry><entry><xref linkend="internals2.opcodes.init-method-call"/></entry><entry>yes</entry></row>
<row><entry>113</entry><entry><xref linkend="internals2.opcodes.init-static-method-call"/></entry><entry>yes</entry></row>
<row><entry>114</entry><entry><xref linkend="internals2.opcodes.isset-isempty-var"/></entry><entry>yes</entry></row>
<row><entry>115</entry><entry><xref linkend="internals2.opcodes.isset-isempty-dim-obj"/></entry><entry>yes</entry></row>
<row><entry>116</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>117</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>118</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>119</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>120</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>121</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>122</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>123</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>124</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>125</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>126</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>127</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>128</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>129</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>130</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>131</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>132</entry><entry><xref linkend="internals2.opcodes.pre-inc-obj"/></entry><entry>yes</entry></row>
<row><entry>133</entry><entry><xref linkend="internals2.opcodes.pre-dec-obj"/></entry><entry>yes</entry></row>
<row><entry>134</entry><entry><xref linkend="internals2.opcodes.post-inc-obj"/></entry><entry>yes</entry></row>
<row><entry>135</entry><entry><xref linkend="internals2.opcodes.post-dec-obj"/></entry><entry>yes</entry></row>
<row><entry>136</entry><entry><xref linkend="internals2.opcodes.assign-obj"/></entry><entry>yes</entry></row>
<row><entry>137</entry><entry>not documented</entry><entry>no</entry></row>
<row><entry>138</entry><entry><xref linkend="internals2.opcodes.instanceof"/></entry><entry>yes</entry></row>
<row><entry>139</entry><entry><xref linkend="internals2.opcodes.declare-class"/></entry><entry>yes</entry></row>
<row><entry>140</entry><entry><xref linkend="internals2.opcodes.declare-inherited-class"/></entry><entry>yes</entry></row>
<row><entry>141</entry><entry><xref linkend="internals2.opcodes.declare-function"/></entry><entry>yes</entry></row>
<row><entry>142</entry><entry><xref linkend="internals2.opcodes.raise-abstract-error"/></entry><entry>yes</entry></row>
<row><entry>143</entry><entry><xref linkend="internals2.opcodes.declare-const"/></entry><entry>no</entry></row>
<row><entry>144</entry><entry><xref linkend="internals2.opcodes.add-interface"/></entry><entry>no</entry></row>
<row><entry>145</entry><entry><xref linkend="internals2.opcodes.declare-inherited-class-delayed"/></entry><entry>no</entry></row>
<row><entry>146</entry><entry><xref linkend="internals2.opcodes.verify-abstract-class"/></entry><entry>no</entry></row>
<row><entry>147</entry><entry><xref linkend="internals2.opcodes.assign-dim"/></entry><entry>yes</entry></row>
<row><entry>148</entry><entry><xref linkend="internals2.opcodes.isset-isempty-prop-obj"/></entry><entry>yes</entry></row>
<row><entry>149</entry><entry><xref linkend="internals2.opcodes.handle-exception"/></entry><entry>yes</entry></row>
<row><entry>150</entry><entry><xref linkend="internals2.opcodes.user-opcode"/></entry><entry>no</entry></row>
<row><entry>152</entry><entry><xref linkend="internals2.opcodes.zend-jmp-set"/></entry><entry>no</entry></row>
<row><entry>153</entry><entry><xref linkend="internals2.opcodes.zend-declare-lambda-function"/></entry><entry>no</entry></row>
</tbody>
</tgroup>
</table>
</partintro>
<chapter xml:id="internals2.opcodes.ops">
<title>Opcodes</title>
<section xml:id="internals2.opcodes.list">
<title>Opcode list</title>
<table>
<title>Opcode list</title>
<tgroup cols="3">
<thead>
<row>
<entry>Number</entry>
<entry>Name</entry>
<entry>Has sample code?</entry>
</row>
</thead>
<tbody>
<row><entry>0</entry><entry><xref linkend="internals2.opcodes.nop"/></entry><entry>yes</entry></row>
<row><entry>1</entry><entry><xref linkend="internals2.opcodes.add"/></entry><entry>yes</entry></row>
<row><entry>2</entry><entry><xref linkend="internals2.opcodes.sub"/></entry><entry>yes</entry></row>
<row><entry>3</entry><entry><xref linkend="internals2.opcodes.mul"/></entry><entry>yes</entry></row>
<row><entry>4</entry><entry><xref linkend="internals2.opcodes.div"/></entry><entry>yes</entry></row>
<row><entry>5</entry><entry><xref linkend="internals2.opcodes.mod"/></entry><entry>yes</entry></row>
<row><entry>6</entry><entry><xref linkend="internals2.opcodes.sl"/></entry><entry>yes</entry></row>
<row><entry>7</entry><entry><xref linkend="internals2.opcodes.sr"/></entry><entry>yes</entry></row>
<row><entry>8</entry><entry><xref linkend="internals2.opcodes.concat"/></entry><entry>yes</entry></row>
<row><entry>9</entry><entry><xref linkend="internals2.opcodes.bw-or"/></entry><entry>yes</entry></row>
<row><entry>10</entry><entry><xref linkend="internals2.opcodes.bw-and"/></entry><entry>yes</entry></row>
<row><entry>11</entry><entry><xref linkend="internals2.opcodes.bw-xor"/></entry><entry>yes</entry></row>
<row><entry>12</entry><entry><xref linkend="internals2.opcodes.bw-not"/></entry><entry>yes</entry></row>
<row><entry>13</entry><entry><xref linkend="internals2.opcodes.bool-not"/></entry><entry>yes</entry></row>
<row><entry>14</entry><entry><xref linkend="internals2.opcodes.bool-xor"/></entry><entry>yes</entry></row>
<row><entry>15</entry><entry><xref linkend="internals2.opcodes.is-identical"/></entry><entry>yes</entry></row>
<row>
<entry>16</entry><entry><xref linkend="internals2.opcodes.is-not-identical"/></entry><entry>yes</entry>
</row>
<row><entry>17</entry><entry><xref linkend="internals2.opcodes.is-equal"/></entry><entry>yes</entry></row>
<row><entry>18</entry><entry><xref linkend="internals2.opcodes.is-not-equal"/></entry><entry>yes</entry></row>
<row><entry>19</entry><entry><xref linkend="internals2.opcodes.is-smaller"/></entry><entry>yes</entry></row>
<row>
<entry>20</entry><entry><xref linkend="internals2.opcodes.is-smaller-or-equal"/></entry><entry>yes</entry>
</row>
<row><entry>21</entry><entry><xref linkend="internals2.opcodes.cast"/></entry><entry>yes</entry></row>
<row><entry>22</entry><entry><xref linkend="internals2.opcodes.qm-assign"/></entry><entry>yes</entry></row>
<row><entry>23</entry><entry><xref linkend="internals2.opcodes.assign-add"/></entry><entry>yes</entry></row>
<row><entry>24</entry><entry><xref linkend="internals2.opcodes.assign-sub"/></entry><entry>yes</entry></row>
<row><entry>25</entry><entry><xref linkend="internals2.opcodes.assign-mul"/></entry><entry>yes</entry></row>
<row><entry>26</entry><entry><xref linkend="internals2.opcodes.assign-div"/></entry><entry>yes</entry></row>
<row><entry>27</entry><entry><xref linkend="internals2.opcodes.assign-mod"/></entry><entry>yes</entry></row>
<row><entry>28</entry><entry><xref linkend="internals2.opcodes.assign-sl"/></entry><entry>yes</entry></row>
<row><entry>29</entry><entry><xref linkend="internals2.opcodes.assign-sr"/></entry><entry>yes</entry></row>
<row><entry>30</entry><entry><xref linkend="internals2.opcodes.assign-concat"/></entry><entry>yes</entry></row>
<row><entry>31</entry><entry><xref linkend="internals2.opcodes.assign-bw-or"/></entry><entry>yes</entry></row>
<row><entry>32</entry><entry><xref linkend="internals2.opcodes.assign-bw-and"/></entry><entry>yes</entry></row>
<row><entry>33</entry><entry><xref linkend="internals2.opcodes.assign-bw-xor"/></entry><entry>yes</entry></row>
<row><entry>34</entry><entry><xref linkend="internals2.opcodes.pre-inc"/></entry><entry>yes</entry></row>
<row><entry>35</entry><entry><xref linkend="internals2.opcodes.pre-dec"/></entry><entry>yes</entry></row>
<row><entry>36</entry><entry><xref linkend="internals2.opcodes.post-inc"/></entry><entry>yes</entry></row>
<row><entry>37</entry><entry><xref linkend="internals2.opcodes.post-dec"/></entry><entry>yes</entry></row>
<row><entry>38</entry><entry><xref linkend="internals2.opcodes.assign"/></entry><entry>yes</entry></row>
<row><entry>39</entry><entry><xref linkend="internals2.opcodes.assign-ref"/></entry><entry>yes</entry></row>
<row><entry>40</entry><entry><xref linkend="internals2.opcodes.echo"/></entry><entry>yes</entry></row>
<row><entry>41</entry><entry><xref linkend="internals2.opcodes.print"/></entry><entry>yes</entry></row>
<row><entry>42</entry><entry><xref linkend="internals2.opcodes.jmp"/></entry><entry>no</entry></row>
<row><entry>43</entry><entry><xref linkend="internals2.opcodes.jmpz"/></entry><entry>yes</entry></row>
<row><entry>44</entry><entry><xref linkend="internals2.opcodes.jmpnz"/></entry><entry>yes</entry></row>
<row><entry>45</entry><entry><xref linkend="internals2.opcodes.jmpznz"/></entry><entry>yes</entry></row>
<row><entry>46</entry><entry><xref linkend="internals2.opcodes.jmpz-ex"/></entry><entry>yes</entry></row>
<row><entry>47</entry><entry><xref linkend="internals2.opcodes.jmpnz-ex"/></entry><entry>yes</entry></row>
<row><entry>48</entry><entry><xref linkend="internals2.opcodes.case"/></entry><entry>yes</entry></row>
<row><entry>49</entry><entry><xref linkend="internals2.opcodes.switch-free"/></entry><entry>yes</entry></row>
<row><entry>50</entry><entry><xref linkend="internals2.opcodes.brk"/></entry><entry>yes</entry></row>
<row><entry>51</entry><entry><xref linkend="internals2.opcodes.cont"/></entry><entry>no</entry></row>
<row><entry>52</entry><entry><xref linkend="internals2.opcodes.bool"/></entry><entry>yes</entry></row>
<row><entry>53</entry><entry><xref linkend="internals2.opcodes.init-string"/></entry><entry>yes</entry></row>
<row><entry>54</entry><entry><xref linkend="internals2.opcodes.add-char"/></entry><entry>yes</entry></row>
<row><entry>55</entry><entry><xref linkend="internals2.opcodes.add-string"/></entry><entry>yes</entry></row>
<row><entry>56</entry><entry><xref linkend="internals2.opcodes.add-var"/></entry><entry>yes</entry></row>
<row><entry>57</entry><entry><xref linkend="internals2.opcodes.begin-silence"/></entry><entry>yes</entry></row>
<row><entry>58</entry><entry><xref linkend="internals2.opcodes.end-silence"/></entry><entry>yes</entry></row>
<row>
<entry>59</entry><entry><xref linkend="internals2.opcodes.init-fcall-by-name"/></entry><entry>yes</entry>
</row>
<row><entry>60</entry><entry><xref linkend="internals2.opcodes.do-fcall"/></entry><entry>yes</entry></row>
<row>
<entry>61</entry><entry><xref linkend="internals2.opcodes.do-fcall-by-name"/></entry><entry>yes</entry>
</row>
<row><entry>62</entry><entry><xref linkend="internals2.opcodes.return"/></entry><entry>yes</entry></row>
<row><entry>63</entry><entry><xref linkend="internals2.opcodes.recv"/></entry><entry>yes</entry></row>
<row><entry>64</entry><entry><xref linkend="internals2.opcodes.recv-init"/></entry><entry>yes</entry></row>
<row><entry>65</entry><entry><xref linkend="internals2.opcodes.send-val"/></entry><entry>yes</entry></row>
<row><entry>66</entry><entry><xref linkend="internals2.opcodes.send-var"/></entry><entry>yes</entry></row>
<row><entry>67</entry><entry><xref linkend="internals2.opcodes.send-ref"/></entry><entry>yes</entry></row>
<row><entry>68</entry><entry><xref linkend="internals2.opcodes.new"/></entry><entry>yes</entry></row>
<row><entry>69</entry><entry><xref linkend="internals2.opcodes.init-ns-fcall-by-name"/></entry><entry>no</entry></row>
<row><entry>70</entry><entry><xref linkend="internals2.opcodes.free"/></entry><entry>yes</entry></row>
<row><entry>71</entry><entry><xref linkend="internals2.opcodes.init-array"/></entry><entry>yes</entry></row>
<row>
<entry>72</entry><entry><xref linkend="internals2.opcodes.add-array-element"/></entry><entry>yes</entry>
</row>
<row>
<entry>73</entry><entry><xref linkend="internals2.opcodes.include-or-eval"/></entry><entry>yes</entry>
</row>
<row><entry>74</entry><entry><xref linkend="internals2.opcodes.unset-var"/></entry><entry>yes</entry></row>
<row><entry>75</entry><entry><xref linkend="internals2.opcodes.unset-dim"/></entry><entry>yes</entry></row>
<row><entry>76</entry><entry><xref linkend="internals2.opcodes.unset-obj"/></entry><entry>yes</entry></row>
<row><entry>77</entry><entry><xref linkend="internals2.opcodes.fe-reset"/></entry><entry>yes</entry></row>
<row><entry>78</entry><entry><xref linkend="internals2.opcodes.fe-fetch"/></entry><entry>yes</entry></row>
<row><entry>79</entry><entry><xref linkend="internals2.opcodes.exit"/></entry><entry>yes</entry></row>
<row><entry>80</entry><entry><xref linkend="internals2.opcodes.fetch-r"/></entry><entry>yes</entry></row>
<row><entry>81</entry><entry><xref linkend="internals2.opcodes.fetch-dim-r"/></entry><entry>yes</entry></row>
<row><entry>82</entry><entry><xref linkend="internals2.opcodes.fetch-obj-r"/></entry><entry>yes</entry></row>
<row><entry>83</entry><entry><xref linkend="internals2.opcodes.fetch-w"/></entry><entry>yes</entry></row>
<row><entry>84</entry><entry><xref linkend="internals2.opcodes.fetch-dim-w"/></entry><entry>yes</entry></row>
<row><entry>85</entry><entry><xref linkend="internals2.opcodes.fetch-obj-w"/></entry><entry>yes</entry></row>
<row><entry>86</entry><entry><xref linkend="internals2.opcodes.fetch-rw"/></entry><entry>yes</entry></row>
<row><entry>87</entry><entry><xref linkend="internals2.opcodes.fetch-dim-rw"/></entry><entry>yes</entry></row>
<row><entry>88</entry><entry><xref linkend="internals2.opcodes.fetch-obj-rw"/></entry><entry>yes</entry></row>
<row><entry>89</entry><entry><xref linkend="internals2.opcodes.fetch-is"/></entry><entry>yes</entry></row>
<row><entry>90</entry><entry><xref linkend="internals2.opcodes.fetch-dim-is"/></entry><entry>no</entry></row>
<row><entry>91</entry><entry><xref linkend="internals2.opcodes.fetch-obj-is"/></entry><entry>no</entry></row>
<row>
<entry>92</entry><entry><xref linkend="internals2.opcodes.fetch-func-arg"/></entry><entry>yes</entry>
</row>
<row>
<entry>93</entry><entry><xref linkend="internals2.opcodes.fetch-dim-func-arg"/></entry><entry>yes</entry>
</row>
<row>
<entry>94</entry><entry><xref linkend="internals2.opcodes.fetch-obj-func-arg"/></entry><entry>yes</entry>
</row>
<row><entry>95</entry><entry><xref linkend="internals2.opcodes.fetch-unset"/></entry><entry>no</entry></row>
<row>
<entry>96</entry><entry><xref linkend="internals2.opcodes.fetch-dim-unset"/></entry><entry>no</entry>
</row>
<row>
<entry>97</entry><entry><xref linkend="internals2.opcodes.fetch-obj-unset"/></entry><entry>no</entry>
</row>
<row>
<entry>98</entry><entry><xref linkend="internals2.opcodes.fetch-dim-tmp-var"/></entry><entry>yes</entry>
</row>
<row>
<entry>99</entry><entry><xref linkend="internals2.opcodes.fetch-constant"/></entry><entry>yes</entry>
</row>
<row>
<entry>100</entry><entry><xref linkend="internals2.opcodes.goto"/></entry><entry>no</entry>
</row>
<row><entry>101</entry><entry><xref linkend="internals2.opcodes.ext-stmt"/></entry><entry>no</entry></row>
<row>
<entry>102</entry><entry><xref linkend="internals2.opcodes.ext-fcall-begin"/></entry><entry>no</entry>
</row>
<row><entry>103</entry><entry><xref linkend="internals2.opcodes.ext-fcall-end"/></entry><entry>no</entry></row>
<row><entry>104</entry><entry><xref linkend="internals2.opcodes.ext-nop"/></entry><entry>no</entry></row>
<row><entry>105</entry><entry><xref linkend="internals2.opcodes.ticks"/></entry><entry>yes</entry></row>
<row>
<entry>106</entry><entry><xref linkend="internals2.opcodes.send-var-no-ref"/></entry><entry>no</entry>
</row>
<row><entry>107</entry><entry><xref linkend="internals2.opcodes.catch"/></entry><entry>yes</entry></row>
<row><entry>108</entry><entry><xref linkend="internals2.opcodes.throw"/></entry><entry>yes</entry></row>
<row><entry>109</entry><entry><xref linkend="internals2.opcodes.fetch-class"/></entry><entry>yes</entry></row>
<row><entry>110</entry><entry><xref linkend="internals2.opcodes.clone"/></entry><entry>yes</entry></row>
<row>
<entry>111</entry><entry><xref linkend="internals2.opcodes.return-by-ref"/></entry><entry>no</entry>
</row>
<row>
<entry>112</entry><entry><xref linkend="internals2.opcodes.init-method-call"/></entry><entry>yes</entry>
</row>
<row>
<entry>113</entry>
<entry><xref linkend="internals2.opcodes.init-static-method-call"/></entry>
<entry>yes</entry>
</row>
<row>
<entry>114</entry><entry><xref linkend="internals2.opcodes.isset-isempty-var"/></entry><entry>yes</entry>
</row>
<row>
<entry>115</entry><entry><xref linkend="internals2.opcodes.isset-isempty-dim-obj"/></entry><entry>yes</entry>
</row>
<row>
<entry>116</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>117</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>118</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>119</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>120</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>121</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>122</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>123</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>124</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>125</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>126</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>127</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>128</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>129</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>130</entry><entry>not documented</entry><entry>no</entry>
</row>
<row>
<entry>131</entry><entry>not documented</entry><entry>no</entry>
</row>
<row><entry>132</entry><entry><xref linkend="internals2.opcodes.pre-inc-obj"/></entry><entry>yes</entry></row>
<row><entry>133</entry><entry><xref linkend="internals2.opcodes.pre-dec-obj"/></entry><entry>yes</entry></row>
<row><entry>134</entry><entry><xref linkend="internals2.opcodes.post-inc-obj"/></entry><entry>yes</entry></row>
<row><entry>135</entry><entry><xref linkend="internals2.opcodes.post-dec-obj"/></entry><entry>yes</entry></row>
<row><entry>136</entry><entry><xref linkend="internals2.opcodes.assign-obj"/></entry><entry>yes</entry></row>
<row>
<entry>137</entry><entry>not documented</entry><entry>no</entry>
</row>
<row><entry>138</entry><entry><xref linkend="internals2.opcodes.instanceof"/></entry><entry>yes</entry></row>
<row>
<entry>139</entry><entry><xref linkend="internals2.opcodes.declare-class"/></entry><entry>yes</entry>
</row>
<row>
<entry>140</entry>
<entry><xref linkend="internals2.opcodes.declare-inherited-class"/></entry>
<entry>yes</entry>
</row>
<row>
<entry>141</entry><entry><xref linkend="internals2.opcodes.declare-function"/></entry><entry>yes</entry>
</row>
<row>
<entry>142</entry><entry><xref linkend="internals2.opcodes.raise-abstract-error"/></entry><entry>yes</entry>
</row>
<row>
<entry>143</entry><entry><xref linkend="internals2.opcodes.declare-const"/></entry><entry>no</entry>
</row>
<row><entry>144</entry><entry><xref linkend="internals2.opcodes.add-interface"/></entry><entry>no</entry></row>
<row>
<entry>145</entry><entry><xref linkend="internals2.opcodes.declare-inherited-class-delayed"/></entry><entry>no</entry>
</row>
<row>
<entry>146</entry><entry><xref linkend="internals2.opcodes.verify-abstract-class"/></entry><entry>no</entry>
</row>
<row><entry>147</entry><entry><xref linkend="internals2.opcodes.assign-dim"/></entry><entry>yes</entry></row>
<row>
<entry>148</entry><entry><xref linkend="internals2.opcodes.isset-isempty-prop-obj"/></entry><entry>yes</entry>
</row>
<row>
<entry>149</entry><entry><xref linkend="internals2.opcodes.handle-exception"/></entry><entry>yes</entry>
</row>
<row><entry>150</entry><entry><xref linkend="internals2.opcodes.user-opcode"/></entry><entry>no</entry></row>
<row><entry>152</entry><entry><xref linkend="internals2.opcodes.zend-jmp-set"/></entry><entry>no</entry></row>
<row><entry>153</entry><entry><xref linkend="internals2.opcodes.zend-declare-lambda-function"/></entry><entry>no</entry></row>
</tbody>
</tgroup>
</table>
</section>
<chapter xml:id="internals2.opcodes.list">
<title>Opcode Descriptions and Examples</title>
&internals2.opcodes.add;
&internals2.opcodes.add-array-element;
&internals2.opcodes.add-char;
@ -422,6 +320,5 @@
&internals2.opcodes.verify-abstract-class;
&internals2.opcodes.zend-declare-lambda-function;
&internals2.opcodes.zend-jmp-set;
</chapter>
</part>