This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/ext/opcache/jit/zend_jit_arm64.dasc b/ext/opcache/jit/zend_jit_arm64.dasc | |
index fea32f9c0a..d1cd697ec5 100644 | |
--- a/ext/opcache/jit/zend_jit_arm64.dasc | |
+++ b/ext/opcache/jit/zend_jit_arm64.dasc | |
@@ -3902,9 +3902,9 @@ static int zend_jit_math_long_long(dasm_State **Dst, | |
| lsl Rx(result_reg), Rx(result_reg), TMP1 | |
} else if (opcode == ZEND_DIV && | |
(Z_MODE(op2_addr) == IS_CONST_ZVAL && | |
- is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr))))) { | |
+ zend_long_is_power_of_two(Z_LVAL_P(Z_ZV(op2_addr))))) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c | |
index 151eb4ecc5..c8bd6936be 100644 | |
--- a/Zend/zend_execute.c | |
+++ b/Zend/zend_execute.c | |
@@ -4833,10 +4833,8 @@ static zend_always_inline zend_execute_data *_zend_vm_stack_push_call_frame(uint | |
} \ | |
} while (0) | |
-#ifdef ZEND_VM_HYBRID_JIT_RED_ZONE_SIZE | |
/* This callback disables optimization of "vm_stack_data" variable in VM */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
define("BAILOUT",16); | |
define("MAX_ITERATIONS",1000); | |
class Mandelbrot | |
{ | |
function __construct() | |
{ | |
$d1 = microtime(1); | |
for ($y = -39; $y < 39; $y++) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sapi/cli/php -r 'date_default_timezone_set("GMT"); echo date("Y-m-d H:i:s", time())."\n"; date_default_timezone_set("Etc/GMT-3"); echo date("Y-m-d H:i:s", time())."\n";' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c | |
index 90ffa5afb6..fcbcec268b 100644 | |
--- a/Zend/zend_execute.c | |
+++ b/Zend/zend_execute.c | |
@@ -51,11 +51,11 @@ | |
# define ZEND_VM_FP_GLOBAL_REG "%r14" | |
# define ZEND_VM_IP_GLOBAL_REG "%r15" | |
# elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__) | |
-# define ZEND_VM_FP_GLOBAL_REG "r28" | |
-# define ZEND_VM_IP_GLOBAL_REG "r29" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h | |
index dc49bcd434..ff2c678373 100644 | |
--- a/Zend/zend_vm_execute.h | |
+++ b/Zend/zend_vm_execute.h | |
@@ -374,11 +374,19 @@ static const void *zend_vm_get_opcode_handler_func(zend_uchar opcode, const zend | |
# if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID) | |
# define ZEND_VM_RETURN() opline = &hybrid_halt_op; return | |
# define ZEND_VM_HOT zend_always_inline ZEND_COLD ZEND_OPT_SIZE | |
-# define ZEND_VM_COLD ZEND_COLD ZEND_OPT_SIZE | |
+# if (defined(HAVE_GCC_GLOBAL_REGS) && defined(__powerpc64__)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c | |
index cd340035a2..2d60b6a9d6 100644 | |
--- a/TSRM/TSRM.c | |
+++ b/TSRM/TSRM.c | |
@@ -729,13 +729,13 @@ TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void) | |
#if defined(__APPLE__) && defined(__x86_64__) | |
// TODO: Implement support for fast JIT ZTS code ??? | |
return 0; | |
-#elif defined(__x86_64__) && defined(__GNUC__) | |
+#elif defined(__x86_64__) && defined(__GNUC__) && !defined(__FreeBSD__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| PHP-8 | +JIT | kPHP | | |
----------------+-------+-------+-------+ | |
simplу | 0.007 | 0.002 | 0.000 | | |
simplecall | 0.003 | 0.001 | 0.000 | | |
simpleucall | 0.003 | 0.001 | 0.000 | | |
simpleudcall | 0.003 | 0.001 | 0.000 | | |
mandel | 0.027 | 0.008 | 0.010 | | |
mandel2 | 0.041 | 0.009 | 0.011 | | |
ackermann(7) | 0.017 | 0.011 | 0.002 | | |
ary(50000) | 0.005 | 0.004 | 0.005 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/tests/anon/015.phpt b/Zend/tests/anon/015.phpt | |
index 324ebe880a..f55c4b2605 100644 | |
--- a/Zend/tests/anon/015.phpt | |
+++ b/Zend/tests/anon/015.phpt | |
@@ -19,10 +19,7 @@ var_dump($d->foo(24)); | |
var_dump($c->foo()); | |
?> | |
--EXPECT-- | |
-array(1) { | |
- [0]=> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h | |
index b4af5d9e3f..4b7e457946 100644 | |
--- a/Zend/zend_compile.h | |
+++ b/Zend/zend_compile.h | |
@@ -531,6 +531,9 @@ struct _zend_execute_data { | |
#define ZEND_CALL_DYNAMIC (1 << 25) | |
#define ZEND_CALL_MAY_HAVE_UNDEF (1 << 26) | |
#define ZEND_CALL_HAS_EXTRA_NAMED_PARAMS (1 << 27) | |
+#define ZEND_CALL_OBSERVED (1 << 28) /* "fcall_begin" observer handler may set this flag */ | |
+ /* to prevent optimization in RETRUN handler and */ |