Skip to content

Commit db02d7a

Browse files
committed
Reduce cost for GC references to strings and resources in JIT
1 parent 8dbeb0c commit db02d7a

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1296,6 +1296,10 @@ static void* dasm_labels[zend_lb_MAX];
12961296
| IF_NOT_ZVAL_FLAGS addr, IS_TYPE_REFCOUNTED, label
12971297
|.endmacro
12981298

1299+
|.macro IF_NOT_ZVAL_COLLECTABLE, addr, label
1300+
| IF_NOT_ZVAL_FLAGS addr, IS_TYPE_COLLECTABLE, label
1301+
|.endmacro
1302+
12991303
|.macro GC_ADDREF, zv
13001304
| add dword [zv], 1
13011305
|.endmacro
@@ -1441,7 +1445,7 @@ static void* dasm_labels[zend_lb_MAX];
14411445
|| if ((op_info) & MAY_BE_REF) {
14421446
|| zend_jit_addr ref_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FCARG1a, offsetof(zend_reference, val));
14431447
| IF_NOT_ZVAL_TYPE addr, IS_REFERENCE, >1
1444-
| IF_NOT_ZVAL_REFCOUNTED ref_addr, >4
1448+
| IF_NOT_ZVAL_COLLECTABLE ref_addr, >4
14451449
| GET_ZVAL_PTR FCARG1a, ref_addr
14461450
|1:
14471451
|| }

0 commit comments

Comments
 (0)