summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2020-06-22 14:57:04 +0300
committerDmitry Stogov <dmitry@zend.com>2020-06-22 14:57:04 +0300
commitea2b0d3c8b292ba83b28cfd06eaa78d955c42be0 (patch)
treef1dc2e5a17d25035c924932fa1a004f3f26faeab
parentefad1372a532037d54978cc61589178076c9172f (diff)
downloadphp-git-ea2b0d3c8b292ba83b28cfd06eaa78d955c42be0.tar.gz
Fixed JIT failures on Windows
-rw-r--r--Zend/tests/bug31098.phpt6
-rw-r--r--Zend/tests/bug44660.phpt6
-rw-r--r--ext/opcache/jit/zend_jit_x86.dasc2
-rw-r--r--ext/opcache/tests/jit/fetch_obj_001.phpt5
4 files changed, 1 insertions, 18 deletions
diff --git a/Zend/tests/bug31098.phpt b/Zend/tests/bug31098.phpt
index 325ed17727..4d01d36cd8 100644
--- a/Zend/tests/bug31098.phpt
+++ b/Zend/tests/bug31098.phpt
@@ -1,11 +1,5 @@
--TEST--
Bug #31098 (isset() / empty() incorrectly returns true in dereference of a wrong type)
---SKIPIF--
-<?php
-if (PHP_OS_FAMILY === 'Windows' && ini_get('opcache.jit') && ini_get('opcache.jit_buffer_size')) {
- die('xfail unresolved issues with JIT on Windows');
-}
-?>
--FILE--
<?php
$a = '';
diff --git a/Zend/tests/bug44660.phpt b/Zend/tests/bug44660.phpt
index 08de20db01..5097fa7518 100644
--- a/Zend/tests/bug44660.phpt
+++ b/Zend/tests/bug44660.phpt
@@ -1,11 +1,5 @@
--TEST--
Bug #44660 (Indexed and reference assignment to property of non-object don't trigger warning)
---SKIPIF--
-<?php
-if (PHP_OS_FAMILY === 'Windows' && ini_get('opcache.jit') && ini_get('opcache.jit_buffer_size')) {
- die('xfail unresolved issues with JIT on Windows');
-}
-?>
--FILE--
<?php
$s = "hello";
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc
index 29d462b4e3..d4af121618 100644
--- a/ext/opcache/jit/zend_jit_x86.dasc
+++ b/ext/opcache/jit/zend_jit_x86.dasc
@@ -10993,7 +10993,7 @@ static int zend_jit_fetch_obj(dasm_State **Dst, const zend_op *opline, const zen
if ((op1_info & ((MAY_BE_UNDEF|MAY_BE_ANY|MAY_BE_REF)- MAY_BE_OBJECT)) && JIT_G(trigger) != ZEND_JIT_ON_HOT_TRACE) {
|7:
if (opline->opcode != ZEND_FETCH_OBJ_IS) {
- | SAVE_VALID_OPLINE opline, r1
+ | SAVE_VALID_OPLINE opline, r0
if (opline->opcode != ZEND_FETCH_OBJ_W
&& (op1_info & MAY_BE_UNDEF)) {
zend_jit_addr orig_op1_addr = OP1_ADDR();
diff --git a/ext/opcache/tests/jit/fetch_obj_001.phpt b/ext/opcache/tests/jit/fetch_obj_001.phpt
index 666bd02d48..49de772b66 100644
--- a/ext/opcache/tests/jit/fetch_obj_001.phpt
+++ b/ext/opcache/tests/jit/fetch_obj_001.phpt
@@ -7,11 +7,6 @@ opcache.file_update_protection=0
opcache.jit_buffer_size=1M
--SKIPIF--
<?php require_once('skipif.inc'); ?>
-<?php
-if (PHP_OS_FAMILY === 'Windows' && ini_get('opcache.jit') && ini_get('opcache.jit_buffer_size')) {
- die('xfail unresolved issues with JIT on Windows');
-}
-?>
--FILE--
<?php
function foo(&$a) {