php-doc-en/internals2/opcodes.xml
2012-02-26 23:48:31 +00:00

324 lines
22 KiB
XML

<?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 Opcodes</title>
<partintro xml:id="internals2.opcodes.preface">
<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>).
</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>yes</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>yes</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.list">
<title>Opcode Descriptions and Examples</title>
&internals2.opcodes.add;
&internals2.opcodes.add-array-element;
&internals2.opcodes.add-char;
&internals2.opcodes.add-interface;
&internals2.opcodes.add-string;
&internals2.opcodes.add-var;
&internals2.opcodes.assign;
&internals2.opcodes.assign-add;
&internals2.opcodes.assign-bw-and;
&internals2.opcodes.assign-bw-or;
&internals2.opcodes.assign-bw-xor;
&internals2.opcodes.assign-concat;
&internals2.opcodes.assign-dim;
&internals2.opcodes.assign-div;
&internals2.opcodes.assign-mod;
&internals2.opcodes.assign-mul;
&internals2.opcodes.assign-obj;
&internals2.opcodes.assign-ref;
&internals2.opcodes.assign-sl;
&internals2.opcodes.assign-sr;
&internals2.opcodes.assign-sub;
&internals2.opcodes.begin-silence;
&internals2.opcodes.bool;
&internals2.opcodes.bool-not;
&internals2.opcodes.bool-xor;
&internals2.opcodes.brk;
&internals2.opcodes.bw-and;
&internals2.opcodes.bw-not;
&internals2.opcodes.bw-or;
&internals2.opcodes.bw-xor;
&internals2.opcodes.case;
&internals2.opcodes.cast;
&internals2.opcodes.catch;
&internals2.opcodes.clone;
&internals2.opcodes.concat;
&internals2.opcodes.cont;
&internals2.opcodes.declare-class;
&internals2.opcodes.declare-const;
&internals2.opcodes.declare-function;
&internals2.opcodes.declare-inherited-class;
&internals2.opcodes.declare-inherited-class-delayed;
&internals2.opcodes.div;
&internals2.opcodes.do-fcall;
&internals2.opcodes.do-fcall-by-name;
&internals2.opcodes.echo;
&internals2.opcodes.end-silence;
&internals2.opcodes.exit;
&internals2.opcodes.ext-fcall-begin;
&internals2.opcodes.ext-fcall-end;
&internals2.opcodes.ext-nop;
&internals2.opcodes.ext-stmt;
&internals2.opcodes.fe-fetch;
&internals2.opcodes.fe-reset;
&internals2.opcodes.fetch-class;
&internals2.opcodes.fetch-constant;
&internals2.opcodes.fetch-dim-func-arg;
&internals2.opcodes.fetch-dim-is;
&internals2.opcodes.fetch-dim-r;
&internals2.opcodes.fetch-dim-rw;
&internals2.opcodes.fetch-dim-tmp-var;
&internals2.opcodes.fetch-dim-unset;
&internals2.opcodes.fetch-dim-w;
&internals2.opcodes.fetch-func-arg;
&internals2.opcodes.fetch-is;
&internals2.opcodes.fetch-obj-func-arg;
&internals2.opcodes.fetch-obj-is;
&internals2.opcodes.fetch-obj-r;
&internals2.opcodes.fetch-obj-rw;
&internals2.opcodes.fetch-obj-unset;
&internals2.opcodes.fetch-obj-w;
&internals2.opcodes.fetch-r;
&internals2.opcodes.fetch-rw;
&internals2.opcodes.fetch-unset;
&internals2.opcodes.fetch-w;
&internals2.opcodes.free;
&internals2.opcodes.goto;
&internals2.opcodes.handle-exception;
&internals2.opcodes.include-or-eval;
&internals2.opcodes.init-array;
&internals2.opcodes.init-fcall-by-name;
&internals2.opcodes.init-method-call;
&internals2.opcodes.init-ns-fcall-by-name;
&internals2.opcodes.init-static-method-call;
&internals2.opcodes.init-string;
&internals2.opcodes.instanceof;
&internals2.opcodes.is-equal;
&internals2.opcodes.is-identical;
&internals2.opcodes.is-not-equal;
&internals2.opcodes.is-not-identical;
&internals2.opcodes.is-smaller;
&internals2.opcodes.is-smaller-or-equal;
&internals2.opcodes.isset-isempty-dim-obj;
&internals2.opcodes.isset-isempty-prop-obj;
&internals2.opcodes.isset-isempty-var;
&internals2.opcodes.jmp;
&internals2.opcodes.jmpnz;
&internals2.opcodes.jmpnz-ex;
&internals2.opcodes.jmpz;
&internals2.opcodes.jmpz-ex;
&internals2.opcodes.jmpznz;
&internals2.opcodes.mod;
&internals2.opcodes.mul;
&internals2.opcodes.new;
&internals2.opcodes.nop;
&internals2.opcodes.post-dec;
&internals2.opcodes.post-dec-obj;
&internals2.opcodes.post-inc;
&internals2.opcodes.post-inc-obj;
&internals2.opcodes.pre-dec;
&internals2.opcodes.pre-dec-obj;
&internals2.opcodes.pre-inc;
&internals2.opcodes.pre-inc-obj;
&internals2.opcodes.print;
&internals2.opcodes.qm-assign;
&internals2.opcodes.raise-abstract-error;
&internals2.opcodes.recv;
&internals2.opcodes.recv-init;
&internals2.opcodes.return;
&internals2.opcodes.return-by-ref;
&internals2.opcodes.send-ref;
&internals2.opcodes.send-val;
&internals2.opcodes.send-var;
&internals2.opcodes.send-var-no-ref;
&internals2.opcodes.sl;
&internals2.opcodes.sr;
&internals2.opcodes.sub;
&internals2.opcodes.switch-free;
&internals2.opcodes.throw;
&internals2.opcodes.ticks;
&internals2.opcodes.unset-dim;
&internals2.opcodes.unset-obj;
&internals2.opcodes.unset-var;
&internals2.opcodes.user-opcode;
&internals2.opcodes.verify-abstract-class;
&internals2.opcodes.zend-declare-lambda-function;
&internals2.opcodes.zend-jmp-set;
</chapter>
</part>