[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-cvs
Subject:    [PHP-CVS] [php-src] jit-arm64: Fixed signed/unsigned comparison mess and add one missing case
From:       Dmitry Stogov <noreply () php ! net>
Date:       2021-04-29 12:32:25
Message-ID: AVQZUx2EewSnHATx5qoXCycGhPqwiwCjhZaTKQfysY () main ! php ! net
[Download RAW message or body]

Author: Dmitry Stogov (dstogov)
Date: 2021-04-29T14:42:14+03:00

Commit: https://github.com/php/php-src/commit/1da69b89ca61a51cd30e80a5580fc62562e2100d
Raw diff: https://github.com/php/php-src/commit/1da69b89ca61a51cd30e80a5580fc62562e2100d.diff

Fixed signed/unsigned comparison mess and add one missing case

Changed paths:
  M  ext/opcache/jit/zend_jit_arm64.dasc


Diff:

diff --git a/ext/opcache/jit/zend_jit_arm64.dasc b/ext/opcache/jit/zend_jit_arm64.dasc
index f587bb1d17de..1ca972b5a2d3 100644
--- a/ext/opcache/jit/zend_jit_arm64.dasc
+++ b/ext/opcache/jit/zend_jit_arm64.dasc
@@ -8300,9 +8300,9 @@ static int zend_jit_push_call_frame(dasm_State **Dst, const zend_op *opline, con
 				return 0;
 			}
 
-			|	blt &exit_addr
+			|	blo &exit_addr
 		} else {
-			|	blt >1
+			|	blo >1
 			|	// EG(vm_stack_top) = (zval*)((char*)call + used_stack);
 			|.cold_code
 			|1:
@@ -14218,7 +14218,11 @@ static int zend_jit_fe_fetch(dasm_State **Dst, const zend_op *opline, uint32_t o
 	|	// ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
 	|   // ZEND_VM_CONTINUE();
 	if (exit_addr) {
-		|	bls &exit_addr
+		if (exit_opcode == ZEND_JMP) {
+			|	bls &exit_addr
+		} else {
+			|	bls >3
+		}
 	} else {
 		|	bls =>target_label
 	}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic