]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.4' into PHP-5.5
authorBob Weinand <bobwei9@hotmail.com>
Sat, 21 Dec 2013 22:49:28 +0000 (23:49 +0100)
committerBob Weinand <bobwei9@hotmail.com>
Sat, 21 Dec 2013 22:49:28 +0000 (23:49 +0100)
Conflicts:
Zend/zend_vm_opcodes.h

1  2 
Zend/zend_vm_gen.php
Zend/zend_vm_opcodes.c
Zend/zend_vm_opcodes.h

index 3eddeefbebacfa71c13f473d8fdcb72a6097429f,5621a60f0d3f3a03c533efd3b02c62f1b93375b3..551599d7ace00a58fbf2cc8e845a4a56bc47a69e
@@@ -1188,19 -1210,28 +1189,28 @@@ function gen_vm($def, $skel) 
                fputs($f,"#define $op $code\n");
        }
  
-       fputs($f,"\nstatic const char *zend_vm_opcodes_map[] = {\n");
+       fputs($f, "\n#endif");
+       fclose($f);
+       echo "zend_vm_opcodes.h generated successfully.\n";
+       // zend_vm_opcodes.c
 -      $f = fopen("zend_vm_opcodes.c", "w+") or die("ERROR: Cannot create zend_vm_opcodes.c\n");
++      $f = fopen(__DIR__ . "zend_vm_opcodes.c", "w+") or die("ERROR: Cannot create zend_vm_opcodes.c\n");
+       // Insert header
+       out($f, $GLOBALS['header_text']);
+       fputs($f,"const char *zend_vm_opcodes_map[".($max_opcode + 1)."] = {\n");
        for ($i = 0; $i <= $max_opcode; $i++) {
                fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n");
        }
        fputs($f, "};\n");
  
-       fputs($f, "\n#endif");
        fclose($f);
-       echo "zend_vm_opcodes.h generated successfully.\n";
+       echo "zend_vm_opcodes.c generated successfully.\n";
  
        // Generate zend_vm_execute.h
 -      $f = fopen("zend_vm_execute.h", "w+") or die("ERROR: Cannot create zend_vm_execute.h\n");
 -      $executor_file = realpath("zend_vm_execute.h");
 +      $f = fopen(__DIR__ . "/zend_vm_execute.h", "w+") or die("ERROR: Cannot create zend_vm_execute.h\n");
 +      $executor_file = realpath(__DIR__ . "/zend_vm_execute.h");
  
        // Insert header
        out($f, $GLOBALS['header_text']);
