]> granicus.if.org Git - php/commitdiff
Clenaup deprecated namespace code
authorDmitry Stogov <dmitry@php.net>
Tue, 10 Mar 2009 10:01:28 +0000 (10:01 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 10 Mar 2009 10:01:28 +0000 (10:01 +0000)
Zend/zend_compile.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index e83e48ff14edc52cb261d52e047ba3f60fbb26f5..e45fef2a20f7ac8a23ac4456552c62b4b9e35727 100644 (file)
@@ -2095,7 +2095,6 @@ int zend_do_begin_class_member_function_call(znode *class_name, znode *method_na
        }
 
        if (class_name->op_type == IS_CONST &&
-               method_name->op_type == IS_CONST &&
            ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_TYPE(class_name->u.constant), Z_UNIVAL(class_name->u.constant), Z_UNILEN(class_name->u.constant))) {
                fetch_type = ZEND_FETCH_CLASS_GLOBAL;
                zend_resolve_class_name(class_name, &fetch_type, 1 TSRMLS_CC);
@@ -2108,45 +2107,6 @@ int zend_do_begin_class_member_function_call(znode *class_name, znode *method_na
        opline->op1 = class_node;
        opline->op2 = *method_name;
 
-       if (class_node.op_type == IS_CONST &&
-               method_name->op_type == IS_CONST) {
-               /* Prebuild ns\func name to speedup run-time check.
-                  The additional names are stored in additional OP_DATA opcode. */
-               zstr nsname, fname, lcname;
-               unsigned int nsname_len, len, lcname_len;
-
-               opline = get_next_op(CG(active_op_array) TSRMLS_CC);
-               opline->opcode = ZEND_OP_DATA;
-               opline->op1.op_type = IS_CONST;
-               SET_UNUSED(opline->op2);
-
-               nsname = Z_UNIVAL(class_node.u.constant);
-               nsname_len = Z_UNILEN(class_node.u.constant);
-               len = nsname_len + 1 + Z_UNILEN(method_name->u.constant);
-               if (UG(unicode)) {
-                       fname.u = eumalloc(len + 1);
-                       memcpy(fname.u, nsname.u, UBYTES(nsname_len));
-            fname.u[nsname_len] = '\\';
-                       memcpy(fname.u + nsname_len + 1,
-                               Z_USTRVAL(method_name->u.constant),
-                               UBYTES(Z_USTRLEN(method_name->u.constant)+1));
-                       lcname = zend_u_str_case_fold(IS_UNICODE, fname, len, 1, &lcname_len);
-                       opline->extended_value = zend_u_hash_func(IS_UNICODE, lcname, lcname_len + 1);
-                       ZVAL_UNICODEL(&opline->op1.u.constant, lcname.u, lcname_len, 0);
-               } else {
-                       fname.s = emalloc(len + 1);
-                       memcpy(fname.s, nsname.s, nsname_len);
-            fname.s[nsname_len] = '\\';
-                       memcpy(fname.s + nsname_len + 1,
-                               Z_STRVAL(method_name->u.constant),
-                               Z_STRLEN(method_name->u.constant)+1);
-                       lcname = zend_u_str_case_fold(IS_STRING, fname, len, 1, &lcname_len);
-                       opline->extended_value = zend_u_hash_func(IS_STRING, lcname, lcname_len + 1);
-                       ZVAL_STRINGL(&opline->op1.u.constant, lcname.s, lcname_len, 0);
-               }
-               efree(fname.v);
-       }
-
        zend_stack_push(&CG(function_call_stack), (void *) &ptr, sizeof(zend_function *));
        zend_do_extended_fcall_begin(TSRMLS_C);
        return 1; /* Dynamic */
index de438eb6475b7b3ba6177ab4e15910e7f5b8e6c4..2901007c5c72541f19e145eae1c3c98959cdbb34 100644 (file)
@@ -2016,17 +2016,7 @@ ZEND_VM_HANDLER(113, ZEND_INIT_STATIC_METHOD_CALL, CONST|VAR, CONST|TMP|VAR|UNUS
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (OP1_TYPE == IS_CONST && OP2_TYPE == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (OP1_TYPE == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
index ae97d6e65cdb4e2fa36420f67427a1e76e40ced8..b1fd26d2966914e5c875d121b632691b2bea1664 100644 (file)
@@ -2671,17 +2671,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER(
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_CONST == IS_CONST && IS_CONST == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_CONST == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -3274,17 +3264,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMP_HANDLER(ZE
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_CONST == IS_CONST && IS_TMP_VAR == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_CONST == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -3756,17 +3736,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_VAR_HANDLER(ZE
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_CONST == IS_CONST && IS_VAR == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_CONST == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -3994,17 +3964,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_UNUSED_HANDLER
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_CONST == IS_CONST && IS_UNUSED == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_CONST == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -4444,17 +4404,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CV_HANDLER(ZEN
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_CONST == IS_CONST && IS_CV == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_CONST == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -10771,17 +10721,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZE
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_VAR == IS_CONST && IS_CONST == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_VAR == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -12690,17 +12630,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_VAR == IS_CONST && IS_TMP_VAR == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_VAR == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -14592,17 +14522,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_VAR == IS_CONST && IS_VAR == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_VAR == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -15577,17 +15497,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_UNUSED_HANDLER(Z
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_VAR == IS_CONST && IS_UNUSED == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_VAR == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {
@@ -17113,17 +17023,7 @@ static int ZEND_FASTCALL  ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_
 
        zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(called_scope));
 
-       if (IS_VAR == IS_CONST && IS_CV == IS_CONST) {
-               /* try a function in namespace */
-               zend_op *op_data = opline+1;
-
-               ZEND_VM_INC_OPCODE();
-
-               if (zend_u_hash_quick_find(EG(function_table), Z_TYPE(op_data->op1.u.constant), Z_UNIVAL(op_data->op1.u.constant), Z_UNILEN(op_data->op1.u.constant)+1, op_data->extended_value, (void **) &EX(fbc))==SUCCESS) {
-                       EX(object) = NULL;
-                       ZEND_VM_NEXT_OPCODE();
-               }
-
+       if (IS_VAR == IS_CONST) {
                /* no function found. try a static method in class */
                ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
                if (!ce) {