mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Avoid useless code duplication, because of unused specialization
This commit is contained in:
parent
d6a53ed5e0
commit
d4bef4ce7b
4 changed files with 1340 additions and 4408 deletions
|
@ -876,7 +876,8 @@ ZEND_VM_C_LABEL(assign_op_object):
|
||||||
ZEND_VM_NEXT_OPCODE_EX(1, 2);
|
ZEND_VM_NEXT_OPCODE_EX(1, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HELPER(zend_binary_assign_op_static_prop_helper, CONST|TMP|VAR|CV, UNUSED|CONST|TMPVAR, binary_op_type binary_op)
|
/* No specialization for op_types (CONST|TMP|VAR|CV, UNUSED|CONST|TMPVAR) */
|
||||||
|
ZEND_VM_HELPER(zend_binary_assign_op_static_prop_helper, ANY, ANY, binary_op_type binary_op)
|
||||||
{
|
{
|
||||||
/* This helper actually never will receive IS_VAR as second op, and has the same handling for VAR and TMP in the first op, but for interoperability with the other binary_assign_op helpers, it is necessary to "include" it */
|
/* This helper actually never will receive IS_VAR as second op, and has the same handling for VAR and TMP in the first op, but for interoperability with the other binary_assign_op helpers, it is necessary to "include" it */
|
||||||
|
|
||||||
|
@ -1289,7 +1290,8 @@ ZEND_VM_HANDLER(135, ZEND_POST_DEC_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CAC
|
||||||
ZEND_VM_DISPATCH_TO_HELPER(zend_post_incdec_property_helper, inc, 0);
|
ZEND_VM_DISPATCH_TO_HELPER(zend_post_incdec_property_helper, inc, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HELPER(zend_pre_incdec_static_property_helper, CONST|TMPVAR|CV, UNUSED|CONST|VAR, int inc)
|
/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CONST|VAR) */
|
||||||
|
ZEND_VM_HELPER(zend_pre_incdec_static_property_helper, ANY, ANY, int inc)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
zval *prop;
|
zval *prop;
|
||||||
|
@ -1317,7 +1319,8 @@ ZEND_VM_HANDLER(204, ZEND_PRE_DEC_STATIC_PROP, CONST|TMPVAR|CV, UNUSED|CONST|VAR
|
||||||
ZEND_VM_DISPATCH_TO_HELPER(zend_pre_incdec_static_property_helper, inc, 0);
|
ZEND_VM_DISPATCH_TO_HELPER(zend_pre_incdec_static_property_helper, inc, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HELPER(zend_post_incdec_static_property_helper, CONST|TMPVAR|CV, UNUSED|CONST|VAR, int inc)
|
/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CONST|VAR) */
|
||||||
|
ZEND_VM_HELPER(zend_post_incdec_static_property_helper, ANY, ANY, int inc)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
zval *prop;
|
zval *prop;
|
||||||
|
@ -1681,7 +1684,8 @@ ZEND_VM_HANDLER(89, ZEND_FETCH_IS, CONST|TMPVAR|CV, UNUSED, VAR_FETCH)
|
||||||
ZEND_VM_DISPATCH_TO_HELPER(zend_fetch_var_address_helper, type, BP_VAR_IS);
|
ZEND_VM_DISPATCH_TO_HELPER(zend_fetch_var_address_helper, type, BP_VAR_IS);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HELPER(zend_fetch_static_prop_helper, CONST|TMPVAR|CV, UNUSED|CONST|VAR, int type)
|
/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CONST|VAR) */
|
||||||
|
ZEND_VM_HELPER(zend_fetch_static_prop_helper, ANY, ANY, int type)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
zval *prop;
|
zval *prop;
|
||||||
|
@ -2319,7 +2323,8 @@ ZEND_VM_C_LABEL(exit_assign_obj):
|
||||||
ZEND_VM_NEXT_OPCODE_EX(1, 2);
|
ZEND_VM_NEXT_OPCODE_EX(1, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HANDLER(201, ZEND_ASSIGN_STATIC_PROP, CONST|TMPVAR|CV, UNUSED|CONST|VAR, CACHE_SLOT, SPEC(OP_DATA=CONST|TMP|VAR|CV))
|
/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CONST|VAR) */
|
||||||
|
ZEND_VM_HANDLER(201, ZEND_ASSIGN_STATIC_PROP, ANY, ANY, CACHE_SLOT, SPEC(OP_DATA=CONST|TMP|VAR|CV))
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
zend_free_op free_op_data;
|
zend_free_op free_op_data;
|
||||||
|
@ -2617,7 +2622,8 @@ ZEND_VM_HANDLER(200, ZEND_ASSIGN_OBJ_REF, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, C
|
||||||
ZEND_VM_NEXT_OPCODE_EX(1, 2);
|
ZEND_VM_NEXT_OPCODE_EX(1, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HANDLER(202, ZEND_ASSIGN_STATIC_PROP_REF, CONST|TMPVAR|CV, UNUSED|CONST|VAR, CACHE_SLOT|SRC)
|
/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CONST|VAR) */
|
||||||
|
ZEND_VM_HANDLER(202, ZEND_ASSIGN_STATIC_PROP_REF, ANY, ANY, CACHE_SLOT|SRC)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
zend_free_op free_op_data;
|
zend_free_op free_op_data;
|
||||||
|
@ -6475,7 +6481,8 @@ ZEND_VM_HANDLER(114, ZEND_ISSET_ISEMPTY_VAR, CONST|TMPVAR|CV, UNUSED, VAR_FETCH|
|
||||||
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
|
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
|
||||||
}
|
}
|
||||||
|
|
||||||
ZEND_VM_HANDLER(180, ZEND_ISSET_ISEMPTY_STATIC_PROP, CONST|TMPVAR|CV, UNUSED|CLASS_FETCH|CONST|VAR, ISSET|CACHE_SLOT)
|
/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CLASS_FETCH|CONST|VAR) */
|
||||||
|
ZEND_VM_HANDLER(180, ZEND_ISSET_ISEMPTY_STATIC_PROP, ANY, CLASS_FETCH, ISSET|CACHE_SLOT)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
zval *value;
|
zval *value;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -414,7 +414,7 @@ static uint32_t zend_vm_opcodes_flags[208] = {
|
||||||
0x00247307,
|
0x00247307,
|
||||||
0x00047307,
|
0x00047307,
|
||||||
0x00047307,
|
0x00047307,
|
||||||
0x00067307,
|
0x00067000,
|
||||||
0x00040373,
|
0x00040373,
|
||||||
0x00100101,
|
0x00100101,
|
||||||
0x00100101,
|
0x00100101,
|
||||||
|
@ -435,8 +435,8 @@ static uint32_t zend_vm_opcodes_flags[208] = {
|
||||||
0x00000701,
|
0x00000701,
|
||||||
0x00000707,
|
0x00000707,
|
||||||
0x0b040751,
|
0x0b040751,
|
||||||
0x00040307,
|
0x00040000,
|
||||||
0x0b040307,
|
0x0b040000,
|
||||||
0x00040307,
|
0x00040307,
|
||||||
0x00040307,
|
0x00040307,
|
||||||
0x00040307,
|
0x00040307,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue