Lines Matching defs:sym

2359 	zend_ffi_symbol *sym = Z_PTR_P(zv);
2360 zend_ffi_type_dtor(sym->type);
2361 efree(sym);
2367 zend_ffi_symbol *sym = Z_PTR_P(zv);
2368 zend_ffi_type_dtor(sym->type);
2369 free(sym);
2480 zend_ffi_symbol *sym = NULL;
2483 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2484 if (sym && sym->kind != ZEND_FFI_SYM_VAR && sym->kind != ZEND_FFI_SYM_CONST && sym->kind != ZEND_FFI_SYM_FUNC) {
2485 sym = NULL;
2488 if (!sym) {
2493 if (sym->kind == ZEND_FFI_SYM_VAR) {
2494 zend_ffi_cdata_to_zval(NULL, sym->addr, ZEND_FFI_TYPE(sym->type), read_type, rv, (zend_ffi_flags)sym->is_const, 0, 0);
2495 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
2503 new_type->pointer.type = ZEND_FFI_TYPE(sym->type);
2509 cdata->ptr_holder = sym->addr;
2513 ZVAL_LONG(rv, sym->value);
2523 zend_ffi_symbol *sym = NULL;
2526 sym = zend_hash_find_ptr(ffi->symbols, var_name);
2527 if (sym && sym->kind != ZEND_FFI_SYM_VAR) {
2528 sym = NULL;
2531 if (!sym) {
2536 if (sym->is_const) {
2541 zend_ffi_zval_to_cdata(sym->addr, ZEND_FFI_TYPE(sym->type), value);
2875 zend_ffi_symbol *sym = NULL;
2899 sym = zend_hash_find_ptr(ffi->symbols, name);
2900 if (sym && sym->kind != ZEND_FFI_SYM_FUNC) {
2901 sym = NULL;
2904 if (!sym) {
2909 type = ZEND_FFI_TYPE(sym->type);
2933 func->internal_function.reserved[1] = sym->addr;
3033 zend_ffi_symbol *sym;
3035 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3036 if (sym->kind == ZEND_FFI_SYM_VAR) {
3042 sym->addr = addr;
3043 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
3044 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
3052 sym->addr = addr;
3152 static bool zend_ffi_same_symbols(zend_ffi_symbol *old, zend_ffi_symbol *sym) /* {{{ */
3154 if (old->kind != sym->kind || old->is_const != sym->is_const) {
3159 if (old->value != sym->value) {
3164 return zend_ffi_same_types(ZEND_FFI_TYPE(old->type), ZEND_FFI_TYPE(sym->type));
3222 zend_ffi_symbol *sym;
3226 ZEND_HASH_MAP_FOREACH_PTR(FFI_G(symbols), sym) {
3227 zend_ffi_subst_old_type(&sym->type, old, type);
3261 zend_ffi_symbol *sym;
3369 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3370 if (sym->kind == ZEND_FFI_SYM_VAR) {
3383 sym->addr = addr;
3384 } else if (sym->kind == ZEND_FFI_SYM_FUNC) {
3385 zend_string *mangled_name = zend_ffi_mangled_func_name(name, ZEND_FFI_TYPE(sym->type));
3400 sym->addr = addr;
3406 if (zend_ffi_same_symbols(old_sym, sym)) {
3407 if (ZEND_FFI_TYPE_IS_OWNED(sym->type)
3408 && ZEND_FFI_TYPE(old_sym->type) != ZEND_FFI_TYPE(sym->type)) {
3409 zend_ffi_type *type = ZEND_FFI_TYPE(sym->type);
3466 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), name, sym) {
3467 if (!zend_hash_add_ptr(scope->symbols, name, sym)) {
3468 zend_ffi_type_dtor(sym->type);
3469 free(sym);
3645 zend_ffi_symbol *sym;
3647 ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(FFI_G(symbols), key, sym) {
3648 if (type == ZEND_FFI_TYPE(sym->type)) {
5820 zend_ffi_symbol *sym;
5824 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5825 if (sym) {
5826 return (sym->kind == ZEND_FFI_SYM_TYPE);
5839 zend_ffi_symbol *sym;
5843 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5844 if (sym && sym->kind == ZEND_FFI_SYM_TYPE) {
5845 dcl->type = ZEND_FFI_TYPE(sym->type);
5846 if (sym->is_const) {
5863 zend_ffi_symbol *sym;
5871 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
5872 if (sym && sym->kind == ZEND_FFI_SYM_CONST) {
5873 val->i64 = sym->value;
5874 switch (sym->type->kind) {
5923 zend_ffi_symbol *sym;
6018 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
6019 if (sym) {
6022 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6023 sym->kind = ZEND_FFI_SYM_CONST;
6024 sym->type = (zend_ffi_type*)sym_type;
6025 sym->value = value;
6026 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6588 zend_ffi_symbol *sym;
6595 sym = zend_hash_str_find_ptr(FFI_G(symbols), name, name_len);
6596 if (sym) {
6598 && sym->kind == ZEND_FFI_SYM_TYPE
6599 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), ZEND_FFI_TYPE(dcl->type))
6600 && sym->is_const == (bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6609 if (sym->kind == ZEND_FFI_SYM_FUNC
6610 && zend_ffi_same_types(ZEND_FFI_TYPE(sym->type), type)) {
6616 if (sym->kind == ZEND_FFI_SYM_VAR
6617 && zend_ffi_is_same_type(ZEND_FFI_TYPE(sym->type), type)
6618 && sym->is_const == (bool)(dcl->attr & ZEND_FFI_ATTR_CONST)) {
6644 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6645 sym->kind = ZEND_FFI_SYM_TYPE;
6646 sym->type = dcl->type;
6647 sym->is_const = (bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6649 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);
6660 sym = pemalloc(sizeof(zend_ffi_symbol), FFI_G(persistent));
6661 sym->kind = (type->kind == ZEND_FFI_TYPE_FUNC) ? ZEND_FFI_SYM_FUNC : ZEND_FFI_SYM_VAR;
6662 sym->type = dcl->type;
6663 sym->is_const = (bool)(dcl->attr & ZEND_FFI_ATTR_CONST);
6665 zend_hash_str_add_new_ptr(FFI_G(symbols), name, name_len, sym);