Skip to content

Commit 8203a17

Browse files
committed
Remove unused opcode handlers
1 parent b627e33 commit 8203a17

File tree

3 files changed

+31
-271
lines changed

3 files changed

+31
-271
lines changed

Zend/zend_compile.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7298,6 +7298,9 @@ void zend_compile_array(znode *result, zend_ast *ast) /* {{{ */
72987298
return;
72997299
}
73007300

7301+
/* Empty arrays are handled at compile-time */
7302+
ZEND_ASSERT(list->children > 0);
7303+
73017304
for (i = 0; i < list->children; ++i) {
73027305
zend_ast *elem_ast = list->child[i];
73037306
zend_ast *value_ast, *key_ast;
@@ -7341,11 +7344,6 @@ void zend_compile_array(znode *result, zend_ast *ast) /* {{{ */
73417344
}
73427345
}
73437346

7344-
/* Handle empty array */
7345-
if (!list->children) {
7346-
zend_emit_op_tmp(result, ZEND_INIT_ARRAY, NULL, NULL);
7347-
}
7348-
73497347
/* Add a flag to INIT_ARRAY if we know this array cannot be packed */
73507348
if (!packed) {
73517349
ZEND_ASSERT(opnum_init != (uint32_t)-1);

Zend/zend_vm_def.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5119,7 +5119,7 @@ ZEND_VM_C_LABEL(num_index):
51195119
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
51205120
}
51215121

5122-
ZEND_VM_HANDLER(71, ZEND_INIT_ARRAY, CONST|TMP|VAR|UNUSED|CV, CONST|TMPVAR|UNUSED|NEXT|CV, ARRAY_INIT|REF)
5122+
ZEND_VM_HANDLER(71, ZEND_INIT_ARRAY, CONST|TMP|VAR|CV, CONST|TMPVAR|UNUSED|NEXT|CV, ARRAY_INIT|REF)
51235123
{
51245124
zval *array;
51255125
uint32_t size;
@@ -5141,13 +5141,7 @@ ZEND_VM_HANDLER(71, ZEND_INIT_ARRAY, CONST|TMP|VAR|UNUSED|CV, CONST|TMPVAR|UNUSE
51415141
}
51425142
}
51435143

5144-
if (OP1_TYPE == IS_UNUSED) {
5145-
ZEND_VM_NEXT_OPCODE();
5146-
#if !defined(ZEND_VM_SPEC) || (OP1_TYPE != IS_UNUSED)
5147-
} else {
5148-
ZEND_VM_DISPATCH_TO_HANDLER(ZEND_ADD_ARRAY_ELEMENT);
5149-
#endif
5150-
}
5144+
ZEND_VM_DISPATCH_TO_HANDLER(ZEND_ADD_ARRAY_ELEMENT);
51515145
}
51525146

51535147
ZEND_VM_HANDLER(21, ZEND_CAST, CONST|TMP|VAR|CV, ANY, TYPE)

0 commit comments

Comments
 (0)