Skip to content

Commit 2d9eba6

Browse files
committed
fix(opcache): remap generic_types and generic_parameters in xlat-shortcut
Signed-off-by: azjezz <azjezz@protonmail.com>
1 parent 2d3af7e commit 2d9eba6

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

ext/opcache/zend_persist.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,16 @@ static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_sc
645645
op_array->dynamic_func_defs = zend_shared_alloc_get_xlat_entry(op_array->dynamic_func_defs);
646646
ZEND_ASSERT(op_array->dynamic_func_defs != NULL);
647647
}
648+
if (op_array->generic_parameters) {
649+
zend_generic_parameter_list *xlat_params = zend_shared_alloc_get_xlat_entry(op_array->generic_parameters);
650+
ZEND_ASSERT(xlat_params != NULL);
651+
op_array->generic_parameters = xlat_params;
652+
}
653+
if (op_array->generic_types) {
654+
zend_generic_type_table *xlat_types = zend_shared_alloc_get_xlat_entry(op_array->generic_types);
655+
ZEND_ASSERT(xlat_types != NULL);
656+
op_array->generic_types = xlat_types;
657+
}
648658
ZCG(mem) = (void*)((char*)ZCG(mem) + ZEND_ALIGNED_SIZE(zend_extensions_op_array_persist(op_array, ZCG(mem))));
649659
return;
650660
}

0 commit comments

Comments
 (0)