mirror of
https://github.com/php/php-src.git
synced 2026-04-13 02:52:48 +02:00
Merge branch 'PHP-8.1'
* PHP-8.1: Tracing JIT: Fixed missed type store in deoptimization code
This commit is contained in:
@@ -3508,14 +3508,14 @@ static int zend_jit_trace_deoptimization(dasm_State **Dst,
|
||||
} else {
|
||||
uint8_t type = STACK_TYPE(parent_stack, i);
|
||||
|
||||
if (stack) {
|
||||
SET_STACK_TYPE(stack, i, type, 1);
|
||||
}
|
||||
if (!(STACK_FLAGS(parent_stack, i) & (ZREG_LOAD|ZREG_STORE))
|
||||
&& !zend_jit_store_var(Dst, 1 << type, i, reg,
|
||||
STACK_MEM_TYPE(parent_stack, i) != type)) {
|
||||
return 0;
|
||||
}
|
||||
if (stack) {
|
||||
SET_STACK_TYPE(stack, i, type, 1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* delay custom deoptimization instructions to prevent register clobbering */
|
||||
|
||||
Reference in New Issue
Block a user