index 0000000000000000000000000000000000000000,88364bba67489c95d701690df20bc90544c90e54..55a0de12e927deba1d02af523c8e85f162278164
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,181 +1,186 @@@
 -const char *zend_vm_opcodes_map[159] = {
+ /*
+    +----------------------------------------------------------------------+
+    | Zend Engine                                                          |
+    +----------------------------------------------------------------------+
+    | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
+    +----------------------------------------------------------------------+
+    | This source file is subject to version 2.00 of the Zend license,     |
+    | that is bundled with this package in the file LICENSE, and is        |
+    | available through the world-wide-web at the following url:           |
+    | http://www.zend.com/license/2_00.txt.                                |
+    | If you did not receive a copy of the Zend license and are unable to  |
+    | obtain it through the world-wide-web, please send a note to          |
+    | license@zend.com so we can mail you a copy immediately.              |
+    +----------------------------------------------------------------------+
+    | Authors: Andi Gutmans <andi@zend.com>                                |
+    |          Zeev Suraski <zeev@zend.com>                                |
+    |          Dmitry Stogov <dmitry@zend.com>                             |
+    +----------------------------------------------------------------------+
+ */
++const char *zend_vm_opcodes_map[164] = {
+       "ZEND_NOP",
+       "ZEND_ADD",
+       "ZEND_SUB",
+       "ZEND_MUL",
+       "ZEND_DIV",
+       "ZEND_MOD",
+       "ZEND_SL",
+       "ZEND_SR",
+       "ZEND_CONCAT",
+       "ZEND_BW_OR",
+       "ZEND_BW_AND",
+       "ZEND_BW_XOR",
+       "ZEND_BW_NOT",
+       "ZEND_BOOL_NOT",
+       "ZEND_BOOL_XOR",
+       "ZEND_IS_IDENTICAL",
+       "ZEND_IS_NOT_IDENTICAL",
+       "ZEND_IS_EQUAL",
+       "ZEND_IS_NOT_EQUAL",
+       "ZEND_IS_SMALLER",
+       "ZEND_IS_SMALLER_OR_EQUAL",
+       "ZEND_CAST",
+       "ZEND_QM_ASSIGN",
+       "ZEND_ASSIGN_ADD",
+       "ZEND_ASSIGN_SUB",
+       "ZEND_ASSIGN_MUL",
+       "ZEND_ASSIGN_DIV",
+       "ZEND_ASSIGN_MOD",
+       "ZEND_ASSIGN_SL",
+       "ZEND_ASSIGN_SR",
+       "ZEND_ASSIGN_CONCAT",
+       "ZEND_ASSIGN_BW_OR",
+       "ZEND_ASSIGN_BW_AND",
+       "ZEND_ASSIGN_BW_XOR",
+       "ZEND_PRE_INC",
+       "ZEND_PRE_DEC",
+       "ZEND_POST_INC",
+       "ZEND_POST_DEC",
+       "ZEND_ASSIGN",
+       "ZEND_ASSIGN_REF",
+       "ZEND_ECHO",
+       "ZEND_PRINT",
+       "ZEND_JMP",
+       "ZEND_JMPZ",
+       "ZEND_JMPNZ",
+       "ZEND_JMPZNZ",
+       "ZEND_JMPZ_EX",
+       "ZEND_JMPNZ_EX",
+       "ZEND_CASE",
+       "ZEND_SWITCH_FREE",
+       "ZEND_BRK",
+       "ZEND_CONT",
+       "ZEND_BOOL",
+       "ZEND_INIT_STRING",
+       "ZEND_ADD_CHAR",
+       "ZEND_ADD_STRING",
+       "ZEND_ADD_VAR",
+       "ZEND_BEGIN_SILENCE",
+       "ZEND_END_SILENCE",
+       "ZEND_INIT_FCALL_BY_NAME",
+       "ZEND_DO_FCALL",
+       "ZEND_DO_FCALL_BY_NAME",
+       "ZEND_RETURN",
+       "ZEND_RECV",
+       "ZEND_RECV_INIT",
+       "ZEND_SEND_VAL",
+       "ZEND_SEND_VAR",
+       "ZEND_SEND_REF",
+       "ZEND_NEW",
+       "ZEND_INIT_NS_FCALL_BY_NAME",
+       "ZEND_FREE",
+       "ZEND_INIT_ARRAY",
+       "ZEND_ADD_ARRAY_ELEMENT",
+       "ZEND_INCLUDE_OR_EVAL",
+       "ZEND_UNSET_VAR",
+       "ZEND_UNSET_DIM",
+       "ZEND_UNSET_OBJ",
+       "ZEND_FE_RESET",
+       "ZEND_FE_FETCH",
+       "ZEND_EXIT",
+       "ZEND_FETCH_R",
+       "ZEND_FETCH_DIM_R",
+       "ZEND_FETCH_OBJ_R",
+       "ZEND_FETCH_W",
+       "ZEND_FETCH_DIM_W",
+       "ZEND_FETCH_OBJ_W",
+       "ZEND_FETCH_RW",
+       "ZEND_FETCH_DIM_RW",
+       "ZEND_FETCH_OBJ_RW",
+       "ZEND_FETCH_IS",
+       "ZEND_FETCH_DIM_IS",
+       "ZEND_FETCH_OBJ_IS",
+       "ZEND_FETCH_FUNC_ARG",
+       "ZEND_FETCH_DIM_FUNC_ARG",
+       "ZEND_FETCH_OBJ_FUNC_ARG",
+       "ZEND_FETCH_UNSET",
+       "ZEND_FETCH_DIM_UNSET",
+       "ZEND_FETCH_OBJ_UNSET",
+       "ZEND_FETCH_DIM_TMP_VAR",
+       "ZEND_FETCH_CONSTANT",
+       "ZEND_GOTO",
+       "ZEND_EXT_STMT",
+       "ZEND_EXT_FCALL_BEGIN",
+       "ZEND_EXT_FCALL_END",
+       "ZEND_EXT_NOP",
+       "ZEND_TICKS",
+       "ZEND_SEND_VAR_NO_REF",
+       "ZEND_CATCH",
+       "ZEND_THROW",
+       "ZEND_FETCH_CLASS",
+       "ZEND_CLONE",
+       "ZEND_RETURN_BY_REF",
+       "ZEND_INIT_METHOD_CALL",
+       "ZEND_INIT_STATIC_METHOD_CALL",
+       "ZEND_ISSET_ISEMPTY_VAR",
+       "ZEND_ISSET_ISEMPTY_DIM_OBJ",
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       "ZEND_PRE_INC_OBJ",
+       "ZEND_PRE_DEC_OBJ",
+       "ZEND_POST_INC_OBJ",
+       "ZEND_POST_DEC_OBJ",
+       "ZEND_ASSIGN_OBJ",
+       NULL,
+       "ZEND_INSTANCEOF",
+       "ZEND_DECLARE_CLASS",
+       "ZEND_DECLARE_INHERITED_CLASS",
+       "ZEND_DECLARE_FUNCTION",
+       "ZEND_RAISE_ABSTRACT_ERROR",
+       "ZEND_DECLARE_CONST",
+       "ZEND_ADD_INTERFACE",
+       "ZEND_DECLARE_INHERITED_CLASS_DELAYED",
+       "ZEND_VERIFY_ABSTRACT_CLASS",
+       "ZEND_ASSIGN_DIM",
+       "ZEND_ISSET_ISEMPTY_PROP_OBJ",
+       "ZEND_HANDLE_EXCEPTION",
+       "ZEND_USER_OPCODE",
+       NULL,
+       "ZEND_JMP_SET",
+       "ZEND_DECLARE_LAMBDA_FUNCTION",
+       "ZEND_ADD_TRAIT",
+       "ZEND_BIND_TRAITS",
+       "ZEND_SEPARATE",
+       "ZEND_QM_ASSIGN_VAR",
+       "ZEND_JMP_SET_VAR",
++      "ZEND_DISCARD_EXCEPTION",
++      "ZEND_YIELD",
++      "ZEND_GENERATOR_RETURN",
++      "ZEND_FAST_CALL",
++      "ZEND_FAST_RET",
+ };
index 18bb0d27f71a01d9ee0105977b4f69f345a3c8f1,09473dc19ded1f6fbeba326d1c9135b888e09dc5..b6f4cfc897653e175a3b902ae97546bfbcbcd649
@@@ -21,6 -21,8 +21,8 @@@
  #ifndef ZEND_VM_OPCODES_H
  #define ZEND_VM_OPCODES_H
  
 -extern ZEND_API const char *zend_vm_opcodes_map[159];
++extern ZEND_API const char *zend_vm_opcodes_map[164];
  #define ZEND_NOP                               0
  #define ZEND_ADD                               1
  #define ZEND_SUB                               2
  #define ZEND_SEPARATE                        156
  #define ZEND_QM_ASSIGN_VAR                   157
  #define ZEND_JMP_SET_VAR                     158
 +#define ZEND_DISCARD_EXCEPTION               159
 +#define ZEND_YIELD                           160
 +#define ZEND_GENERATOR_RETURN                161
 +#define ZEND_FAST_CALL                       162
 +#define ZEND_FAST_RET                        163
  
- static const char *zend_vm_opcodes_map[] = {
-       "ZEND_NOP",
-       "ZEND_ADD",
-       "ZEND_SUB",
-       "ZEND_MUL",
-       "ZEND_DIV",
-       "ZEND_MOD",
-       "ZEND_SL",
-       "ZEND_SR",
-       "ZEND_CONCAT",
-       "ZEND_BW_OR",
-       "ZEND_BW_AND",
-       "ZEND_BW_XOR",
-       "ZEND_BW_NOT",
-       "ZEND_BOOL_NOT",
-       "ZEND_BOOL_XOR",
-       "ZEND_IS_IDENTICAL",
-       "ZEND_IS_NOT_IDENTICAL",
-       "ZEND_IS_EQUAL",
-       "ZEND_IS_NOT_EQUAL",
-       "ZEND_IS_SMALLER",
-       "ZEND_IS_SMALLER_OR_EQUAL",
-       "ZEND_CAST",
-       "ZEND_QM_ASSIGN",
-       "ZEND_ASSIGN_ADD",
-       "ZEND_ASSIGN_SUB",
-       "ZEND_ASSIGN_MUL",
-       "ZEND_ASSIGN_DIV",
-       "ZEND_ASSIGN_MOD",
-       "ZEND_ASSIGN_SL",
-       "ZEND_ASSIGN_SR",
-       "ZEND_ASSIGN_CONCAT",
-       "ZEND_ASSIGN_BW_OR",
-       "ZEND_ASSIGN_BW_AND",
-       "ZEND_ASSIGN_BW_XOR",
-       "ZEND_PRE_INC",
-       "ZEND_PRE_DEC",
-       "ZEND_POST_INC",
-       "ZEND_POST_DEC",
-       "ZEND_ASSIGN",
-       "ZEND_ASSIGN_REF",
-       "ZEND_ECHO",
-       "ZEND_PRINT",
-       "ZEND_JMP",
-       "ZEND_JMPZ",
-       "ZEND_JMPNZ",
-       "ZEND_JMPZNZ",
-       "ZEND_JMPZ_EX",
-       "ZEND_JMPNZ_EX",
-       "ZEND_CASE",
-       "ZEND_SWITCH_FREE",
-       "ZEND_BRK",
-       "ZEND_CONT",
-       "ZEND_BOOL",
-       "ZEND_INIT_STRING",
-       "ZEND_ADD_CHAR",
-       "ZEND_ADD_STRING",
-       "ZEND_ADD_VAR",
-       "ZEND_BEGIN_SILENCE",
-       "ZEND_END_SILENCE",
-       "ZEND_INIT_FCALL_BY_NAME",
-       "ZEND_DO_FCALL",
-       "ZEND_DO_FCALL_BY_NAME",
-       "ZEND_RETURN",
-       "ZEND_RECV",
-       "ZEND_RECV_INIT",
-       "ZEND_SEND_VAL",
-       "ZEND_SEND_VAR",
-       "ZEND_SEND_REF",
-       "ZEND_NEW",
-       "ZEND_INIT_NS_FCALL_BY_NAME",
-       "ZEND_FREE",
-       "ZEND_INIT_ARRAY",
-       "ZEND_ADD_ARRAY_ELEMENT",
-       "ZEND_INCLUDE_OR_EVAL",
-       "ZEND_UNSET_VAR",
-       "ZEND_UNSET_DIM",
-       "ZEND_UNSET_OBJ",
-       "ZEND_FE_RESET",
-       "ZEND_FE_FETCH",
-       "ZEND_EXIT",
-       "ZEND_FETCH_R",
-       "ZEND_FETCH_DIM_R",
-       "ZEND_FETCH_OBJ_R",
-       "ZEND_FETCH_W",
-       "ZEND_FETCH_DIM_W",
-       "ZEND_FETCH_OBJ_W",
-       "ZEND_FETCH_RW",
-       "ZEND_FETCH_DIM_RW",
-       "ZEND_FETCH_OBJ_RW",
-       "ZEND_FETCH_IS",
-       "ZEND_FETCH_DIM_IS",
-       "ZEND_FETCH_OBJ_IS",
-       "ZEND_FETCH_FUNC_ARG",
-       "ZEND_FETCH_DIM_FUNC_ARG",
-       "ZEND_FETCH_OBJ_FUNC_ARG",
-       "ZEND_FETCH_UNSET",
-       "ZEND_FETCH_DIM_UNSET",
-       "ZEND_FETCH_OBJ_UNSET",
-       "ZEND_FETCH_DIM_TMP_VAR",
-       "ZEND_FETCH_CONSTANT",
-       "ZEND_GOTO",
-       "ZEND_EXT_STMT",
-       "ZEND_EXT_FCALL_BEGIN",
-       "ZEND_EXT_FCALL_END",
-       "ZEND_EXT_NOP",
-       "ZEND_TICKS",
-       "ZEND_SEND_VAR_NO_REF",
-       "ZEND_CATCH",
-       "ZEND_THROW",
-       "ZEND_FETCH_CLASS",
-       "ZEND_CLONE",
-       "ZEND_RETURN_BY_REF",
-       "ZEND_INIT_METHOD_CALL",
-       "ZEND_INIT_STATIC_METHOD_CALL",
-       "ZEND_ISSET_ISEMPTY_VAR",
-       "ZEND_ISSET_ISEMPTY_DIM_OBJ",
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       "ZEND_PRE_INC_OBJ",
-       "ZEND_PRE_DEC_OBJ",
-       "ZEND_POST_INC_OBJ",
-       "ZEND_POST_DEC_OBJ",
-       "ZEND_ASSIGN_OBJ",
-       NULL,
-       "ZEND_INSTANCEOF",
-       "ZEND_DECLARE_CLASS",
-       "ZEND_DECLARE_INHERITED_CLASS",
-       "ZEND_DECLARE_FUNCTION",
-       "ZEND_RAISE_ABSTRACT_ERROR",
-       "ZEND_DECLARE_CONST",
-       "ZEND_ADD_INTERFACE",
-       "ZEND_DECLARE_INHERITED_CLASS_DELAYED",
-       "ZEND_VERIFY_ABSTRACT_CLASS",
-       "ZEND_ASSIGN_DIM",
-       "ZEND_ISSET_ISEMPTY_PROP_OBJ",
-       "ZEND_HANDLE_EXCEPTION",
-       "ZEND_USER_OPCODE",
-       NULL,
-       "ZEND_JMP_SET",
-       "ZEND_DECLARE_LAMBDA_FUNCTION",
-       "ZEND_ADD_TRAIT",
-       "ZEND_BIND_TRAITS",
-       "ZEND_SEPARATE",
-       "ZEND_QM_ASSIGN_VAR",
-       "ZEND_JMP_SET_VAR",
-       "ZEND_DISCARD_EXCEPTION",
-       "ZEND_YIELD",
-       "ZEND_GENERATOR_RETURN",
-       "ZEND_FAST_CALL",
-       "ZEND_FAST_RET",
- };
  #endif