]> granicus.if.org Git - php/commitdiff
Use "fast" comparison function
authorDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 20:48:26 +0000 (00:48 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 20:48:26 +0000 (00:48 +0400)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 1bcffd5d3cb0919ddc9d039a77b959786e2d52fc..20ce76a06ee338f77cb282745975c918fa86bae6 100644 (file)
@@ -3520,11 +3520,12 @@ ZEND_VM_HANDLER(48, ZEND_CASE, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 GET_OP1_ZVAL_PTR(BP_VAR_R),
-                                GET_OP2_ZVAL_PTR(BP_VAR_R) TSRMLS_CC);
+                                GET_OP2_ZVAL_PTR(BP_VAR_R) TSRMLS_CC));
 
        FREE_OP2();
        CHECK_EXCEPTION();
index de7d9b48346cf8bcb66422696dcb37613edf238f..0614e1f3cb77e27e0128a24b5349202b7b242d98 100644 (file)
@@ -3851,11 +3851,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER
 {
        USE_OPLINE
 
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 opline->op1.zv,
-                                opline->op2.zv TSRMLS_CC);
+                                opline->op2.zv TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -4775,11 +4776,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_A
 {
        USE_OPLINE
        zend_free_op free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 opline->op1.zv,
-                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_dtor(free_op2.var);
        CHECK_EXCEPTION();
@@ -5606,11 +5608,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_A
 {
        USE_OPLINE
        zend_free_op free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 opline->op1.zv,
-                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_ptr_dtor_nogc(free_op2.var);
        CHECK_EXCEPTION();
@@ -7148,11 +7151,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_AR
 {
        USE_OPLINE
 
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 opline->op1.zv,
-                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -8965,11 +8969,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
 {
        USE_OPLINE
        zend_free_op free_op1;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                opline->op2.zv TSRMLS_CC);
+                                opline->op2.zv TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -9763,11 +9768,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_dtor(free_op2.var);
        CHECK_EXCEPTION();
@@ -10594,11 +10600,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_ptr_dtor_nogc(free_op2.var);
        CHECK_EXCEPTION();
@@ -11948,11 +11955,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
 {
        USE_OPLINE
        zend_free_op free_op1;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -15274,11 +15282,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
 {
        USE_OPLINE
        zend_free_op free_op1;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                opline->op2.zv TSRMLS_CC);
+                                opline->op2.zv TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -17562,11 +17571,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_dtor(free_op2.var);
        CHECK_EXCEPTION();
@@ -19850,11 +19860,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_ptr_dtor_nogc(free_op2.var);
        CHECK_EXCEPTION();
@@ -23228,11 +23239,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
 {
        USE_OPLINE
        zend_free_op free_op1;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
-                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -32275,11 +32287,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_AR
 {
        USE_OPLINE
 
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
-                                opline->op2.zv TSRMLS_CC);
+                                opline->op2.zv TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();
@@ -34342,11 +34355,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS
 {
        USE_OPLINE
        zend_free_op free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
-                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_dtor(free_op2.var);
        CHECK_EXCEPTION();
@@ -36501,11 +36515,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
 {
        USE_OPLINE
        zend_free_op free_op2;
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
-                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
 
        zval_ptr_dtor_nogc(free_op2.var);
        CHECK_EXCEPTION();
@@ -39613,11 +39628,12 @@ static int ZEND_FASTCALL  ZEND_CASE_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
 
+       zval *result = EX_VAR(opline->result.var);
 
        SAVE_OPLINE();
-       is_equal_function(EX_VAR(opline->result.var),
+       ZVAL_BOOL(result, fast_equal_function(result,
                                 _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
-                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
+                                _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
 
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();