Skip to content

Commit 02054fa

Browse files
committed
ext/opcache/jit/zend_jit: move redundant code to zend_jit_new_op_array_extension()
1 parent 9848d6b commit 02054fa

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

ext/opcache/jit/zend_jit.c

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4430,6 +4430,23 @@ static int zend_jit_setup_hot_counters(zend_op_array *op_array)
44304430

44314431
#include "jit/zend_jit_trace.c"
44324432

4433+
/**
4434+
* Allocate and initialize a new #zend_jit_op_array_extension for the
4435+
* given #zend_op_array.
4436+
*/
4437+
static zend_jit_op_array_extension *zend_jit_new_op_array_extension(zend_op_array *op_array)
4438+
{
4439+
zend_jit_op_array_extension *jit_extension = (zend_jit_op_array_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_extension));
4440+
if (!jit_extension) {
4441+
return NULL;
4442+
}
4443+
4444+
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
4445+
ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension);
4446+
zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension);
4447+
return jit_extension;
4448+
}
4449+
44334450
ZEND_EXT_API int zend_jit_op_array(zend_op_array *op_array, zend_script *script)
44344451
{
44354452
if (dasm_ptr == NULL) {
@@ -4453,16 +4470,13 @@ ZEND_EXT_API int zend_jit_op_array(zend_op_array *op_array, zend_script *script)
44534470
opline++;
44544471
}
44554472
}
4456-
jit_extension = (zend_jit_op_array_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_extension));
4473+
jit_extension = zend_jit_new_op_array_extension(op_array);
44574474
if (!jit_extension) {
44584475
return FAILURE;
44594476
}
4460-
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
44614477
jit_extension->func_info.flags = ZEND_FUNC_JIT_ON_FIRST_EXEC;
44624478
jit_extension->orig_handler = (void*)opline->handler;
4463-
ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension);
44644479
opline->handler = (const void*)zend_jit_runtime_jit_handler;
4465-
zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension);
44664480

44674481
return SUCCESS;
44684482
} else if (JIT_G(trigger) == ZEND_JIT_ON_PROF_REQUEST) {
@@ -4482,16 +4496,13 @@ ZEND_EXT_API int zend_jit_op_array(zend_op_array *op_array, zend_script *script)
44824496
opline++;
44834497
}
44844498
}
4485-
jit_extension = (zend_jit_op_array_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_extension));
4499+
jit_extension = zend_jit_new_op_array_extension(op_array);
44864500
if (!jit_extension) {
44874501
return FAILURE;
44884502
}
4489-
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
44904503
jit_extension->func_info.flags = ZEND_FUNC_JIT_ON_PROF_REQUEST;
44914504
jit_extension->orig_handler = (void*)opline->handler;
4492-
ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension);
44934505
opline->handler = (const void*)zend_jit_profile_jit_handler;
4494-
zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension);
44954506
}
44964507

44974508
return SUCCESS;

0 commit comments

Comments
 (0)