Skip to content

Commit 7c2fbdf

Browse files
committed
Remove some redundant exception checking/continuing VM instructions
1 parent 86152b1 commit 7c2fbdf

File tree

2 files changed

+0
-30
lines changed

2 files changed

+0
-30
lines changed

Zend/zend_vm_def.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7391,23 +7391,17 @@ ZEND_VM_HANDLER(142, ZEND_YIELD_FROM, CONST|TMP|VAR|CV, ANY)
73917391
if (Z_ISUNDEF(new_gen->retval)) {
73927392
if (UNEXPECTED(zend_generator_get_current(new_gen) == generator)) {
73937393
zend_error(E_ERROR | E_EXCEPTION, "Impossible to yield from the Generator being currently run");
7394-
73957394
HANDLE_EXCEPTION();
7396-
ZEND_VM_NEXT_OPCODE();
73977395
} else {
73987396
zend_generator_yield_from(generator, new_gen);
73997397
}
74007398
} else if (UNEXPECTED(new_gen->execute_data == NULL)) {
74017399
zend_error(E_ERROR | E_EXCEPTION, "Generator passed to yield from was aborted without proper return and is unable to continue");
7402-
74037400
HANDLE_EXCEPTION();
7404-
ZEND_VM_NEXT_OPCODE();
74057401
} else {
74067402
if (RETURN_VALUE_USED(opline)) {
74077403
ZVAL_COPY(EX_VAR(opline->result.var), &new_gen->retval);
74087404
}
7409-
7410-
CHECK_EXCEPTION();
74117405
ZEND_VM_NEXT_OPCODE();
74127406
}
74137407
} else {

Zend/zend_vm_execute.h

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4047,23 +4047,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_FROM_SPEC_CONST_HANDLER(
40474047
if (Z_ISUNDEF(new_gen->retval)) {
40484048
if (UNEXPECTED(zend_generator_get_current(new_gen) == generator)) {
40494049
zend_error(E_ERROR | E_EXCEPTION, "Impossible to yield from the Generator being currently run");
4050-
40514050
HANDLE_EXCEPTION();
4052-
ZEND_VM_NEXT_OPCODE();
40534051
} else {
40544052
zend_generator_yield_from(generator, new_gen);
40554053
}
40564054
} else if (UNEXPECTED(new_gen->execute_data == NULL)) {
40574055
zend_error(E_ERROR | E_EXCEPTION, "Generator passed to yield from was aborted without proper return and is unable to continue");
4058-
40594056
HANDLE_EXCEPTION();
4060-
ZEND_VM_NEXT_OPCODE();
40614057
} else {
40624058
if (RETURN_VALUE_USED(opline)) {
40634059
ZVAL_COPY(EX_VAR(opline->result.var), &new_gen->retval);
40644060
}
4065-
4066-
CHECK_EXCEPTION();
40674061
ZEND_VM_NEXT_OPCODE();
40684062
}
40694063
} else {
@@ -11687,23 +11681,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_FROM_SPEC_TMP_HANDLER(ZE
1168711681
if (Z_ISUNDEF(new_gen->retval)) {
1168811682
if (UNEXPECTED(zend_generator_get_current(new_gen) == generator)) {
1168911683
zend_error(E_ERROR | E_EXCEPTION, "Impossible to yield from the Generator being currently run");
11690-
1169111684
HANDLE_EXCEPTION();
11692-
ZEND_VM_NEXT_OPCODE();
1169311685
} else {
1169411686
zend_generator_yield_from(generator, new_gen);
1169511687
}
1169611688
} else if (UNEXPECTED(new_gen->execute_data == NULL)) {
1169711689
zend_error(E_ERROR | E_EXCEPTION, "Generator passed to yield from was aborted without proper return and is unable to continue");
11698-
1169911690
HANDLE_EXCEPTION();
11700-
ZEND_VM_NEXT_OPCODE();
1170111691
} else {
1170211692
if (RETURN_VALUE_USED(opline)) {
1170311693
ZVAL_COPY(EX_VAR(opline->result.var), &new_gen->retval);
1170411694
}
11705-
11706-
CHECK_EXCEPTION();
1170711695
ZEND_VM_NEXT_OPCODE();
1170811696
}
1170911697
} else {
@@ -15393,23 +15381,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_FROM_SPEC_VAR_HANDLER(ZE
1539315381
if (Z_ISUNDEF(new_gen->retval)) {
1539415382
if (UNEXPECTED(zend_generator_get_current(new_gen) == generator)) {
1539515383
zend_error(E_ERROR | E_EXCEPTION, "Impossible to yield from the Generator being currently run");
15396-
1539715384
HANDLE_EXCEPTION();
15398-
ZEND_VM_NEXT_OPCODE();
1539915385
} else {
1540015386
zend_generator_yield_from(generator, new_gen);
1540115387
}
1540215388
} else if (UNEXPECTED(new_gen->execute_data == NULL)) {
1540315389
zend_error(E_ERROR | E_EXCEPTION, "Generator passed to yield from was aborted without proper return and is unable to continue");
15404-
1540515390
HANDLE_EXCEPTION();
15406-
ZEND_VM_NEXT_OPCODE();
1540715391
} else {
1540815392
if (RETURN_VALUE_USED(opline)) {
1540915393
ZVAL_COPY(EX_VAR(opline->result.var), &new_gen->retval);
1541015394
}
15411-
15412-
CHECK_EXCEPTION();
1541315395
ZEND_VM_NEXT_OPCODE();
1541415396
}
1541515397
} else {
@@ -28990,23 +28972,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_FROM_SPEC_CV_HANDLER(ZEN
2899028972
if (Z_ISUNDEF(new_gen->retval)) {
2899128973
if (UNEXPECTED(zend_generator_get_current(new_gen) == generator)) {
2899228974
zend_error(E_ERROR | E_EXCEPTION, "Impossible to yield from the Generator being currently run");
28993-
2899428975
HANDLE_EXCEPTION();
28995-
ZEND_VM_NEXT_OPCODE();
2899628976
} else {
2899728977
zend_generator_yield_from(generator, new_gen);
2899828978
}
2899928979
} else if (UNEXPECTED(new_gen->execute_data == NULL)) {
2900028980
zend_error(E_ERROR | E_EXCEPTION, "Generator passed to yield from was aborted without proper return and is unable to continue");
29001-
2900228981
HANDLE_EXCEPTION();
29003-
ZEND_VM_NEXT_OPCODE();
2900428982
} else {
2900528983
if (RETURN_VALUE_USED(opline)) {
2900628984
ZVAL_COPY(EX_VAR(opline->result.var), &new_gen->retval);
2900728985
}
29008-
29009-
CHECK_EXCEPTION();
2901028986
ZEND_VM_NEXT_OPCODE();
2901128987
}
2901228988
} else {

0 commit comments

Comments
 (0)