]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4'
authorDmitry Stogov <dmitry@zend.com>
Thu, 5 Sep 2019 08:43:13 +0000 (11:43 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 5 Sep 2019 08:43:13 +0000 (11:43 +0300)
* PHP-7.4:
  Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.
  Remove --with-zlib-dir option from mysqlnd config

1  2 
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
Zend/zend_vm_gen.php

index 102a81cb92abff169b011a6319b745f5a4dde954,f8e7cad9858b93e78592a4e0e4067457f66a5029..f488f803f0b26b20ae14576503ab2733bcff755c
@@@ -3078,11 -3046,11 +3078,11 @@@ ZEND_VM_HOT_NOCONST_HANDLER(44, ZEND_JM
        ZEND_VM_JMP(opline);
  }
  
- ZEND_VM_HOT_NOCONST_HANDLER(45, ZEND_JMPZNZ, CONST|TMPVAR|CV, JMP_ADDR, JMP_ADDR)
+ ZEND_VM_HANDLER(45, ZEND_JMPZNZ, CONST|TMPVAR|CV, JMP_ADDR, JMP_ADDR)
  {
        USE_OPLINE
 -      zend_free_op free_op1;
        zval *val;
 +      zend_uchar op1_type;
  
        val = GET_OP1_ZVAL_PTR_UNDEF(BP_VAR_R);
  
index 75db1ba9318c2257f9fe41e1f2d5ada7f4c1701a,8882f18d140896bbae38cc440997c3af048abfd2..1c2c6ab7a3af65591f7b5ec41b8db1cad0fc4947
@@@ -3377,11 -3379,11 +3377,11 @@@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER
        ZEND_VM_JMP(opline);
  }
  
- static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMPZNZ_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMPZNZ_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *val;
 +      zend_uchar op1_type;
  
        val = RT_CONSTANT(opline, opline->op1);
  
@@@ -6775,9 -6816,10 +6775,9 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        ZEND_VM_TAIL_CALL(zend_shift_right_helper_SPEC(op1, op2 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CONST_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CONST_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *op1, *op2;
        double d1, d2;
  
@@@ -6916,9 -6960,10 +6916,9 @@@ is_smaller_double
        ZEND_VM_TAIL_CALL(zend_is_smaller_helper_SPEC(op1, op2 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CONST_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CONST_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *op1, *op2;
        double d1, d2;
  
@@@ -11279,9 -11354,10 +11279,9 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        ZEND_VM_TAIL_CALL(zend_shift_right_helper_SPEC(op1, op2 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *op1, *op2;
        double d1, d2;
  
@@@ -11420,9 -11498,10 +11420,9 @@@ is_smaller_double
        ZEND_VM_TAIL_CALL(zend_is_smaller_helper_SPEC(op1, op2 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *op1, *op2;
        double d1, d2;
  
@@@ -12318,9 -12411,10 +12318,9 @@@ static ZEND_OPCODE_HANDLER_RET ZEND_FAS
        ZEND_VM_TAIL_CALL(zend_shift_right_helper_SPEC(op1, op2 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVARCV_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVARCV_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *op1, *op2;
        double d1, d2;
  
@@@ -12459,9 -12555,10 +12459,9 @@@ is_smaller_double
        ZEND_VM_TAIL_CALL(zend_is_smaller_helper_SPEC(op1, op2 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVARCV_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVARCV_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *op1, *op2;
        double d1, d2;
  
@@@ -13265,13 -13366,13 +13265,13 @@@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_
        ZEND_VM_JMP(opline);
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMPZNZ_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMPZNZ_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -      zend_free_op free_op1;
        zval *val;
 +      zend_uchar op1_type;
  
 -      val = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
 +      val = _get_zval_ptr_var(opline->op1.var EXECUTE_DATA_CC);
  
        if (EXPECTED(Z_TYPE_INFO_P(val) == IS_TRUE)) {
                ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
@@@ -37289,11 -36783,11 +37289,11 @@@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_
        ZEND_VM_JMP(opline);
  }
  
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMPZNZ_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMPZNZ_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
  {
        USE_OPLINE
 -
        zval *val;
 +      zend_uchar op1_type;
  
        val = EX_VAR(opline->op1.var);
  
Simple merge