Lines Matching refs:block

143 static void zend_optimize_block(zend_basic_block *block, zend_op_array *op_array, zend_bitset used_…  in zend_optimize_block()  argument
149 strip_leading_nops(op_array, block); in zend_optimize_block()
151 opline = op_array->opcodes + block->start; in zend_optimize_block()
152 end = opline + block->len; in zend_optimize_block()
300 if(sv >= block->start_opline && sv->opcode == ZEND_SEND_VAL && in zend_optimize_block()
553 tmp = block->successors[0]; in zend_optimize_block()
554 block->successors[0] = block->successors[1]; in zend_optimize_block()
555 block->successors[1] = tmp; in zend_optimize_block()
1031 static void zend_jmp_optimization(zend_basic_block *block, zend_op_array *op_array, zend_cfg *cfg, … in zend_jmp_optimization() argument
1037 if (block->len == 0) { in zend_jmp_optimization()
1041 last_op = op_array->opcodes + block->start + block->len - 1; in zend_jmp_optimization()
1045 zend_basic_block *target_block = blocks + block->successors[0]; in zend_jmp_optimization()
1047 int next = (block - blocks) + 1; in zend_jmp_optimization()
1055 if (block->successors[0] == next) { in zend_jmp_optimization()
1057 block->len--; in zend_jmp_optimization()
1062 block->successors[0] != target_block->successors[0] && in zend_jmp_optimization()
1066 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1067 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1068 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1078 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1079 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1080 block->successors[1] = target_block->successors[1]; in zend_jmp_optimization()
1081 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1082 ADD_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1094 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1095 block->successors[0] = -1; in zend_jmp_optimization()
1098 } else if (0&& block->op1_to != block && in zend_jmp_optimization()
1099 block->op1_to != blocks && in zend_jmp_optimization()
1107 zend_block_source *cs = block->op1_to->sources; in zend_jmp_optimization()
1111 if (cs->from->follow_to == block->op1_to) { in zend_jmp_optimization()
1118 next = block->op1_to; in zend_jmp_optimization()
1121 if (next->follow_to == block) { in zend_jmp_optimization()
1130 while (prev->next != block->op1_to) { in zend_jmp_optimization()
1134 next->next = block->next; in zend_jmp_optimization()
1135 block->next = block->op1_to; in zend_jmp_optimization()
1137 block->follow_to = block->op1_to; in zend_jmp_optimization()
1138 block->op1_to = NULL; in zend_jmp_optimization()
1140 block->len--; in zend_jmp_optimization()
1141 if(block->len == 0) { in zend_jmp_optimization()
1143 delete_code_block(block, ctx); in zend_jmp_optimization()
1167 DEL_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1168 block->successors[1] = -1; in zend_jmp_optimization()
1172 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1173 block->successors[0] = block->successors[1]; in zend_jmp_optimization()
1174 block->successors[1] = -1; in zend_jmp_optimization()
1179 if (block->successors[0] == block->successors[1]) { in zend_jmp_optimization()
1191 block->successors[1] = -1; in zend_jmp_optimization()
1200 zend_basic_block *target_block = blocks + block->successors[0]; in zend_jmp_optimization()
1220 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1221 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1222 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1231 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1232 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1233 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1240 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1241 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1242 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1246 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1247 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1248 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1255 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1257 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1259 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1261 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1271 target_block = blocks + block->successors[1]; in zend_jmp_optimization()
1280 DEL_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1281 block->successors[1] = target_block->successors[0]; in zend_jmp_optimization()
1282 ADD_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1290 DEL_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1292 block->successors[1] = target_block->successors[0]; in zend_jmp_optimization()
1293 ADD_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1295 block->successors[1] = block->successors[0]; in zend_jmp_optimization()
1296 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1297 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1319 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1320 block->successors[0] = block->successors[1]; in zend_jmp_optimization()
1321 block->successors[1] = -1; in zend_jmp_optimization()
1337 target_block = blocks + block->successors[0]; in zend_jmp_optimization()
1353 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1354 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1355 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1361 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1362 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1363 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1370 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1371 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1372 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1379 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1380 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1381 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1385 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1386 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1387 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1393 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1395 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1397 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1399 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1405 int next = (block - blocks) + 1; in zend_jmp_optimization()
1419 DEL_SOURCE(block, block->successors[1]); in zend_jmp_optimization()
1420 block->successors[1] = -1; in zend_jmp_optimization()
1427 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1428 block->successors[0] = block->successors[1]; in zend_jmp_optimization()
1429 block->successors[1] = -1; in zend_jmp_optimization()
1431 } else if (block->successors[0] == block->successors[1]) { in zend_jmp_optimization()
1438 block->successors[1] = -1; in zend_jmp_optimization()
1440 } else if (block->successors[0] == next) { in zend_jmp_optimization()
1444 block->successors[0] = block->successors[1]; in zend_jmp_optimization()
1445 block->successors[1] = next; in zend_jmp_optimization()
1447 } else if (block->successors[1] == next) { in zend_jmp_optimization()
1459 zend_basic_block *target_block = blocks + block->successors[0]; in zend_jmp_optimization()
1477 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1478 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1479 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1486 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1487 block->successors[0] = target_block->successors[1]; in zend_jmp_optimization()
1488 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1492 DEL_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1493 block->successors[0] = target_block->successors[0]; in zend_jmp_optimization()
1494 ADD_SOURCE(block, block->successors[0]); in zend_jmp_optimization()
1509 zend_basic_block *block, *next_block; in zend_t_usage() local
1529 block = cfg->blocks + n; in zend_t_usage()
1531 if (!(block->flags & ZEND_BB_REACHABLE)) { in zend_t_usage()
1535 opline = op_array->opcodes + block->start; in zend_t_usage()
1536 end = opline + block->len; in zend_t_usage()
1537 if (!(block->flags & ZEND_BB_FOLLOW) || in zend_t_usage()
1538 (block->flags & ZEND_BB_TARGET)) { in zend_t_usage()
1609 block = cfg->blocks + (--n); in zend_t_usage()
1611 if (!(block->flags & ZEND_BB_REACHABLE) || block->len == 0) { in zend_t_usage()
1615 end = op_array->opcodes + block->start; in zend_t_usage()
1616 opline = end + block->len - 1; in zend_t_usage()
1622 } else if (block->successors[1] != -1) { in zend_t_usage()
1625 next_block = block; in zend_t_usage()