diff --git a/internals2/opcodes.xml b/internals2/opcodes.xml new file mode 100644 index 0000000000..9f261ede41 --- /dev/null +++ b/internals2/opcodes.xml @@ -0,0 +1,9232 @@ + + + + Zend Engine 2 opcode list + + + Opcodes + + 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 + &url.pecl.package;vld). + + + + + Opcodes + +
+ Opcode list + + + Opcode list + + + + Number + Name + Has sample code? + + + + 0yes + 1yes + 2yes + 3yes + 4yes + 5yes + 6yes + 7yes + 8yes + 9yes + 10yes + 11yes + 12yes + 13yes + 14yes + 15yes + + 16yes + + 17yes + 18yes + 19yes + + 20yes + + 21yes + 22yes + 23yes + 24yes + 25yes + 26yes + 27yes + 28yes + 29yes + 30yes + 31yes + 32yes + 33yes + 34yes + 35yes + 36yes + 37yes + 38yes + 39yes + 40yes + 41yes + 42not documentedno + 43yes + 44yes + 45yes + 46yes + 47yes + 48yes + 49yes + 50yes + 51not documentedno + 52yes + 53yes + 54yes + 55yes + 56yes + 57yes + 58yes + + 59yes + + 60yes + + 61yes + + 62yes + 63yes + 64yes + 65yes + 66yes + 67yes + 68yes + 69not documentedno + 70yes + 71yes + + 72yes + + + 73yes + + 74yes + 75yes + 76yes + 77yes + 78yes + 79yes + 80yes + 81yes + 82yes + 83yes + 84yes + 85yes + 86yes + 87yes + 88yes + 89yes + 90no + 91no + + 92yes + + + 93yes + + + 94yes + + 95no + + 96no + + + 97no + + + 98yes + + + 99yes + + + 100not documentedno + + 101no + + 102no + + 103no + 104no + 105yes + + 106no + + 107yes + 108yes + 109yes + 110yes + + 111not documentedno + + + 112yes + + + 113 + + yes + + + 114yes + + + 115yes + + + 116not documentedno + + + 117not documentedno + + + 118not documentedno + + + 119not documentedno + + + 120not documentedno + + + 121not documentedno + + + 122not documentedno + + + 123not documentedno + + + 124not documentedno + + + 125not documentedno + + + 126not documentedno + + + 127not documentedno + + + 128not documentedno + + + 129not documentedno + + + 130not documentedno + + + 131not documentedno + + 132yes + 133yes + 134yes + 135yes + 136yes + + 137not documentedno + + 138yes + + 139yes + + + 140 + + yes + + + 141yes + + + 142yes + + + 143not documentedno + + 144no + + 145not documentedno + + + 146no + + 147yes + + 148yes + + + 149yes + + 150no + + +
+
+ +
+ ADD +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + ADD  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ ADD_ARRAY_ELEMENT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + SEND_VAR  +    + !0 + + +  5 + DO_FCALL  + 1  + 'print_r' + + + 86 + RETURN  +    + 1 + + + + +
+
+
+ ADD_CHAR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + ECHO  +    + 'hello%5C+world' + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ADD_INTERFACE +
+ PHP code + + + +
+
+
+ ADD_STRING +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ADD_STRING  +  ~0 + 'hello' + + +  1 + ADD_VAR  +  ~0 + ~0,!0 + + +  2 + ADD_STRING  +  ~0 + ~0,'+world' + + +  3 + ECHO  +    + ~0 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ ADD_VAR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ADD_STRING  +  ~0 + 'hello' + + +  1 + ADD_VAR  +  ~0 + ~0,!0 + + +  2 + ADD_STRING  +  ~0 + ~0,'+world' + + +  3 + ECHO  +    + ~0 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + ASSIGN  +    + !0,'a' + + + 82 + ZEND_FETCH_CLASS  +  :2 + 'A' + + +  3 + NEW  +  $3 + :2 + + +  4 + DO_FCALL_BY_NAME  + 0  +   + + +  5 + ASSIGN  +    + !0,$3 + + + 96 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_ADD +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_ADD  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_BW_AND +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_BW_AND  +    + !0,64 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_BW_OR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_BW_OR  +    + !0,64 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_BW_XOR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_BW_XOR  +    + !0,64 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_CONCAT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_CONCAT  +    + !0,'z' + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_DIM +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$b, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + FETCH_DIM_W  +  $1 + !1,1 + + +  2 + ZEND_ASSIGN_DIM  +    + $1,2 + + +  3 + ZEND_OP_DATA  +    + !0,$3 + + + 84 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_DIV +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_DIV  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_MOD +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_MOD  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_MUL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_MUL  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_OBJ +
+ PHP code + +a = $otherobj; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj, !1=$otherobj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_ASSIGN_OBJ  +    + !0,'a' + + +  1 + ZEND_OP_DATA  +    + !1 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_REF +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + FETCH_Wgloballock +  $0 + 'a' + + +  1 + ASSIGN_REF  +    + !0,$0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_SL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_SL  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_SR +
+ PHP code + +>= 3; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_SR  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ ASSIGN_SUB +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN_SUB  +    + !0,3 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ BEGIN_SILENCE +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$my_file, !1=$php_errormsg + + + + + line#op + fetchextreturn + operands + + + + + 70 + BEGIN_SILENCE  +  ~0 +   + + +  1 + SEND_VAL  +    + 'non_existent_file' + + +  2 + DO_FCALL  + 1  + 'file' + + +  3 + END_SILENCE  +    + ~0 + + +  4 + ASSIGN  +  $2 + !0,$1 + + +  5 + JMPNZ_EX  +  ~3 + $2,->11 + + + 86 + ADD_STRING  +  ~4 + 'error%3A%27' + + +  7 + ADD_VAR  +  ~4 + ~4,!1 + + +  8 + ADD_CHAR  +  ~4 + ~4,39 + + +  9 + EXIT  +    + ~4 + + +  10 + BOOL  +  ~3 + true + + +  11 + FREE  +    + ~3 + + + 912 + RETURN  +    + 1 + + + + +
+
+
+ BOOL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + JMPNZ_EX  +  ~0 + 1,->2 + + +  1 + BOOL  +  ~0 + 2 + + +  2 + JMPNZ_EX  +  ~0 + ~0,->4 + + +  3 + BOOL  +  ~0 + 1 + + +  4 + JMPZ  +    + ~0,->7 + + +  5 + ECHO  +    + 'foo' + + +  6 + JMP  +    + ->7 + + + 97 + RETURN  +    + 1 + + + + +
+
+
+ BOOL_NOT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BOOL_NOT  +  ~0 + 1 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ BOOL_XOR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BOOL_XOR  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ BRK +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,0 + + + 71 + JMPZ  +    + 1,->7 + + + 82 + IS_EQUAL  +  ~1 + !0,0 + + +  3 + JMPZ  +    + ~1,->6 + + +  4 + BRK  +    + 1 + + +  5 + JMP  +    + ->6 + + + 96 + JMP  +    + ->1 + + + 107 + RETURN  +    + 1 + + + + +
+
+
+ BW_AND +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BW_AND  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ BW_NOT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BW_NOT  +  ~0 + 15 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ BW_OR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BW_OR  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ BW_XOR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BW_XOR  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ CASE +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$i + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,0 + + + 81 + CASE  +  ~1 + !0,0 + + +  2 + JMPZ  +    + ~1,->6 + + + 93 + ECHO  +    + 'i%3D0' + + + 104 + BRK  +    + 1 + + + 115 + JMP  +    + ->8 + + +  6 + CASE  +  ~1 + !0,1 + + +  7 + JMPZ  +    + ~1,->11 + + + 128 + ECHO  +    + 'i%3D1' + + + 139 + BRK  +    + 1 + + + 1410 + JMP  +    + ->13 + + +  11 + CASE  +  ~1 + !0,2 + + +  12 + JMPZ  +    + ~1,->16 + + + 1513 + ECHO  +    + 'i%3D2' + + + 1614 + BRK  +    + 1 + + + 1715 + JMP  +    + ->16 + + + 1816 + RETURN  +    + 1 + + + + +
+
+
+ CAST +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + CAST  +  ~0 + 1 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ CATCH +
+ PHP code + +getMessage(), "\n"; +} + +// Continue execution +echo 'Hello World'; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$error, !1=$e + + + + + line#op + fetchextreturn + operands + + + + + 70 + ASSIGN  +    + !0,'Always+throw+this+error' + + + 81 + ZEND_FETCH_CLASS  +  :1 + 'Exception' + + +  2 + NEW  +  $2 + :1 + + +  3 + SEND_VAR  +    + !0 + + +  4 + DO_FCALL_BY_NAME  + 1  +   + + +  5 + ZEND_THROW  + 0  + $2 + + + 116 + ECHO  +    + 'Never+executed' + + + 137 + JMP  +    + ->15 + + +  8 + ZEND_FETCH_CLASS  +  :4 + 'Exception' + + +  9 + ZEND_CATCH  + 15  + $4,!1 + + + 1410 + ECHO  +    + 'Caught+exception%3A+' + + +  11 + ZEND_INIT_METHOD_CALL  +    + !1,'getMessage' + + +  12 + DO_FCALL_BY_NAME  + 0  +   + + +  13 + ECHO  +    + $6 + + +  14 + ECHO  +    + '%0A' + + + 1815 + ECHO  +    + 'Hello+World' + + + 1916 + RETURN  +    + 1 + + + + +
+
+
+ CLONE +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj, !1=$copy + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ZEND_CLONE  +  $4 + !0 + + +  5 + ASSIGN  +    + !1,$4 + + + 86 + RETURN  +    + 1 + + + + +
+
+
+ CONCAT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + CONCAT  +  ~0 + 'hello','world' + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ DECLARE_CLASS +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 111 + RETURN  +    + 1 + + + + + Function name: methodA + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 80 + ECHO  +    + 'hello+world' + + + 91 + RETURN  +    + null + + + + +
+
+
+ DECLARE_FUNCTION +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 101 + RETURN  +    + 1 + + + + + Function name: funcA + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 80 + RETURN  +    + null + + + + +
+
+
+ DECLARE_INHERITED_CLASS +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$b + + + + + line#op + fetchextreturn + operands + + + + + 60 + JMPZ  +    + !0,->5 + + + 71 + ZEND_DECLARE_CLASS  +  $0 + '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo' + + + 142 + ZEND_FETCH_CLASS  +  :1 + 'Foo' + + +  3 + ZEND_DECLARE_INHERITED_CLASS  +  $2 + '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar' + + + 194 + JMP  +    + ->5 + + + 205 + RETURN  +    + 1 + + + + + Function name: staticValue + Compiled variables: !0=$my_static + + + + + line#op + fetchextreturn + operands + + + + + 100 + ZEND_FETCH_CLASS  +    +   + + +  1 + FETCH_Rstaticmember +  $1 + 'my_static' + + +  2 + RETURN  +    + $1 + + + 113 + RETURN  +    + null + + + + + Function name: fooStatic + Compiled variables: !0=$my_static + + + + + line#op + fetchextreturn + operands + + + + + 160 + ZEND_FETCH_CLASS  +  :0 +   + + +  1 + FETCH_Rstaticmember +  $1 + 'my_static' + + +  2 + ECHO  +    + $1 + + + 173 + RETURN  +    + null + + + + +
+
+
+ DIV +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + DIV  +  ~0 + 6,3 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ DO_FCALL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + DO_FCALL  + 0  + 'phpinfo' + + +  1 + ASSIGN  +    + !0,$0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ DO_FCALL_BY_NAME +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,'phpinfo' + + + 71 + INIT_FCALL_BY_NAME  +    + !0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !1,$1 + + + 84 + RETURN  +    + 1 + + + + +
+
+
+ ECHO +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + ECHO  +    + 'hello+world' + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ END_SILENCE +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$my_file, !1=$php_errormsg + + + + + line#op + fetchextreturn + operands + + + + + 60 + BEGIN_SILENCE  +  ~0 +   + + +  1 + SEND_VAL  +    + 'non_existent_file' + + +  2 + DO_FCALL  + 1  + 'file' + + +  3 + END_SILENCE  +    + ~0 + + +  4 + ASSIGN  +  $2 + !0,$1 + + +  5 + JMPNZ_EX  +  ~3 + $2,->11 + + + 76 + ADD_STRING  +  ~4 + 'error%3A%27' + + +  7 + ADD_VAR  +  ~4 + ~4,!1 + + +  8 + ADD_CHAR  +  ~4 + ~4,39 + + +  9 + EXIT  +    + ~4 + + +  10 + BOOL  +  ~3 + true + + +  11 + FREE  +    + ~3 + + + 812 + RETURN  +    + 1 + + + + +
+
+
+ EXIT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + EXIT  +    + 'foobar' + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ EXT_FCALL_BEGIN +
+ PHP code + + + +
+
+
+ EXT_FCALL_END +
+ PHP code + + + +
+
+
+ EXT_NOP +
+ PHP code + + + +
+
+
+ EXT_STMT +
+ PHP code + + + +
+
+
+ FETCH_CLASS +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_CONSTANT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + SEND_VAL  +    + 'FOO' + + +  1 + SEND_VAL  +    + 'something' + + +  2 + DO_FCALL  + 2  + 'define' + + + 73 + FETCH_CONSTANT  +  ~1 + 'FOO' + + +  4 + ECHO  +    + ~1 + + + 85 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_DIM_FUNC_ARG +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$z + + + + + line#op + fetchextreturn + operands + + + + + 70 + NOP  +    +   + + + 121 + INIT_ARRAY  +  ~0 + 0 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 1 + + +  3 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  4 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  5 + ADD_ARRAY_ELEMENT  +  ~0 + 4 + + +  6 + ADD_ARRAY_ELEMENT  +  ~0 + 5 + + +  7 + ASSIGN  +    + !0,~0 + + + 138 + ASSIGN  +    + !1,'foo' + + + 159 + INIT_FCALL_BY_NAME  +    + !1 + + +  10 + FETCH_DIM_FUNC_ARG  +  $3 + !0,0 + + +  11 + SEND_VAR  +    + $3 + + +  12 + DO_FCALL_BY_NAME  + 1  +   + + + 1713 + RETURN  +    + 1 + + + + + Function name: foo + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 70 + RECV  +    + 1 + + + 91 + PRINT  +  ~0 + !0 + + +  2 + FREE  +    + ~0 + + + 103 + RETURN  +    + null + + + + +
+
+
+ FETCH_DIM_IS +
+ PHP code + + + +
+
+
+ FETCH_DIM_R +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + ASSIGN  +    + !1,'x' + + + 85 + FETCH_DIM_R  +  $3 + !1,0 + + +  6 + FETCH_Rlocal +  $4 + $3 + + +  7 + ECHO  +    + $4 + + + 98 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_DIM_RW +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + ASSIGN  +    + !1,'x' + + + 85 + FETCH_DIM_R  +  $3 + !1,0 + + +  6 + FETCH_RWlocal +  $4 + $3 + + +  7 + POST_INC  +  ~5 + $4 + + +  8 + FREE  +    + ~5 + + + 99 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_DIM_TMP_VAR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 'X' + + +  1 + FETCH_DIM_TMP_VAR  +  $1 + ~0,0 + + +  2 + ASSIGN  +    + !0,$1 + + +  3 + FREE  +    + ~0 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_DIM_UNSET +
+ PHP code + + + +
+
+
+ FETCH_DIM_W +
+ PHP code + + 0){ + $a = 0; +} +/*$input =array(1,2,3); +while (list($var,) = @each($input)){ + unset($$var); +}*/ +/*$a = array(1,2,3); +$x = 'a'; +$$x[0] = 1;*/ + +/*while ($b = each($a)) { + print $b; +}*/ + + + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + IS_SMALLER  +  ~1 + 0,!0 + + +  2 + JMPZ  +    + ~1,->5 + + + 83 + ASSIGN  +    + !0,0 + + + 94 + JMP  +    + ->1 + + + 235 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_FUNC_ARG +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$y, !2=$z + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 101 + ASSIGN  +    + !0,1 + + + 112 + ASSIGN  +    + !1,'x' + + + 123 + ASSIGN  +    + !2,'foo' + + + 144 + INIT_FCALL_BY_NAME  +    + !2 + + +  5 + FETCH_FUNC_ARGlocal +  $3 + !1 + + +  6 + SEND_VAR  +    + $3 + + +  7 + DO_FCALL_BY_NAME  + 1  +   + + + 168 + RETURN  +    + 1 + + + + + Function name: foo + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 60 + RECV  +    + 1 + + + 81 + RETURN  +    + null + + + + +
+
+
+ FETCH_IS +
+ PHP code + +prop->prop); + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + FETCH_IS  +  $0 + '_SESSION' + + +  1 + ZEND_ISSET_ISEMPTY_DIM_OBJ  + 1~1 + $0,'userid' + + +  2 + ECHO  +    + ~1 + + + 73 + FETCH_IS  +  $2 + '_SESSION' + + +  4 + FETCH_DIM_IS  +  $3 + $2,'userid' + + +  5 + ZEND_ISSET_ISEMPTY_DIM_OBJ  + 1~4 + $3,1 + + +  6 + ECHO  +    + ~4 + + + 87 + FETCH_IS  +  $5 + '_SESSION' + + +  8 + FETCH_OBJ_IS  +  $6 + $5,'prop' + + +  9 + ZEND_ISSET_ISEMPTY_PROP_OBJ  +  ~7 + $6,'prop' + + +  10 + ECHO  +    + ~7 + + + 911 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_OBJ_FUNC_ARG +
+ PHP code + +num; +$z($obj->num); + + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$z, !1=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + INCLUDE_OR_EVAL  +    + '.%2FclassA.php',INCLUDE + + + 81 + NOP  +    +   + + + 132 + ASSIGN  +    + !0,'foo' + + + 153 + ZEND_FETCH_CLASS  +  :2 + 'A' + + +  4 + NEW  +  $3 + :2 + + +  5 + DO_FCALL_BY_NAME  + 0  +   + + +  6 + ASSIGN  +    + !1,$3 + + + 167 + FETCH_OBJ_R  +  $6 + !1,'num' + + +  8 + PRINT  +  ~7 + $6 + + +  9 + FREE  +    + ~7 + + + 1710 + INIT_FCALL_BY_NAME  +    + !0 + + +  11 + FETCH_OBJ_FUNC_ARG  +  $8 + !1,'num' + + +  12 + SEND_VAR  +    + $8 + + +  13 + DO_FCALL_BY_NAME  + 1  +   + + + 1914 + RETURN  +    + 1 + + + + + Function name: foo + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 80 + RECV  +    + 1 + + + 101 + PRINT  +  ~0 + !0 + + +  2 + FREE  +    + ~0 + + + 113 + RETURN  +    + null + + + + + Function name: foo + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 80 + RECV  +    + 1 + + + 101 + PRINT  +  ~0 + !0 + + +  2 + FREE  +    + ~0 + + + 113 + RETURN  +    + null + + + + +
+
+
+ FETCH_OBJ_IS +
+ PHP code + + + +
+
+
+ FETCH_OBJ_R +
+ PHP code + +num; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ASSIGN  +    + !1,'x' + + + 85 + FETCH_Rlocal +  $5 + !1 + + +  6 + FETCH_OBJ_R  +  $6 + $5,'num' + + +  7 + ECHO  +    + $6 + + + 98 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_OBJ_RW +
+ PHP code + +num++; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ASSIGN  +    + !1,'x' + + + 85 + FETCH_RWlocal +  $5 + !1 + + +  6 + ZEND_POST_INC_OBJ  +  ~7 + $5,'num' + + +  7 + FREE  +    + ~7 + + + 98 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_OBJ_UNSET +
+ PHP code + + + +
+
+
+ FETCH_OBJ_W +
+ PHP code + +num = 1;; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ASSIGN  +    + !1,'x' + + + 85 + FETCH_Wlocal +  $5 + !1 + + +  6 + ZEND_ASSIGN_OBJ  +    + $5,'num' + + +  7 + ZEND_OP_DATA  +    + 1 + + + 98 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_R +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + ASSIGN  +    + !1,'x' + + + 82 + FETCH_Rlocal +  $2 + !1 + + +  3 + ECHO  +    + $2 + + + 94 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_RW +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + ASSIGN  +    + !1,'x' + + + 82 + FETCH_RWlocal +  $2 + !1 + + +  3 + POST_INC  +  ~3 + $2 + + +  4 + FREE  +    + ~3 + + + 95 + RETURN  +    + 1 + + + + +
+
+
+ FETCH_UNSET +
+ PHP code + + + +
+
+
+ FETCH_W +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + ASSIGN  +    + !1,'x' + + + 82 + FETCH_Wlocal +  $2 + !1 + + +  3 + ASSIGN  +    + $2,2 + + + 94 + RETURN  +    + 1 + + + + +
+
+
+ FE_FETCH +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a, !1=$num + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + FE_RESET  +  $2 + !0,->11 + + +  5 + FE_FETCH  +  $3 + $2,->11 + + +  6 + ZEND_OP_DATA  +    +   + + +  7 + ASSIGN  +    + !1,$3 + + + 88 + PRINT  +  ~5 + !1 + + +  9 + FREE  +    + ~5 + + + 910 + JMP  +    + ->5 + + +  11 + SWITCH_FREE  +    + $2 + + + 1012 + RETURN  +    + 1 + + + + +
+
+
+ FE_RESET +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a, !1=$num + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + FE_RESET  +  $2 + !0,->11 + + +  5 + FE_FETCH  +  $3 + $2,->11 + + +  6 + ZEND_OP_DATA  +    +   + + +  7 + ASSIGN  +    + !1,$3 + + + 88 + PRINT  +  ~5 + !1 + + +  9 + FREE  +    + ~5 + + + 910 + JMP  +    + ->5 + + +  11 + SWITCH_FREE  +    + $2 + + + 1012 + RETURN  +    + 1 + + + + +
+
+
+ FREE +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + PRINT  +  ~0 + 'Hello+World' + + +  1 + FREE  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ HANDLE_EXCEPTION +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + RETURN  +    + 1 + + + + +
+
+
+ INCLUDE_OR_EVAL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + INCLUDE_OR_EVAL  +    + 'test.php',INCLUDE + + + 71 + INCLUDE_OR_EVAL  +    + 'test.php',EVAL + + + 82 + RETURN  +    + 1 + + + + + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 20 + DO_FCALL  + 0  + 'phpinfo' + + + 31 + RETURN  +    + 1 + + + + +
+
+
+ INIT_ARRAY +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + SEND_VAR  +    + !0 + + +  5 + DO_FCALL  + 1  + 'print_r' + + + 86 + RETURN  +    + 1 + + + + +
+
+
+ INIT_FCALL_BY_NAME +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,'phpinfo' + + + 71 + INIT_FCALL_BY_NAME  +    + !0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !1,$1 + + + 84 + RETURN  +    + 1 + + + + +
+
+
+ INIT_METHOD_CALL +
+ PHP code + +incrementNum(); + + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 131 + ZEND_FETCH_CLASS  +  :1 + 'A' + + +  2 + NEW  +  $2 + :1 + + +  3 + DO_FCALL_BY_NAME  + 0  +   + + +  4 + ASSIGN  +    + !0,$2 + + + 145 + ZEND_INIT_METHOD_CALL  +    + !0,'incrementNum' + + +  6 + DO_FCALL_BY_NAME  + 0  +   + + + 167 + RETURN  +    + 1 + + + + + Function name: incrementNum + Compiled variables: !0=$num + + + + + line#op + fetchextreturn + operands + + + + + 90 + POST_INC  +  ~0 + !0 + + +  1 + FREE  +    + ~0 + + + 102 + RETURN  +    + null + + + + +
+
+
+ INIT_STATIC_METHOD_CALL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 121 + ZEND_INIT_STATIC_METHOD_CALL  +    + 'Foo','aStaticMethod' + + +  2 + ZEND_OP_DATA  +    + 'foo%3A%3Aastaticmethod' + + +  3 + DO_FCALL_BY_NAME  + 0  +   + + + 134 + RETURN  +    + 1 + + + + + Function name: aStaticMethod + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 80 + ECHO  +    + 'hello+world%0A' + + + 91 + RETURN  +    + null + + + + +
+
+
+ INIT_STRING +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ADD_STRING  +  ~0 + 'hello' + + +  1 + ADD_VAR  +  ~0 + ~0,!0 + + +  2 + ADD_STRING  +  ~0 + ~0,'+world' + + +  3 + ECHO  +    + ~0 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ INSTANCEOF +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 84 + ZEND_FETCH_CLASS  +  :4 + 'A' + + +  5 + ZEND_INSTANCEOF  +  ~5 + !0,$4 + + +  6 + JMPZ  +    + ~5,->9 + + + 97 + ECHO  +    + 'A' + + + 108 + JMP  +    + ->9 + + + 119 + RETURN  +    + 1 + + + + +
+
+
+ ISSET_ISEMPTY_DIM_OBJ +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_ISSET_ISEMPTY_DIM_OBJ  + 1~0 + !0,0 + + +  1 + JMPZ  +    + ~0,->4 + + +  2 + RETURN  +    + 0 + + +  3 + JMP  +    + ->4 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ ISSET_ISEMPTY_PROP_OBJ +
+ PHP code + +num)) return 0; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ZEND_ISSET_ISEMPTY_PROP_OBJ  +  ~4 + !0,'num' + + +  5 + JMPZ  +    + ~4,->8 + + +  6 + RETURN  +    + 0 + + +  7 + JMP  +    + ->8 + + + 88 + RETURN  +    + 1 + + + + +
+
+
+ ISSET_ISEMPTY_VAR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_ISSET_ISEMPTY_VAR  + 5~0 + !0 + + +  1 + JMPZ  +    + ~0,->4 + + +  2 + RETURN  +    + 0 + + +  3 + JMP  +    + ->4 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ IS_EQUAL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_EQUAL  +  ~0 + 1,1 + + +  1 + ECHO  +    + ~0 + + + 72 + IS_EQUAL  +  ~1 + 1,'c' + + +  3 + ECHO  +    + ~1 + + + 84 + RETURN  +    + 1 + + + + +
+
+
+ IS_IDENTICAL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_IDENTICAL  +  ~0 + 1,1 + + +  1 + ECHO  +    + ~0 + + + 72 + IS_IDENTICAL  +  ~1 + 1,'a' + + +  3 + ECHO  +    + ~1 + + + 84 + RETURN  +    + 1 + + + + +
+
+
+ IS_NOT_EQUAL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_NOT_EQUAL  +  ~0 + 1,1 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ IS_NOT_IDENTICAL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_NOT_IDENTICAL  +  ~0 + 1,1 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ IS_SMALLER +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_SMALLER  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ IS_SMALLER_OR_EQUAL +
+ PHP code + += 2); + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_SMALLER_OR_EQUAL  +  ~0 + 2,1 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ JMPNZ +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$i + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,0 + + +  1 + IS_SMALLER  +  ~1 + !0,3 + + +  2 + JMPZNZ  + 6  + ~1,->8 + + +  3 + POST_INC  +  ~2 + !0 + + +  4 + FREE  +    + ~2 + + +  5 + JMP  +    + ->1 + + + 76 + ECHO  +    + 'hi' + + + 87 + JMP  +    + ->3 + + + 98 + RETURN  +    + 1 + + + + +
+
+
+ JMPNZ_EX +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BW_XOR  +  ~0 + 1,2 + + +  1 + JMPZ  +    + ~0,->4 + + +  2 + RETURN  +    + null + + +  3 + JMP  +    + ->4 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ JMPZ +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + IS_NOT_EQUAL  +  ~0 + !0,0 + + +  1 + JMPZ  +    + ~0,->4 + + +  2 + ECHO  +    + 'foo' + + +  3 + JMP  +    + ->4 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ JMPZNZ +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$i + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,0 + + +  1 + IS_SMALLER  +  ~1 + !0,3 + + +  2 + JMPZNZ  + 6  + ~1,->8 + + +  3 + POST_INC  +  ~2 + !0 + + +  4 + FREE  +    + ~2 + + +  5 + JMP  +    + ->1 + + + 76 + ECHO  +    + 'hi' + + + 87 + JMP  +    + ->3 + + + 98 + RETURN  +    + 1 + + + + +
+
+
+ JMPZ_EX +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 70 + RETURN  +    + 1 + + + + +
+
+
+ MOD +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + MOD  +  ~0 + 6,3 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ MUL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + MUL  +  ~0 + 2,3 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ NEW +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + RETURN  +    + 1 + + + + +
+
+
+ NOP +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 71 + RETURN  +    + 1 + + + + + Function name: A + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + RETURN  +    + null + + + + +
+
+
+ POST_DEC +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + POST_DEC  +  ~0 + !0 + + +  1 + FREE  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ POST_DEC_OBJ +
+ PHP code + +num--; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ZEND_POST_DEC_OBJ  +  ~5 + !0,'num' + + +  5 + FREE  +    + ~5 + + + 86 + RETURN  +    + 1 + + + + +
+
+
+ POST_INC +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + POST_INC  +  ~0 + !0 + + +  1 + FREE  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ POST_INC_OBJ +
+ PHP code + +num++; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ZEND_POST_INC_OBJ  +  ~5 + !0,'num' + + +  5 + FREE  +    + ~5 + + + 86 + RETURN  +    + 1 + + + + +
+
+
+ PRE_DEC +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + PRE_DEC  +    + !0 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ PRE_DEC_OBJ +
+ PHP code + +num; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ZEND_PRE_DEC_OBJ  +    + !0,'num' + + + 85 + RETURN  +    + 1 + + + + +
+
+
+ PRE_INC +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + PRE_INC  +    + !0 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ PRE_INC_OBJ +
+ PHP code + +num; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + ZEND_PRE_INC_OBJ  +    + !0,'num' + + + 85 + RETURN  +    + 1 + + + + +
+
+
+ PRINT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + PRINT  +  ~0 + 'Hello+World' + + +  1 + FREE  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ QM_ASSIGN +
+ PHP code + + 1 ? 10: 11; +} + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 101 + NOP  +    +   + + + 142 + RETURN  +    + 1 + + + + + Function name: A + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 70 + JMPZ  +    + 1,->3 + + +  1 + QM_ASSIGN  +  ~0 + 2 + + +  2 + JMP  +    + ->4 + + +  3 + QM_ASSIGN  +  ~0 + 3 + + +  4 + ECHO  +    + ~0 + + + 85 + RETURN  +    + null + + + + + Function name: B + Compiled variables: !0=$b, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 110 + ASSIGN  +    + !0,0 + + + 121 + IS_SMALLER  +  ~1 + 1,!0 + + +  2 + JMPZ  +    + ~1,->5 + + +  3 + QM_ASSIGN  +  ~2 + 10 + + +  4 + JMP  +    + ->6 + + +  5 + QM_ASSIGN  +  ~2 + 11 + + +  6 + ASSIGN  +    + !1,~2 + + + 137 + RETURN  +    + null + + + + +
+
+
+ RAISE_ABSTRACT_ERROR +
+ PHP code + +show(); + +$t = new fail(); +$t->show(); + +echo "Done\n"; // shouldn't be displayed + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$t2, !1=$t + + + + + line#op + fetchextreturn + operands + + + + + 70 + NOP  +    +   + + + 111 + NOP  +    +   + + +  2 + NOP  +    +   + + + 173 + ZEND_FETCH_CLASS  +  :3 + 'pass' + + +  4 + NEW  +  $4 + :3 + + +  5 + DO_FCALL_BY_NAME  + 0  +   + + +  6 + ASSIGN  +    + !0,$4 + + + 187 + ZEND_INIT_METHOD_CALL  +    + !0,'show' + + +  8 + DO_FCALL_BY_NAME  + 0  +   + + + 209 + ZEND_FETCH_CLASS  +  :9 + 'fail' + + +  10 + NEW  +  $10 + :9 + + +  11 + DO_FCALL_BY_NAME  + 0  +   + + +  12 + ASSIGN  +    + !1,$10 + + + 2113 + ZEND_INIT_METHOD_CALL  +    + !1,'show' + + +  14 + DO_FCALL_BY_NAME  + 0  +   + + + 2315 + ECHO  +    + 'Done%0A' + + + 2416 + RETURN  +    + 1 + + + + + Function name: show + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 80 + ZEND_RAISE_ABSTRACT_ERROR  +    +   + + +  1 + RETURN  +    + null + + + + + Function name: show + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 130 + ECHO  +    + 'Call+to+function+show%28%29%0A' + + + 141 + RETURN  +    + null + + + + +
+
+
+ RECV +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 71 + RETURN  +    + 1 + + + + + Function name: hello + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + RECV  +    + 1 + + +  1 + RETURN  +    + null + + + + +
+
+
+ RECV_INIT +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 71 + RETURN  +    + 1 + + + + + Function name: hello + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + RECV_INIT  +    + 1,5 + + +  1 + RETURN  +    + null + + + + +
+
+
+ RETURN +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + RETURN  +    + 1 + + + 71 + RETURN  +    + 1 + + + + +
+
+
+ SEND_REF +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + BEGIN_SILENCE  +  ~0 +   + + +  1 + FETCH_Wlocal +  $1 + 'input' + + +  2 + SEND_REF  +    + $1 + + +  3 + DO_FCALL  + 1  + 'each' + + +  4 + END_SILENCE  +    + ~0 + + + 75 + RETURN  +    + 1 + + + + +
+
+
+ SEND_VAL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + NOP  +    +   + + + 101 + SEND_VAL  +    + 'HELLO' + + +  2 + DO_FCALL  + 1  + 'funca' + + + 123 + SEND_VAL  +    + 'IN_PHPBB' + + +  4 + DO_FCALL  + 1  + 'defined' + + + 135 + RETURN  +    + 1 + + + + + Function name: funcA + Compiled variables: !0=$msg + + + + + line#op + fetchextreturn + operands + + + + + 60 + RECV  +    + 1 + + + 71 + PRINT  +  ~0 + !0 + + +  2 + FREE  +    + ~0 + + + 83 + RETURN  +    + null + + + + +
+
+
+ SEND_VAR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + SEND_VAR  +    + !0 + + +  5 + DO_FCALL  + 1  + 'is_array' + + +  6 + JMPZ  +    + $2,->9 + + +  7 + RETURN  +    + 0 + + +  8 + JMP  +    + ->9 + + + 89 + RETURN  +    + 1 + + + + +
+
+
+ SEND_VAR_NO_REF +
+ PHP code + + + +
+
+
+ SL +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + SL  +  ~0 + 8,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ SR +
+ PHP code + +> 2; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + SR  +  ~0 + 8,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ SUB +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 60 + SUB  +  ~0 + 1,2 + + +  1 + ECHO  +    + ~0 + + + 72 + RETURN  +    + 1 + + + + +
+
+
+ SWITCH_FREE +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a, !1=$num + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + FE_RESET  +  $2 + !0,->11 + + +  5 + FE_FETCH  +  $3 + $2,->11 + + +  6 + ZEND_OP_DATA  +    +   + + +  7 + ASSIGN  +    + !1,$3 + + + 88 + PRINT  +  ~5 + !1 + + +  9 + FREE  +    + ~5 + + + 910 + JMP  +    + ->5 + + +  11 + SWITCH_FREE  +    + $2 + + + 1012 + RETURN  +    + 1 + + + + +
+
+
+ THROW +
+ PHP code + +getMessage(), "\n"; +} + +// Continue execution +echo 'Hello World'; + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$error, !1=$e + + + + + line#op + fetchextreturn + operands + + + + + 70 + ASSIGN  +    + !0,'Always+throw+this+error' + + + 81 + ZEND_FETCH_CLASS  +  :1 + 'Exception' + + +  2 + NEW  +  $2 + :1 + + +  3 + SEND_VAR  +    + !0 + + +  4 + DO_FCALL_BY_NAME  + 1  +   + + +  5 + ZEND_THROW  + 0  + $2 + + + 116 + ECHO  +    + 'Never+executed' + + + 137 + JMP  +    + ->15 + + +  8 + ZEND_FETCH_CLASS  +  :4 + 'Exception' + + +  9 + ZEND_CATCH  + 15  + $4,!1 + + + 1410 + ECHO  +    + 'Caught+exception%3A+' + + +  11 + ZEND_INIT_METHOD_CALL  +    + !1,'getMessage' + + +  12 + DO_FCALL_BY_NAME  + 0  +   + + +  13 + ECHO  +    + $6 + + +  14 + ECHO  +    + '%0A' + + + 1815 + ECHO  +    + 'Hello+World' + + + 1916 + RETURN  +    + 1 + + + + +
+
+
+ TICKS +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x + + + + + line#op + fetchextreturn + operands + + + + + 70 + NOP  +    +   + + + 131 + SEND_VAL  +    + 'profile' + + +  2 + DO_FCALL  + 1  + 'register_tick_function' + + + 163 + DO_FCALL  + 0  + 'profile' + + + 204 + ASSIGN  +    + !0,0 + + +  5 + IS_SMALLER  +  ~3 + !0,10 + + +  6 + JMPZNZ  + 9  + ~3,->13 + + +  7 + PRE_INC  +    + !0 + + +  8 + JMP  +    + ->5 + + + 219 + ECHO  +    + 'hello+world%0A' + + +  10 + TICKS  +    + 2 + + + 2211 + TICKS  +    + 2 + + +  12 + JMP  +    + ->7 + + +  13 + TICKS  +    + 2 + + + 2314 + TICKS  +    + 2 + + + 2415 + RETURN  +    + 1 + + + + + Function name: profile + Compiled variables: none + + + + + line#op + fetchextreturn + operands + + + + + 90 + ECHO  +    + 'profile+function+is+called%0A' + + + 101 + RETURN  +    + null + + + + +
+
+
+ UNSET_DIM +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + INIT_ARRAY  +  ~0 + 1 + + +  1 + ADD_ARRAY_ELEMENT  +  ~0 + 2 + + +  2 + ADD_ARRAY_ELEMENT  +  ~0 + 3 + + +  3 + ASSIGN  +    + !0,~0 + + + 74 + UNSET_DIM  +  $2 + !0,0 + + + 85 + RETURN  +    + 1 + + + + +
+
+
+ UNSET_OBJ +
+ PHP code + +num); + +]]> + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$obj + + + + + line#op + fetchextreturn + operands + + + + + 60 + ZEND_FETCH_CLASS  +  :0 + 'A' + + +  1 + NEW  +  $1 + :0 + + +  2 + DO_FCALL_BY_NAME  + 0  +   + + +  3 + ASSIGN  +    + !0,$1 + + + 74 + UNSET_OBJ  +  $4 + !0,'num' + + + 85 + RETURN  +    + 1 + + + + +
+
+
+ UNSET_VAR +
+ PHP code + + + +
+
+ PHP opcodes + Function name: (null) + Compiled variables: !0=$x, !1=$a + + + + + line#op + fetchextreturn + operands + + + + + 60 + ASSIGN  +    + !0,1 + + + 71 + ASSIGN  +    + !1,'x' + + + 82 + UNSET_VAR  +  $2 + !1 + + + 93 + RETURN  +    + 1 + + + + +
+
+
+ USER_OPCODE +
+ PHP code + + + +
+
+
+ VERIFY_ABSTRACT_CLASS +
+ PHP code + + + +
+
+
+