]> granicus.if.org Git - php/commitdiff
- Second wave of garbage removal.
authorAndi Gutmans <andi@php.net>
Thu, 19 Aug 2004 20:29:04 +0000 (20:29 +0000)
committerAndi Gutmans <andi@php.net>
Thu, 19 Aug 2004 20:29:04 +0000 (20:29 +0000)
Zend/zend.c
Zend/zend_execute_API.c
Zend/zend_globals.h

index 9191a9af1c242cf0d84349cf09529bc2cc3d4e2b..36c13586ef0af96d8e1e047c2dcdc4e7185e2738 100644 (file)
@@ -879,8 +879,6 @@ ZEND_API void zend_error(int type, const char *format, ...)
        char *error_filename;
        uint error_lineno;
        zval *orig_user_error_handler;
-       zval *orig_garbage[2];
-       int  orig_garbage_ptr;
        TSRMLS_FETCH();
 
        /* Obtain relevant filename and lineno */
@@ -973,12 +971,6 @@ ZEND_API void zend_error(int type, const char *format, ...)
                        orig_user_error_handler = EG(user_error_handler);
                        EG(user_error_handler) = NULL;
            
-                       orig_garbage_ptr = EG(garbage_ptr);
-                       EG(garbage_ptr) = 0;
-                       if (orig_garbage_ptr > 0) {
-                               memcpy(&orig_garbage, &EG(garbage), sizeof(zval*)*orig_garbage_ptr);
-                       }
-
                        if (call_user_function_ex(CG(function_table), NULL, orig_user_error_handler, &retval, 5, params, 1, NULL TSRMLS_CC)==SUCCESS) {
                                if (retval) {
                                        if (Z_TYPE_P(retval) == IS_BOOL && Z_LVAL_P(retval) == 0) {
@@ -991,14 +983,6 @@ ZEND_API void zend_error(int type, const char *format, ...)
                                zend_error_cb(type, error_filename, error_lineno, format, args);
                        }
 
-                       if (orig_garbage_ptr > 0) {
-                               while (EG(garbage_ptr)) {
-                                       zval_ptr_dtor(&EG(garbage)[--EG(garbage_ptr)]);
-                               }                               
-                               EG(garbage_ptr) = orig_garbage_ptr;
-                               memcpy(&EG(garbage), &orig_garbage, sizeof(zval*)*orig_garbage_ptr);
-                       }
-
                        EG(user_error_handler) = orig_user_error_handler;
 
                        efree(params);
index 47c5365e909ffaa7dabb997f0f386926c129e555..8073b58b93b720aff88e61902b0600be2d7e1960 100644 (file)
@@ -157,7 +157,6 @@ void init_executor(TSRMLS_D)
 
        zend_llist_apply(&zend_extensions, (llist_apply_func_t) zend_extension_activator TSRMLS_CC);
        EG(opline_ptr) = NULL;
-       EG(garbage_ptr) = 0;
 
        zend_hash_init(&EG(included_files), 5, NULL, NULL, 0);
 
@@ -252,12 +251,6 @@ void shutdown_executor(TSRMLS_D)
                zend_hash_apply(EG(function_table), (apply_func_t) zend_cleanup_function_data TSRMLS_CC);
                zend_hash_apply(EG(class_table), (apply_func_t) zend_cleanup_class_data TSRMLS_CC);
 
-               while (EG(garbage_ptr)) {
-                       if (EG(garbage)[--EG(garbage_ptr)]->refcount==1) {
-                               zval_ptr_dtor(&EG(garbage)[EG(garbage_ptr)]);
-                       }
-               }
-
                zend_ptr_stack_destroy(&EG(argument_stack));
 
                /* Destroy all op arrays */
@@ -571,9 +564,6 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
        zend_function_state *original_function_state_ptr;
        zend_op_array *original_op_array;
        zend_op **original_opline_ptr;
-       zval *orig_free_op1, *orig_free_op2;
-       int (*orig_unary_op)(zval *result, zval *op1);
-       int (*orig_binary_op)(zval *result, zval *op1, zval *op2 TSRMLS_DC);
        zend_class_entry *current_scope;
        zend_class_entry *calling_scope = NULL;
        zval *current_this;
@@ -840,10 +830,6 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
                EG(return_value_ptr_ptr) = fci->retval_ptr_ptr;
                EG(active_op_array) = (zend_op_array *) EX(function_state).function;
                original_opline_ptr = EG(opline_ptr);
-               orig_free_op1 = EG(free_op1);
-               orig_free_op2 = EG(free_op2);
-               orig_unary_op = EG(unary_op);
-               orig_binary_op = EG(binary_op);
                zend_execute(EG(active_op_array) TSRMLS_CC);
                if (!fci->symbol_table) {
                        zend_hash_destroy(EG(active_symbol_table));
@@ -853,10 +839,6 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
                EG(active_op_array) = original_op_array;
                EG(return_value_ptr_ptr)=original_return_value;
                EG(opline_ptr) = original_opline_ptr;
-               EG(free_op1) = orig_free_op1;
-               EG(free_op2) = orig_free_op2;
-               EG(unary_op) = orig_unary_op;
-               EG(binary_op) = orig_binary_op;
        } else {
                ALLOC_INIT_ZVAL(*fci->retval_ptr_ptr);
                if (EX(function_state).function->common.scope) {
index 1ce4c39295b951906605aa9db4dd0ffbe0e9fb64..d8b6db649630ac0686377b836c5b663948783bf2 100644 (file)
@@ -207,12 +207,6 @@ struct _zend_executor_globals {
        HashTable persistent_list;
 
        zend_ptr_stack argument_stack;
-       zval *free_op1, *free_op2;
-       int (*unary_op)(zval *result, zval *op1);
-       int (*binary_op)(zval *result, zval *op1, zval *op2 TSRMLS_DC);
-
-       zval *garbage[2];
-       int garbage_ptr;
 
        int user_error_handler_error_reporting;
        zval *user_error_handler;