]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4'
authorDmitry Stogov <dmitry@zend.com>
Tue, 16 Jul 2019 08:17:04 +0000 (11:17 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 16 Jul 2019 08:17:04 +0000 (11:17 +0300)
* PHP-7.4:
  Delay IS_UNDEF checks

1  2 
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

Simple merge
index 447be83d5c7677b959c2082bc7fcee3d4a2e1224,0f71978072fd51cc340ba407f61ce1b68a1500ba..4cd6504de9762ed8276948ccedcf8c36b4661797
@@@ -1076,11 -1076,9 +1076,11 @@@ ZEND_VM_HANDLER(28, ZEND_ASSIGN_OBJ_OP
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = GET_OP1_OBJ_ZVAL_PTR_PTR(BP_VAR_RW);
+       object = GET_OP1_OBJ_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW);
  
        if (OP1_TYPE == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_DISPATCH_TO_HELPER(zend_this_not_in_object_context_helper);
@@@ -1362,11 -1351,9 +1366,11 @@@ ZEND_VM_HANDLER(132, ZEND_PRE_INC_OBJ, 
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = GET_OP1_OBJ_ZVAL_PTR_PTR(BP_VAR_RW);
+       object = GET_OP1_OBJ_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW);
  
        if (OP1_TYPE == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_DISPATCH_TO_HELPER(zend_this_not_in_object_context_helper);
@@@ -1439,11 -1417,9 +1447,11 @@@ ZEND_VM_HANDLER(134, ZEND_POST_INC_OBJ
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = GET_OP1_OBJ_ZVAL_PTR_PTR(BP_VAR_RW);
+       object = GET_OP1_OBJ_ZVAL_PTR_PTR_UNDEF(BP_VAR_RW);
  
        if (OP1_TYPE == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_DISPATCH_TO_HELPER(zend_this_not_in_object_context_helper);
@@@ -6249,10 -6195,9 +6261,10 @@@ ZEND_VM_HANDLER(76, ZEND_UNSET_OBJ, VAR
        zend_free_op free_op1, free_op2;
        zval *container;
        zval *offset;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       container = GET_OP1_OBJ_ZVAL_PTR_PTR(BP_VAR_UNSET);
+       container = GET_OP1_OBJ_ZVAL_PTR_PTR_UNDEF(BP_VAR_UNSET);
        if (OP1_TYPE == IS_UNUSED && UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
                ZEND_VM_DISPATCH_TO_HELPER(zend_this_not_in_object_context_helper);
        }
index 991bebb477edaf9c11b7f3bea06b64db5fc6237a,ebf2cca3b81513e04649403b127cdf32beeb7388..00b1df5e740c7907c195ae031255ec98406e0fd9
@@@ -38459,11 -37497,9 +38555,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -38695,11 -37722,9 +38795,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -38766,11 -37782,9 +38870,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -40966,10 -39875,9 +41074,10 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
  
        zval *container;
        zval *offset;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       container = _get_zval_ptr_cv_BP_VAR_UNSET(opline->op1.var EXECUTE_DATA_CC);
+       container = EX_VAR(opline->op1.var);
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
        }
@@@ -41860,11 -40746,9 +41972,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -42098,11 -40973,9 +42214,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -42170,11 -41034,9 +42290,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -44311,10 -43068,9 +44435,10 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zend_free_op free_op2;
        zval *container;
        zval *offset;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       container = _get_zval_ptr_cv_BP_VAR_UNSET(opline->op1.var EXECUTE_DATA_CC);
+       container = EX_VAR(opline->op1.var);
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
        }
@@@ -46835,11 -45567,9 +46963,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -47071,11 -45792,9 +47203,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -47142,11 -45852,9 +47278,11 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        zval *zptr;
        void **cache_slot;
        zend_property_info *prop_info;
 +      zend_object *zobj;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       object = _get_zval_ptr_cv_BP_VAR_RW(opline->op1.var EXECUTE_DATA_CC);
+       object = EX_VAR(opline->op1.var);
  
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
@@@ -49376,10 -47979,9 +49516,10 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
  
        zval *container;
        zval *offset;
 +      zend_string *name, *tmp_name;
  
        SAVE_OPLINE();
-       container = _get_zval_ptr_cv_BP_VAR_UNSET(opline->op1.var EXECUTE_DATA_CC);
+       container = EX_VAR(opline->op1.var);
        if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(container) == IS_UNDEF)) {
                ZEND_VM_TAIL_CALL(zend_this_not_in_object_context_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
        }