#include "zend_types.h"
#include "zend_errors.h"
#include "zend_alloc.h"
-#include "zend_hash.h"
#include "zend_llist.h"
#include "zend_string.h"
+#include "zend_hash.h"
#include "zend_ast.h"
#include "zend_gc.h"
#include "zend_variables.h"
/*printf("Cache miss! Initialized %x\n", EG(active_symbol_table));*/
}
for (i = 0; i < ex->func->op_array.last_var; i++) {
- zend_string_addref(ex->func->op_array.vars[i]);
_zend_hash_append_ind(symbol_table, ex->func->op_array.vars[i],
ZEND_CALL_VAR_NUM(ex, i));
}
Bucket *p = ht->arData + idx;
ZVAL_COPY_VALUE(&p->val, zv);
- p->key = key;
- p->h = key->h;
+ p->key = zend_string_copy(key);
+ p->h = zend_string_hash_val(key);
nIndex = p->h & ht->nTableMask;
Z_NEXT(p->val) = ht->arHash[nIndex];
ht->arHash[nIndex] = idx;
Bucket *p = ht->arData + idx;
ZVAL_PTR(&p->val, ptr);
- p->key = key;
- p->h = key->h;
+ p->key = zend_string_copy(key);
+ p->h = zend_string_hash_val(key);
nIndex = p->h & ht->nTableMask;
Z_NEXT(p->val) = ht->arHash[nIndex];
ht->arHash[nIndex] = idx;
Bucket *p = ht->arData + idx;
ZVAL_INDIRECT(&p->val, ptr);
- p->key = key;
- p->h = key->h;
+ p->key = zend_string_copy(key);
+ p->h = zend_string_hash_val(key);
nIndex = p->h & ht->nTableMask;
Z_NEXT(p->val) = ht->arHash[nIndex];
ht->arHash[nIndex] = idx;
child_info = parent_info;
}
}
- zend_string_addref(key);
_zend_hash_append_ptr(&ce->properties_info, key, child_info);
}
}
ce->ce_flags &= ~ZEND_ACC_CONSTANTS_UPDATED;
}
Z_ADDREF_P(zv);
- zend_string_addref(name);
_zend_hash_append(&ce->constants_table, name, zv);
}
}
zend_function *new_func = do_inherit_method(key, func, ce);
if (new_func) {
- zend_string_addref(key);
_zend_hash_append_ptr(&ce->function_table, key, new_func);
}
} ZEND_HASH_FOREACH_END();
(prop_info->flags & ZEND_ACC_STATIC) == 0 &&
Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) != IS_UNDEF) {
- zend_string_addref(prop_info->name);
_zend_hash_append_ind(zobj->properties, prop_info->name,
OBJ_PROP(zobj, prop_info->offset));
}