@@ -7981,73 +7981,6 @@ ZEND_VM_HANDLER(149, ZEND_HANDLE_EXCEPTION, ANY, ANY)
7981
7981
if (!is_in_silence_live_range (EX (func )-> op_array , throw_op_num )
7982
7982
|| !instanceof_function (zend_ce_exception , EG (exception )-> ce )) {
7983
7983
cleanup_unfinished_calls (execute_data , throw_op_num );
7984
- } else if (UNEXPECTED (EX (call ))) {
7985
- zend_execute_data * call = EX (call );
7986
- zend_op * opline = EX (func )-> op_array .opcodes + throw_op_num ;
7987
- bool do_exit = false;
7988
- unsigned int level = 0 ;
7989
-
7990
- printf ("Opcode %d\n" , opline -> opcode );
7991
- /* Decrement opline */
7992
- opline -- ;
7993
-
7994
- do {
7995
- switch (opline -> opcode ) {
7996
- case ZEND_DO_FCALL :
7997
- case ZEND_DO_ICALL :
7998
- case ZEND_DO_UCALL :
7999
- case ZEND_DO_FCALL_BY_NAME :
8000
- level ++ ;
8001
- break ;
8002
- case ZEND_INIT_FCALL :
8003
- case ZEND_INIT_FCALL_BY_NAME :
8004
- case ZEND_INIT_NS_FCALL_BY_NAME :
8005
- case ZEND_INIT_DYNAMIC_CALL :
8006
- case ZEND_INIT_USER_CALL :
8007
- case ZEND_INIT_METHOD_CALL :
8008
- case ZEND_INIT_STATIC_METHOD_CALL :
8009
- case ZEND_NEW :
8010
- if (level == 0 ) {
8011
- ZEND_CALL_NUM_ARGS (call ) = 0 ;
8012
- do_exit = true;
8013
- }
8014
- level -- ;
8015
- break ;
8016
- case ZEND_SEND_VAL :
8017
- case ZEND_SEND_VAL_EX :
8018
- case ZEND_SEND_VAR :
8019
- case ZEND_SEND_VAR_EX :
8020
- case ZEND_SEND_FUNC_ARG :
8021
- case ZEND_SEND_REF :
8022
- case ZEND_SEND_VAR_NO_REF :
8023
- case ZEND_SEND_VAR_NO_REF_EX :
8024
- case ZEND_SEND_USER :
8025
- if (level == 0 ) {
8026
- /* For named args, the number of arguments is up to date. */
8027
- if (opline -> op2_type != IS_CONST ) {
8028
- ZEND_CALL_NUM_ARGS (call ) = opline -> op2 .num ;
8029
- }
8030
- do_exit = true;
8031
- }
8032
- break ;
8033
- case ZEND_SEND_ARRAY :
8034
- case ZEND_SEND_UNPACK :
8035
- case ZEND_CHECK_UNDEF_ARGS :
8036
- if (level == 0 ) {
8037
- do_exit = true;
8038
- }
8039
- break ;
8040
- }
8041
- if (!do_exit ) {
8042
- opline -- ;
8043
- }
8044
- } while (!do_exit );
8045
-
8046
- //zend_vm_stack_free_args(call);
8047
- //zend_vm_stack_free_extra_args(call);
8048
- //EX(call) = call->prev_execute_data;
8049
- //zend_vm_stack_free_call_frame(call);
8050
- //call = EX(call);
8051
7984
}
8052
7985
8053
7986
if (throw_op -> result_type & (IS_VAR | IS_TMP_VAR )) {
0 commit comments