Lines Matching defs:sym

2360 	zend_ffi_symbol *sym = Z_PTR_P(zv);
2361 zend_ffi_type_dtor(sym->type);
2362 efree(sym);
2368 zend_ffi_symbol *sym = Z_PTR_P(zv);
2369 zend_ffi_type_dtor(sym->type);
2370 free(sym);
2481 zend_ffi_symbol *sym = NULL;
2484 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2485 if (sym && sym->kind != ZEND_FFI_SYM_VAR && sym->kind != ZEND_FFI_SYM_CONST && sym->kind != ZEND_FFI_SYM_FUNC) {
2486 sym = NULL;
2489 if (!sym) {
2494 if (sym->kind == ZEND_FFI_SYM_VAR) {
2495 zend_ffi_cdata_to_zval(NULL, sym->addr, ZEND_FFI_TYPE(sym->type), read_type, rv, (zend_ffi_flags)sym->is_const, 0, 0);
2496 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
2504 new_type->pointer.type = ZEND_FFI_TYPE(sym->type);
2510 cdata->ptr_holder = sym->addr;
2514 ZVAL_LONG(rv, sym->value);
2524 zend_ffi_symbol *sym = NULL;
2527 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2528 if (sym && sym->kind != ZEND_FFI_SYM_VAR) {
2529 sym = NULL;
2532 if (!sym) {
2537 if (sym->is_const) {
2542 zend_ffi_zval_to_cdata(sym->addr, ZEND_FFI_TYPE(sym->type), value);
2876 zend_ffi_symbol *sym = NULL;
2900 sym = zend_hash_find_ptr(ffi->symbols, name);
2901 if (sym && sym->kind != ZEND_FFI_SYM_FUNC) {
2902 sym = NULL;
2905 if (!sym) {
2910 type = ZEND_FFI_TYPE(sym->type);
2935 func->internal_function.reserved[1] = sym->addr;
3041 zend_ffi_symbol *sym;
3043 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3044 if (sym->kind == ZEND_FFI_SYM_VAR) {
3050 sym->addr = addr;
3051 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
3052 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
3060 sym->addr = addr;
3160 static bool zend_ffi_same_symbols(zend_ffi_symbol *old, zend_ffi_symbol *sym) /* {{{ */
3162 if (old->kind != sym->kind || old->is_const != sym->is_const) {
3167 if (old->value != sym->value) {
3172 return zend_ffi_same_types(ZEND_FFI_TYPE(old->type), ZEND_FFI_TYPE(sym->type));
3230 zend_ffi_symbol *sym;
3234 ZEND_HASH_MAP_FOREACH_PTR(FFI_G(symbols), sym) {
3235 zend_ffi_subst_old_type(&sym->type, old, type);
3269 zend_ffi_symbol *sym;
3377 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3378 if (sym->kind == ZEND_FFI_SYM_VAR) {
3391 sym->addr = addr;
3392 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
3393 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
3408 sym->addr = addr;
3414 if (zend_ffi_same_symbols(old_sym, sym)) {
3415 if (ZEND_FFI_TYPE_IS_OWNED(sym->type)
3416 && ZEND_FFI_TYPE(old_sym->type) != ZEND_FFI_TYPE(sym->type)) {
3417 zend_ffi_type *type = ZEND_FFI_TYPE(sym->type);
3474 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3475 if (!zend_hash_add_ptr(scope->symbols, name, sym)) {
3476 zend_ffi_type_dtor(sym->type);
3477 free(sym);
3653 zend_ffi_symbol *sym;
3655 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), key, sym) {
3656 if (type == ZEND_FFI_TYPE(sym->type)) {
5833 zend_ffi_symbol *sym;
5837 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5838 if (sym) {
5839 return (sym->kind == ZEND_FFI_SYM_TYPE);
5852 zend_ffi_symbol *sym;
5856 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5857 if (sym && sym->kind == ZEND_FFI_SYM_TYPE) {
5858 dcl->type = ZEND_FFI_TYPE(sym->type);
5859 if (sym->is_const) {
5876 zend_ffi_symbol *sym;
5884 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5885 if (sym && sym->kind == ZEND_FFI_SYM_CONST) {
5886 val->i64 = sym->value;
5887 switch (sym->type->kind) {
5936 zend_ffi_symbol *sym;
6031 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
6032 if (sym) {
6035 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6036 sym->kind = ZEND_FFI_SYM_CONST;
6037 sym->type = (zend_ffi_type*)sym_type;
6038 sym->value = value;
6039 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6601 zend_ffi_symbol *sym;
6608 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
6609 if (sym) {
6611 && sym->kind == ZEND_FFI_SYM_TYPE
6612 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), ZEND_FFI_TYPE(dcl->type))
6613 && sym->is_const == (bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6622 if (sym->kind == ZEND_FFI_SYM_FUNC
6623 && zend_ffi_same_types(ZEND_FFI_TYPE(sym->type), type)) {
6629 if (sym->kind == ZEND_FFI_SYM_VAR
6630 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), type)
6631 && sym->is_const == (bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6657 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6658 sym->kind = ZEND_FFI_SYM_TYPE;
6659 sym->type = dcl->type;
6660 sym->is_const = (bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6662 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6673 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6674 sym->kind = (type->kind == ZEND_FFI_TYPE_FUNC) ? ZEND_FFI_SYM_FUNC : ZEND_FFI_SYM_VAR;
6675 sym->type = dcl->type;
6676 sym->is_const = (bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6678 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);