Skip to content

Instantly share code, notes, and snippets.

@dstogov
Created October 14, 2019 13:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dstogov/2dd9887ec0c53d825b069d2df0e2ce7b to your computer and use it in GitHub Desktop.
Save dstogov/2dd9887ec0c53d825b069d2df0e2ce7b to your computer and use it in GitHub Desktop.
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc
index ba3d4b36fe..7352c6a435 100644
--- a/ext/opcache/jit/zend_jit_x86.dasc
+++ b/ext/opcache/jit/zend_jit_x86.dasc
@@ -3980,7 +3980,8 @@ static int zend_jit_concat(dasm_State **Dst, const zend_op *opline, int *opnum,
if (opline->result_type == IS_TMP_VAR &&
(opline+1)->opcode == ZEND_SEND_VAL &&
(opline+1)->op1_type == IS_TMP_VAR &&
- (opline+1)->op1.var == opline->result.var) {
+ (opline+1)->op1.var == opline->result.var &&
+ ssa->cfg.map[(opline+1) - op_array->opcodes] == ssa->cfg.map[opline - op_array->opcodes]) {
/* Eliminate the following SEND_VAL */
(*opnum)++;
if (!reuse_ip) {
:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment