@@ -6763,14 +6763,9 @@ static void zend_pm_compile_or(zend_ast *ast, znode *result, znode *expr_node, b
67636763
67646764 zend_pm_label_set_next (context , true_label );
67656765 if (consume_expr ) {
6766- zend_emit_op (NULL , ZEND_FREE , expr_node , NULL );
6767- uint32_t end_label = zend_emit_jump (0 );
6768-
67696766 zend_pm_label_set_next (context , false_label );
67706767 zend_emit_op (NULL , ZEND_FREE , expr_node , NULL );
6771- zend_emit_jump (false_opnum );
6772-
6773- zend_update_jump_target_to_next (end_label );
6768+ zend_pm_emit_jmpz_ex (result , false_opnum );
67746769 }
67756770
67766771 context -> inside_or_pattern = false;
@@ -6788,14 +6783,9 @@ static void zend_pm_compile_and(zend_ast *ast, znode *result, znode *expr_node,
67886783 }
67896784
67906785 if (consume_expr ) {
6791- zend_emit_op (NULL , ZEND_FREE , expr_node , NULL );
6792- uint32_t jmp_end = zend_emit_jump (0 );
6793-
67946786 zend_pm_label_set_next (context , false_label );
67956787 zend_emit_op (NULL , ZEND_FREE , expr_node , NULL );
6796- zend_emit_jump (false_opnum );
6797-
6798- zend_update_jump_target_to_next (jmp_end );
6788+ zend_pm_emit_jmpz_ex (result , false_opnum );
67996789 }
68006790}
68016791
@@ -6931,14 +6921,9 @@ static void zend_pm_compile_container(
69316921 }
69326922
69336923 if (consume_expr ) {
6934- zend_emit_op (NULL , ZEND_FREE , expr_node , NULL );
6935- uint32_t jmp_end = zend_emit_jump (0 );
6936-
69376924 zend_pm_label_set_next (context , false_label );
69386925 zend_emit_op (NULL , ZEND_FREE , expr_node , NULL );
6939- zend_emit_jump (false_opnum );
6940-
6941- zend_update_jump_target_to_next (jmp_end );
6926+ zend_pm_emit_jmpz_ex (result , false_opnum );
69426927 }
69436928
69446929 if (has_implicit && has_explicit ) {
0 commit comments