Lines Matching refs:target

2235 ZEND_API void ZEND_FASTCALL zend_hash_copy(HashTable *target, HashTable *source, copy_ctor_func_t p…  in zend_hash_copy()  argument
2241 IS_CONSISTENT(target); in zend_hash_copy()
2242 HT_ASSERT_RC1(target); in zend_hash_copy()
2249 new_entry = zend_hash_index_update(target, idx, zv); in zend_hash_copy()
2271 new_entry = zend_hash_update(target, p->key, data); in zend_hash_copy()
2273 new_entry = zend_hash_index_update(target, p->h, data); in zend_hash_copy()
2282 static zend_always_inline bool zend_array_dup_value(HashTable *source, HashTable *target, zval *dat… in zend_array_dup_value() argument
2319 static zend_always_inline bool zend_array_dup_element(HashTable *source, HashTable *target, uint32_… in zend_array_dup_element() argument
2321 if (!zend_array_dup_value(source, target, &p->val, &q->val, packed, with_holes)) { in zend_array_dup_element()
2334 nIndex = q->h | target->nTableMask; in zend_array_dup_element()
2335 Z_NEXT(q->val) = HT_HASH(target, nIndex); in zend_array_dup_element()
2336 HT_HASH(target, nIndex) = HT_IDX_TO_HASH(idx); in zend_array_dup_element()
2342 static void zend_array_dup_ht_iterators(HashTable *source, HashTable *target) { in zend_array_dup_ht_iterators() argument
2348 uint32_t copy_idx = zend_hash_iterator_add(target, iter->pos); in zend_array_dup_ht_iterators()
2357 static zend_always_inline void zend_array_dup_packed_elements(HashTable *source, HashTable *target,… in zend_array_dup_packed_elements() argument
2360 zval *q = target->arPacked; in zend_array_dup_packed_elements()
2364 if (!zend_array_dup_value(source, target, p, q, 1, with_holes)) { in zend_array_dup_packed_elements()
2373 zend_array_dup_ht_iterators(source, target); in zend_array_dup_packed_elements()
2377 static zend_always_inline uint32_t zend_array_dup_elements(HashTable *source, HashTable *target, bo… in zend_array_dup_elements() argument
2381 Bucket *q = target->arData; in zend_array_dup_elements()
2385 zend_array_dup_ht_iterators(source, target); in zend_array_dup_elements()
2389 if (!zend_array_dup_element(source, target, idx, p, q, 0, static_keys, with_holes)) { in zend_array_dup_elements()
2393 if (EXPECTED(!HT_HAS_ITERATORS(target))) { in zend_array_dup_elements()
2395 if (zend_array_dup_element(source, target, target_idx, p, q, 0, static_keys, with_holes)) { in zend_array_dup_elements()
2397 target->nInternalPointer = target_idx; in zend_array_dup_elements()
2404 target->nNumUsed = source->nNumUsed; in zend_array_dup_elements()
2405 uint32_t iter_pos = zend_hash_iterators_lower_pos(target, idx); in zend_array_dup_elements()
2408 if (zend_array_dup_element(source, target, target_idx, p, q, 0, static_keys, with_holes)) { in zend_array_dup_elements()
2410 target->nInternalPointer = target_idx; in zend_array_dup_elements()
2414 zend_hash_iterators_update(target, iter_pos, target_idx); in zend_array_dup_elements()
2415 iter_pos = zend_hash_iterators_lower_pos(target, iter_pos + 1); in zend_array_dup_elements()
2433 HashTable *target; in zend_array_dup() local
2437 ALLOC_HASHTABLE(target); in zend_array_dup()
2438 GC_SET_REFCOUNT(target, 1); in zend_array_dup()
2439 GC_TYPE_INFO(target) = GC_ARRAY; in zend_array_dup()
2441 target->pDestructor = ZVAL_PTR_DTOR; in zend_array_dup()
2444 HT_FLAGS(target) = HASH_FLAG_UNINITIALIZED; in zend_array_dup()
2445 target->nTableMask = HT_MIN_MASK; in zend_array_dup()
2446 target->nNumUsed = 0; in zend_array_dup()
2447 target->nNumOfElements = 0; in zend_array_dup()
2448 target->nNextFreeElement = source->nNextFreeElement; in zend_array_dup()
2449 target->nInternalPointer = 0; in zend_array_dup()
2450 target->nTableSize = HT_MIN_SIZE; in zend_array_dup()
2451 HT_SET_DATA_ADDR(target, &uninitialized_bucket); in zend_array_dup()
2453 HT_FLAGS(target) = HT_FLAGS(source) & HASH_FLAG_MASK; in zend_array_dup()
2454 target->nTableMask = source->nTableMask; in zend_array_dup()
2455 target->nNumUsed = source->nNumUsed; in zend_array_dup()
2456 target->nNumOfElements = source->nNumOfElements; in zend_array_dup()
2457 target->nNextFreeElement = source->nNextFreeElement; in zend_array_dup()
2458 target->nTableSize = source->nTableSize; in zend_array_dup()
2460 HT_SET_DATA_ADDR(target, emalloc(HT_PACKED_SIZE(target))); in zend_array_dup()
2461 target->nInternalPointer = source->nInternalPointer; in zend_array_dup()
2462 memcpy(HT_GET_DATA_ADDR(target), HT_GET_DATA_ADDR(source), HT_PACKED_USED_SIZE(source)); in zend_array_dup()
2464 HT_SET_DATA_ADDR(target, emalloc(HT_SIZE(target))); in zend_array_dup()
2465 target->nInternalPointer = source->nInternalPointer; in zend_array_dup()
2466 memcpy(HT_GET_DATA_ADDR(target), HT_GET_DATA_ADDR(source), HT_USED_SIZE(source)); in zend_array_dup()
2469 HT_FLAGS(target) = HT_FLAGS(source) & HASH_FLAG_MASK; in zend_array_dup()
2470 target->nTableMask = HT_MIN_MASK; in zend_array_dup()
2471 target->nNumUsed = source->nNumUsed; in zend_array_dup()
2472 target->nNumOfElements = source->nNumOfElements; in zend_array_dup()
2473 target->nNextFreeElement = source->nNextFreeElement; in zend_array_dup()
2474 target->nTableSize = source->nTableSize; in zend_array_dup()
2475 HT_SET_DATA_ADDR(target, emalloc(HT_PACKED_SIZE_EX(target->nTableSize, HT_MIN_MASK))); in zend_array_dup()
2476 target->nInternalPointer = in zend_array_dup()
2480 HT_HASH_RESET_PACKED(target); in zend_array_dup()
2482 if (HT_IS_WITHOUT_HOLES(target)) { in zend_array_dup()
2483 zend_array_dup_packed_elements(source, target, 0); in zend_array_dup()
2485 zend_array_dup_packed_elements(source, target, 1); in zend_array_dup()
2488 HT_FLAGS(target) = HT_FLAGS(source) & HASH_FLAG_MASK; in zend_array_dup()
2489 target->nTableMask = source->nTableMask; in zend_array_dup()
2490 target->nNextFreeElement = source->nNextFreeElement; in zend_array_dup()
2491 target->nInternalPointer = in zend_array_dup()
2495 target->nTableSize = source->nTableSize; in zend_array_dup()
2496 HT_SET_DATA_ADDR(target, emalloc(HT_SIZE(target))); in zend_array_dup()
2497 HT_HASH_RESET(target); in zend_array_dup()
2499 if (HT_HAS_STATIC_KEYS_ONLY(target)) { in zend_array_dup()
2501 idx = zend_array_dup_elements(source, target, 1, 0); in zend_array_dup()
2503 idx = zend_array_dup_elements(source, target, 1, 1); in zend_array_dup()
2507 idx = zend_array_dup_elements(source, target, 0, 0); in zend_array_dup()
2509 idx = zend_array_dup_elements(source, target, 0, 1); in zend_array_dup()
2512 target->nNumUsed = idx; in zend_array_dup()
2513 target->nNumOfElements = idx; in zend_array_dup()
2515 return target; in zend_array_dup()
2539 ZEND_API void ZEND_FASTCALL zend_hash_merge(HashTable *target, HashTable *source, copy_ctor_func_t … in zend_hash_merge() argument
2546 IS_CONSISTENT(target); in zend_hash_merge()
2547 HT_ASSERT_RC1(target); in zend_hash_merge()
2556 t = zend_hash_index_update(target, idx, s); in zend_hash_merge()
2574 t = _zend_hash_add_or_update_i(target, p->key, s, HASH_UPDATE | HASH_UPDATE_INDIRECT); in zend_hash_merge()
2579 t = zend_hash_index_update(target, p->h, s); in zend_hash_merge()
2592 t = zend_hash_index_add(target, idx, s); in zend_hash_merge()
2610 t = _zend_hash_add_or_update_i(target, p->key, s, HASH_ADD | HASH_UPDATE_INDIRECT); in zend_hash_merge()
2615 t = zend_hash_index_add(target, p->h, s); in zend_hash_merge()
2625 static bool ZEND_FASTCALL zend_hash_replace_checker_wrapper(HashTable *target, zval *source_data, z… in zend_hash_replace_checker_wrapper() argument
2631 return merge_checker_func(target, source_data, &hash_key, pParam); in zend_hash_replace_checker_wrapper()
2635 ZEND_API void ZEND_FASTCALL zend_hash_merge_ex(HashTable *target, HashTable *source, copy_ctor_func… in zend_hash_merge_ex() argument
2642 IS_CONSISTENT(target); in zend_hash_merge_ex()
2643 HT_ASSERT_RC1(target); in zend_hash_merge_ex()
2649 if (zend_hash_replace_checker_wrapper(target, &p->val, p->h, p->key, pParam, pMergeSource)) { in zend_hash_merge_ex()
2650 t = zend_hash_update(target, p->key, &p->val); in zend_hash_merge_ex()