View Issue Details

IDProjectCategoryView StatusLast Update
0001213XdebugUncategorizedpublic2018-01-29 21:52
Reporterderick Assigned Toderick  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionno change required 
Product Version2.4.0rc1 
Summary0001213: Support opcache
Description

There are still some issues with opcache, and test failures. Both with, and without filecaching enabled. Including an odd segfault.

The following test needs to be added too, to test for the JMPZNZ instruction:

03:51 <laruence> Derick, ping, it is used, at least it will used in opcache
optimizer, it will optimize two jmp to jmpznz is possible,
like JMPZ(V, L1), JMP(L2) to JMPZNZ(L1, L2);
03:51 <laruence> take switch ($a) {
03:51 <laruence> case "-";
03:51 <laruence> break;
03:51 <laruence> }

TagsNo tags attached.
Operating System
PHP Version7.0.0rc7

Activities

derick

2015-11-29 20:38

administrator   ~0003271

This patch is going to be needed:

{code}
diff --git a/xdebug_code_coverage.c b/xdebug_code_coverage.c
index 9b4c2f9..fe5d9ee 100644
--- a/xdebug_code_coverage.c
+++ b/xdebug_code_coverage.c
@@ -580,10 +580,11 @@ static int xdebug_find_jump(zend_op_array opa, unsigned int position, long jmp
} else if (opcode.opcode == ZEND_JMPZNZ) {
#if PHP_VERSION_ID >= 70000
jmp1 = XDEBUG_ZNODE_JMP_LINE(opcode.op2, position, base_address) sizeof(zend_op);

  • jmp2 = position + (opcode.extended_value / sizeof(zend_op));
    #else
    jmp1 = XDEBUG_ZNODE_ELEM(opcode.op2, opline_num);
    -#endif
    *jmp2 = opcode.extended_value;
    +#endif
    return 1;
    #if PHP_VERSION_ID < 70000
    } else if (opcode.opcode == ZEND_BRK || opcode.opcode == ZEND_CONT) {
    {code}

Issue History

Date Modified Username Field Change
2015-11-27 09:58 derick New Issue
2015-11-27 09:58 derick Status new => assigned
2015-11-27 09:58 derick Assigned To => derick
2015-11-29 20:38 derick Note Added: 0003271
2016-07-31 12:36 derick Category Usage problems => Usage problems (Crashes)
2016-07-31 12:38 derick Category Usage problems (Crashes) => Usage problems (Wrong Results)
2016-08-01 20:29 derick Target Version 2.4.1 => 2.4.2
2016-11-12 16:54 derick Target Version 2.4.2 => 2.5.0RC2
2016-11-12 16:55 derick Target Version 2.5.0RC2 => 2.5.0dev
2016-12-04 17:10 derick Status assigned => confirmed
2016-12-04 18:34 derick Target Version 2.5.0dev =>
2018-01-29 21:52 derick Status confirmed => resolved
2018-01-29 21:52 derick Resolution open => no change required
2020-03-12 16:35 derick Category Usage problems (Wrong Results) => Variable Display
2020-03-12 16:38 derick Category Variable Display => Uncategorized