]> granicus.if.org Git - php/commitdiff
Reuse value stored in %r0 instead of immediate operand
authorDmitry Stogov <dmitry@zend.com>
Tue, 29 Dec 2020 10:18:56 +0000 (13:18 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 29 Dec 2020 10:18:56 +0000 (13:18 +0300)
ext/opcache/jit/zend_jit_x86.dasc

index 6723cb8f7e320e06b009d5fb35af3742f0bcb4af..4a3ee2873f14f919f14dbfad17b665c477f6a438 100644 (file)
@@ -8807,7 +8807,7 @@ static int zend_jit_push_call_frame(dasm_State **Dst, const zend_op *opline, zen
 #ifdef _WIN32
                        if (0) {
 #else
-                       if (func && func->type == ZEND_INTERNAL_FUNCTION) {
+                       if (opline->opcode == ZEND_INIT_FCALL && func && func->type == ZEND_INTERNAL_FUNCTION) {
 #endif
                                |       SET_EX_OPLINE opline, r0
                                |       EXT_CALL zend_jit_int_extend_stack_helper, r0
@@ -8839,7 +8839,7 @@ static int zend_jit_push_call_frame(dasm_State **Dst, const zend_op *opline, zen
 #ifdef _WIN32
        if (0) {
 #else
-       if (func && func->type == ZEND_INTERNAL_FUNCTION) {
+       if (opline->opcode == ZEND_INIT_FCALL && func && func->type == ZEND_INTERNAL_FUNCTION) {
 #endif
                |       // call->func = func;
                |1: