[xdebug-dev] xdebug xdebug/xdebug.c First commit to branch. Added handlers for all opcodes and changed count_line to count_instruction and always prefill from oparray.

From: Allister Beharry <allister.beharry[@]gmail.com>
Date: Fri, 17 Jul 2009 08:12:07 +0200

Date: Fri Jul 17 08:12:07 CEST 2009
User: Allister Beharry
Directory: xdebug

Log Message:
First commit to branch. Added handlers for all opcodes and changed count_line to count_instruction and always prefill from oparray.
Modified files:
           xdebug/xdebug.c (version: 1.454.4.1)

[FILE: /xdebug/xdebug.c]

===================================================================
RCS file: cvstemp,v
retrieving revision 1.454
retrieving revision 1.454.4.1
diff -u -r1.454 -r1.454.4.1
--- xdebug/xdebug.c:1.454 Thu Jul 09 14:51:44 2009 GMT
+++ xdebug/xdebug.c Fri Jul 17 04:12:07 2009 GMT
@@ -474,17 +474,9 @@
 { \
         if (XG(do_code_coverage)) { \
                 zend_op *cur_opcode; \
- int lineno; \
- char *file; \
-\
- zend_op_array *op_array = execute_data->op_array; \
 \
                 cur_opcode = *EG(opline_ptr); \
- lineno = cur_opcode->lineno; \
-\
- file = op_array->filename; \
-\
- xdebug_count_line(file, lineno, 0, 0 TSRMLS_CC); \
+ xdebug_count_instruction(cur_opcode, execute_data TSRMLS_CC); \
         } \
         return ZEND_USER_OPCODE_DISPATCH; \
 }
@@ -506,7 +498,7 @@
         file = op_array->filename;
 
         if (do_cc && XG(do_code_coverage)) {
- xdebug_count_line(file, lineno, 0, 0 TSRMLS_CC);
+ xdebug_count_instruction(cur_opcode, execute_data TSRMLS_CC);
         }
         if (XG(do_trace) && XG(trace_file) && XG(collect_assignments)) {
                 char* t;
@@ -557,6 +549,7 @@
         }
 
 
+/*
 XDEBUG_OPCODE_OVERRIDE(jmp)
 XDEBUG_OPCODE_OVERRIDE(jmpz)
 XDEBUG_OPCODE_OVERRIDE(jmpnz)
@@ -607,7 +600,132 @@
 XDEBUG_OPCODE_OVERRIDE(pre_inc_obj)
 XDEBUG_OPCODE_OVERRIDE(switch_free)
 XDEBUG_OPCODE_OVERRIDE(qm_assign)
+*/
 
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign,"=",1)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_add,"+=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_sub,"-=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_mul,"*=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_div,"/=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_mod,"%=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_sl,"<<=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_sr,">>=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_concat,".=",1)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_bw_or,"|=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_bw_and,"&=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_bw_xor,"^=",0)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_dim,"=",1)
+XDEBUG_OPCODE_OVERRIDE_ASSIGN(assign_obj,"=",1)
+XDEBUG_OPCODE_OVERRIDE(nop)
+XDEBUG_OPCODE_OVERRIDE(add)
+XDEBUG_OPCODE_OVERRIDE(sub)
+XDEBUG_OPCODE_OVERRIDE(mul)
+XDEBUG_OPCODE_OVERRIDE(div)
+XDEBUG_OPCODE_OVERRIDE(mod)
+XDEBUG_OPCODE_OVERRIDE(sl)
+XDEBUG_OPCODE_OVERRIDE(sr)
+XDEBUG_OPCODE_OVERRIDE(concat)
+XDEBUG_OPCODE_OVERRIDE(bw_or)
+XDEBUG_OPCODE_OVERRIDE(bw_and)
+XDEBUG_OPCODE_OVERRIDE(bw_xor)
+XDEBUG_OPCODE_OVERRIDE(bw_not)
+XDEBUG_OPCODE_OVERRIDE(bool_not)
+XDEBUG_OPCODE_OVERRIDE(bool_xor)
+XDEBUG_OPCODE_OVERRIDE(is_identical)
+XDEBUG_OPCODE_OVERRIDE(is_not_identical)
+XDEBUG_OPCODE_OVERRIDE(is_equal)
+XDEBUG_OPCODE_OVERRIDE(is_not_equal)
+XDEBUG_OPCODE_OVERRIDE(is_smaller)
+XDEBUG_OPCODE_OVERRIDE(is_smaller_or_equal)
+XDEBUG_OPCODE_OVERRIDE(cast)
+XDEBUG_OPCODE_OVERRIDE(qm_assign)
+XDEBUG_OPCODE_OVERRIDE(pre_inc)
+XDEBUG_OPCODE_OVERRIDE(pre_dec)
+XDEBUG_OPCODE_OVERRIDE(post_inc)
+XDEBUG_OPCODE_OVERRIDE(post_dec)
+XDEBUG_OPCODE_OVERRIDE(assign_ref)
+XDEBUG_OPCODE_OVERRIDE(echo)
+XDEBUG_OPCODE_OVERRIDE(print)
+XDEBUG_OPCODE_OVERRIDE(jmp)
+XDEBUG_OPCODE_OVERRIDE(jmpz)
+XDEBUG_OPCODE_OVERRIDE(jmpnz)
+XDEBUG_OPCODE_OVERRIDE(jmpz_ex)
+XDEBUG_OPCODE_OVERRIDE(jmpnz_ex)
+XDEBUG_OPCODE_OVERRIDE(case)
+XDEBUG_OPCODE_OVERRIDE(switch_free)
+XDEBUG_OPCODE_OVERRIDE(bool)
+XDEBUG_OPCODE_OVERRIDE(init_string)
+XDEBUG_OPCODE_OVERRIDE(add_char)
+XDEBUG_OPCODE_OVERRIDE(add_string)
+XDEBUG_OPCODE_OVERRIDE(add_var)
+XDEBUG_OPCODE_OVERRIDE(begin_silence)
+XDEBUG_OPCODE_OVERRIDE(end_silence)
+XDEBUG_OPCODE_OVERRIDE(init_fcall_by_name)
+XDEBUG_OPCODE_OVERRIDE(do_fcall)
+XDEBUG_OPCODE_OVERRIDE(do_fcall_by_name)
+XDEBUG_OPCODE_OVERRIDE(return)
+XDEBUG_OPCODE_OVERRIDE(recv)
+XDEBUG_OPCODE_OVERRIDE(recv_init)
+XDEBUG_OPCODE_OVERRIDE(send_val)
+XDEBUG_OPCODE_OVERRIDE(send_var)
+XDEBUG_OPCODE_OVERRIDE(send_re)
+XDEBUG_OPCODE_OVERRIDE(new)
+XDEBUG_OPCODE_OVERRIDE(free)
+XDEBUG_OPCODE_OVERRIDE(init_array)
+XDEBUG_OPCODE_OVERRIDE(add_array_element)
+XDEBUG_OPCODE_OVERRIDE(unset_var)
+XDEBUG_OPCODE_OVERRIDE(unset_dim)
+XDEBUG_OPCODE_OVERRIDE(unset_obj)
+XDEBUG_OPCODE_OVERRIDE(fe_reset)
+XDEBUG_OPCODE_OVERRIDE(fe_fetch)
+XDEBUG_OPCODE_OVERRIDE(fetch_r)
+XDEBUG_OPCODE_OVERRIDE(dim_r)
+XDEBUG_OPCODE_OVERRIDE(obj_r)
+XDEBUG_OPCODE_OVERRIDE(fetch_w)
+XDEBUG_OPCODE_OVERRIDE(fetch_dim_w)
+XDEBUG_OPCODE_OVERRIDE(fetch_obj_w)
+XDEBUG_OPCODE_OVERRIDE(fetch_rw)
+XDEBUG_OPCODE_OVERRIDE(fetch_dim_rw)
+XDEBUG_OPCODE_OVERRIDE(fetch_obj_rw)
+XDEBUG_OPCODE_OVERRIDE(fetch_is)
+XDEBUG_OPCODE_OVERRIDE(fetch_dim_is)
+XDEBUG_OPCODE_OVERRIDE(fetch_obj_is)
+XDEBUG_OPCODE_OVERRIDE(fetch_func_arg)
+XDEBUG_OPCODE_OVERRIDE(fetch_dim_func_arg)
+XDEBUG_OPCODE_OVERRIDE(fetch_obj_func_arg)
+XDEBUG_OPCODE_OVERRIDE(fetch_unset)
+XDEBUG_OPCODE_OVERRIDE(fetch_dim_unset)
+XDEBUG_OPCODE_OVERRIDE(fetch_obj_unset)
+XDEBUG_OPCODE_OVERRIDE(fetch_dim_tmp_var)
+XDEBUG_OPCODE_OVERRIDE(fetch_constant)
+XDEBUG_OPCODE_OVERRIDE(ext_stmt)
+XDEBUG_OPCODE_OVERRIDE(ext_call_begin)
+XDEBUG_OPCODE_OVERRIDE(ext_call_end)
+XDEBUG_OPCODE_OVERRIDE(ext_nop)
+XDEBUG_OPCODE_OVERRIDE(ticks)
+XDEBUG_OPCODE_OVERRIDE(send_var_no_ref)
+XDEBUG_OPCODE_OVERRIDE(catch)
+XDEBUG_OPCODE_OVERRIDE(throw)
+XDEBUG_OPCODE_OVERRIDE(fetch_class)
+XDEBUG_OPCODE_OVERRIDE(clone)
+XDEBUG_OPCODE_OVERRIDE(init_method_call)
+XDEBUG_OPCODE_OVERRIDE(init_static_method_call)
+XDEBUG_OPCODE_OVERRIDE(isset_isempty_var)
+XDEBUG_OPCODE_OVERRIDE(isset_isempty_dim_obj)
+XDEBUG_OPCODE_OVERRIDE(pre_inc_obj)
+XDEBUG_OPCODE_OVERRIDE(pre_dec_obj)
+XDEBUG_OPCODE_OVERRIDE(post_inc_obj)
+XDEBUG_OPCODE_OVERRIDE(post_dec_obj)
+XDEBUG_OPCODE_OVERRIDE(instanceof)
+XDEBUG_OPCODE_OVERRIDE(declare_class)
+XDEBUG_OPCODE_OVERRIDE(inherited_class)
+XDEBUG_OPCODE_OVERRIDE(declare_function)
+XDEBUG_OPCODE_OVERRIDE(raise_abstract_error)
+XDEBUG_OPCODE_OVERRIDE(add_interface)
+XDEBUG_OPCODE_OVERRIDE(verify_abstract_class)
+XDEBUG_OPCODE_OVERRIDE(isset_isempty_prop_obj)
+XDEBUG_OPCODE_OVERRIDE(handle_exception)
+XDEBUG_OPCODE_OVERRIDE(user_opcode)
 
 PHP_MINIT_FUNCTION(xdebug)
 {
@@ -643,60 +761,132 @@
         XG(reserved_offset) = zend_get_resource_handle(&dummy_ext);
 
         /* Overload the "exit" opcode */
- XDEBUG_SET_OPCODE_OVERRIDE(exit, ZEND_EXIT);
- XDEBUG_SET_OPCODE_OVERRIDE(jmp, ZEND_JMP);
- XDEBUG_SET_OPCODE_OVERRIDE(jmpz, ZEND_JMPZ);
- XDEBUG_SET_OPCODE_OVERRIDE(jmpnz, ZEND_JMPNZ);
- XDEBUG_SET_OPCODE_OVERRIDE(is_identical, ZEND_IS_IDENTICAL);
- XDEBUG_SET_OPCODE_OVERRIDE(is_not_identical, ZEND_IS_NOT_IDENTICAL);
- XDEBUG_SET_OPCODE_OVERRIDE(is_equal, ZEND_IS_EQUAL);
- XDEBUG_SET_OPCODE_OVERRIDE(is_not_equal, ZEND_IS_NOT_EQUAL);
- XDEBUG_SET_OPCODE_OVERRIDE(is_smaller, ZEND_IS_SMALLER);
- XDEBUG_SET_OPCODE_OVERRIDE(is_smaller_or_equal, ZEND_IS_SMALLER_OR_EQUAL);
-
- XDEBUG_SET_OPCODE_OVERRIDE(assign, ZEND_ASSIGN);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_add, ZEND_ASSIGN_ADD);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_sub, ZEND_ASSIGN_SUB);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_mul, ZEND_ASSIGN_MUL);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_div, ZEND_ASSIGN_DIV);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_mod, ZEND_ASSIGN_MOD);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_sl, ZEND_ASSIGN_SL);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_sr, ZEND_ASSIGN_SR);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_concat, ZEND_ASSIGN_CONCAT);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_bw_or, ZEND_ASSIGN_BW_OR);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_bw_and, ZEND_ASSIGN_BW_AND);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_bw_xor, ZEND_ASSIGN_BW_XOR);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_dim, ZEND_ASSIGN_DIM);
- XDEBUG_SET_OPCODE_OVERRIDE(assign_obj, ZEND_ASSIGN_OBJ);
-
- XDEBUG_SET_OPCODE_OVERRIDE(add_array_element, ZEND_ADD_ARRAY_ELEMENT);
- XDEBUG_SET_OPCODE_OVERRIDE(return, ZEND_RETURN);
- XDEBUG_SET_OPCODE_OVERRIDE(ext_stmt, ZEND_EXT_STMT);
- XDEBUG_SET_OPCODE_OVERRIDE(raise_abstract_error, ZEND_RAISE_ABSTRACT_ERROR);
- XDEBUG_SET_OPCODE_OVERRIDE(send_var, ZEND_SEND_VAR);
- XDEBUG_SET_OPCODE_OVERRIDE(send_var_no_ref, ZEND_SEND_VAR_NO_REF);
- XDEBUG_SET_OPCODE_OVERRIDE(send_val, ZEND_SEND_VAL);
- XDEBUG_SET_OPCODE_OVERRIDE(new, ZEND_NEW);
- XDEBUG_SET_OPCODE_OVERRIDE(ext_fcall_begin, ZEND_EXT_FCALL_BEGIN);
- XDEBUG_SET_OPCODE_OVERRIDE(catch, ZEND_CATCH);
- XDEBUG_SET_OPCODE_OVERRIDE(bool, ZEND_BOOL);
- XDEBUG_SET_OPCODE_OVERRIDE(add_string, ZEND_ADD_STRING);
- XDEBUG_SET_OPCODE_OVERRIDE(init_array, ZEND_INIT_ARRAY);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_r, ZEND_FETCH_DIM_R);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_r, ZEND_FETCH_OBJ_R);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_w, ZEND_FETCH_OBJ_W);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_func_arg, ZEND_FETCH_OBJ_FUNC_ARG);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_func_arg, ZEND_FETCH_DIM_FUNC_ARG);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_unset, ZEND_FETCH_DIM_UNSET);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_unset, ZEND_FETCH_OBJ_UNSET);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_class, ZEND_FETCH_CLASS);
- XDEBUG_SET_OPCODE_OVERRIDE(fetch_constant, ZEND_FETCH_CONSTANT);
- XDEBUG_SET_OPCODE_OVERRIDE(concat, ZEND_CONCAT);
- XDEBUG_SET_OPCODE_OVERRIDE(isset_isempty_dim_obj, ZEND_ISSET_ISEMPTY_DIM_OBJ);
- XDEBUG_SET_OPCODE_OVERRIDE(pre_inc_obj, ZEND_PRE_INC_OBJ);
- XDEBUG_SET_OPCODE_OVERRIDE(switch_free, ZEND_SWITCH_FREE);
- XDEBUG_SET_OPCODE_OVERRIDE(qm_assign, ZEND_QM_ASSIGN);
- XDEBUG_SET_OPCODE_OVERRIDE(include_or_eval, ZEND_INCLUDE_OR_EVAL);
+ XDEBUG_SET_OPCODE_OVERRIDE(nop, ZEND_NOP)
+ XDEBUG_SET_OPCODE_OVERRIDE(add, ZEND_ADD)
+ XDEBUG_SET_OPCODE_OVERRIDE(sub, ZEND_SUB)
+ XDEBUG_SET_OPCODE_OVERRIDE(mul, ZEND_MUL)
+ XDEBUG_SET_OPCODE_OVERRIDE(div, ZEND_DIV)
+ XDEBUG_SET_OPCODE_OVERRIDE(mod, ZEND_MOD)
+ XDEBUG_SET_OPCODE_OVERRIDE(sl, ZEND_SL)
+ XDEBUG_SET_OPCODE_OVERRIDE(sr, ZEND_SR)
+ XDEBUG_SET_OPCODE_OVERRIDE(concat, ZEND_CONCAT)
+ XDEBUG_SET_OPCODE_OVERRIDE(bw_or, ZEND_BW_OR)
+ XDEBUG_SET_OPCODE_OVERRIDE(bw_and, ZEND_BW_AND)
+ XDEBUG_SET_OPCODE_OVERRIDE(bw_xor, ZEND_BW_XOR)
+ XDEBUG_SET_OPCODE_OVERRIDE(bw_not, ZEND_BW_NOT)
+ XDEBUG_SET_OPCODE_OVERRIDE(bool_not, ZEND_BOOL_NOT)
+ XDEBUG_SET_OPCODE_OVERRIDE(bool_xor, ZEND_BOOL_XOR)
+ XDEBUG_SET_OPCODE_OVERRIDE(is_identical, ZEND_IS_IDENTICAL)
+ XDEBUG_SET_OPCODE_OVERRIDE(is_not_identical, ZEND_IS_NOT_IDENTICAL)
+ XDEBUG_SET_OPCODE_OVERRIDE(is_equal, ZEND_IS_EQUAL)
+ XDEBUG_SET_OPCODE_OVERRIDE(is_not_equal, ZEND_IS_NOT_EQUAL)
+ XDEBUG_SET_OPCODE_OVERRIDE(is_smaller, ZEND_IS_SMALLER)
+ XDEBUG_SET_OPCODE_OVERRIDE(is_smaller_or_equal, ZEND_IS_SMALLER_OR_EQUAL)
+ XDEBUG_SET_OPCODE_OVERRIDE(cast, ZEND_CAST )
+ XDEBUG_SET_OPCODE_OVERRIDE(qm_assign, ZEND_QM_ASSIGN )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_add,ZEND_ASSIGN_ADD )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_sub, ZEND_ASSIGN_SUB )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_mul, ZEND_ASSIGN_MUL )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_div, ZEND_ASSIGN_DIV )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_mod, ZEND_ASSIGN_MOD )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_sl, ZEND_ASSIGN_SL )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_sr, ZEND_ASSIGN_SR )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_concat, ZEND_ASSIGN_CONCAT )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_bw_or, ZEND_ASSIGN_BW_OR )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_bw_and, ZEND_ASSIGN_BW_AND )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_bw_xor, ZEND_ASSIGN_BW_XOR )
+ XDEBUG_SET_OPCODE_OVERRIDE(pre_inc, ZEND_PRE_INC )
+ XDEBUG_SET_OPCODE_OVERRIDE(pre_dec, ZEND_PRE_DEC )
+ XDEBUG_SET_OPCODE_OVERRIDE(post_inc, ZEND_POST_INC )
+ XDEBUG_SET_OPCODE_OVERRIDE(post_dec, ZEND_POST_DEC )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign, ZEND_ASSIGN )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_ref, ZEND_ASSIGN_REF )
+ XDEBUG_SET_OPCODE_OVERRIDE(echo, ZEND_ECHO )
+ XDEBUG_SET_OPCODE_OVERRIDE(print, ZEND_PRINT )
+ XDEBUG_SET_OPCODE_OVERRIDE(jmp, ZEND_JMP )
+ XDEBUG_SET_OPCODE_OVERRIDE(jmpz, ZEND_JMPZ )
+ XDEBUG_SET_OPCODE_OVERRIDE(jmpnz, ZEND_JMPNZ )
+ XDEBUG_SET_OPCODE_OVERRIDE(jmpz_ex, ZEND_JMPZ_EX )
+ XDEBUG_SET_OPCODE_OVERRIDE(jmpnz_ex, ZEND_JMPNZ_EX )
+ XDEBUG_SET_OPCODE_OVERRIDE(case,ZEND_CASE )
+ XDEBUG_SET_OPCODE_OVERRIDE(switch_free, ZEND_SWITCH_FREE )
+ XDEBUG_SET_OPCODE_OVERRIDE(bool, ZEND_BOOL )
+ XDEBUG_SET_OPCODE_OVERRIDE(init_string, ZEND_INIT_STRING )
+ XDEBUG_SET_OPCODE_OVERRIDE(add_char, ZEND_ADD_CHAR )
+ XDEBUG_SET_OPCODE_OVERRIDE(add_string, ZEND_ADD_STRING )
+ XDEBUG_SET_OPCODE_OVERRIDE(add_var, ZEND_ADD_VAR )
+ XDEBUG_SET_OPCODE_OVERRIDE(begin_silence, ZEND_BEGIN_SILENCE )
+ XDEBUG_SET_OPCODE_OVERRIDE(end_silence, ZEND_END_SILENCE )
+ XDEBUG_SET_OPCODE_OVERRIDE(init_fcall_by_name, ZEND_INIT_FCALL_BY_NAME )
+ XDEBUG_SET_OPCODE_OVERRIDE(do_fcall, ZEND_DO_FCALL )
+ XDEBUG_SET_OPCODE_OVERRIDE(do_fcall_by_name, ZEND_DO_FCALL_BY_NAME )
+ XDEBUG_SET_OPCODE_OVERRIDE(return, ZEND_RETURN )
+ XDEBUG_SET_OPCODE_OVERRIDE(recv, ZEND_RECV )
+ XDEBUG_SET_OPCODE_OVERRIDE(recv_init, ZEND_RECV_INIT )
+ XDEBUG_SET_OPCODE_OVERRIDE(send_val, ZEND_SEND_VAL )
+ XDEBUG_SET_OPCODE_OVERRIDE(send_var, ZEND_SEND_VAR )
+ XDEBUG_SET_OPCODE_OVERRIDE(send_re, ZEND_SEND_REF )
+ XDEBUG_SET_OPCODE_OVERRIDE(new, ZEND_NEW )
+ XDEBUG_SET_OPCODE_OVERRIDE(free, ZEND_FREE )
+ XDEBUG_SET_OPCODE_OVERRIDE(init_array, ZEND_INIT_ARRAY )
+ XDEBUG_SET_OPCODE_OVERRIDE(add_array_element, ZEND_ADD_ARRAY_ELEMENT )
+ XDEBUG_SET_OPCODE_OVERRIDE(include_or_eval, ZEND_INCLUDE_OR_EVAL )
+ XDEBUG_SET_OPCODE_OVERRIDE(unset_var, ZEND_UNSET_VAR )
+ XDEBUG_SET_OPCODE_OVERRIDE(unset_dim, ZEND_UNSET_DIM )
+ XDEBUG_SET_OPCODE_OVERRIDE(unset_obj, ZEND_UNSET_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(fe_reset, ZEND_FE_RESET )
+ XDEBUG_SET_OPCODE_OVERRIDE(fe_fetch, ZEND_FE_FETCH )
+ XDEBUG_SET_OPCODE_OVERRIDE(exit, ZEND_EXIT )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_r, ZEND_FETCH_R )
+ XDEBUG_SET_OPCODE_OVERRIDE(dim_r, ZEND_FETCH_DIM_R )
+ XDEBUG_SET_OPCODE_OVERRIDE(obj_r, ZEND_FETCH_OBJ_R )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_w, ZEND_FETCH_W )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_w, ZEND_FETCH_DIM_W )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_w, ZEND_FETCH_OBJ_W )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_rw, ZEND_FETCH_RW )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_rw, ZEND_FETCH_DIM_RW )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_rw, ZEND_FETCH_OBJ_RW )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_is, ZEND_FETCH_IS )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_is, ZEND_FETCH_DIM_IS )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_is, ZEND_FETCH_OBJ_IS )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_func_arg, ZEND_FETCH_FUNC_ARG )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_func_arg, ZEND_FETCH_DIM_FUNC_ARG )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_func_arg, ZEND_FETCH_OBJ_FUNC_ARG )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_unset, ZEND_FETCH_UNSET )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_unset, ZEND_FETCH_DIM_UNSET )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_obj_unset, ZEND_FETCH_OBJ_UNSET )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_dim_tmp_var, ZEND_FETCH_DIM_TMP_VAR )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_constant, ZEND_FETCH_CONSTANT )
+ XDEBUG_SET_OPCODE_OVERRIDE(ext_stmt, ZEND_EXT_STMT )
+ XDEBUG_SET_OPCODE_OVERRIDE(ext_call_begin, ZEND_EXT_FCALL_BEGIN )
+ XDEBUG_SET_OPCODE_OVERRIDE(ext_call_end, ZEND_EXT_FCALL_END )
+ XDEBUG_SET_OPCODE_OVERRIDE(ext_nop, ZEND_EXT_NOP )
+ XDEBUG_SET_OPCODE_OVERRIDE(ticks, ZEND_TICKS )
+ XDEBUG_SET_OPCODE_OVERRIDE(send_var_no_ref, ZEND_SEND_VAR_NO_REF )
+ XDEBUG_SET_OPCODE_OVERRIDE(catch, ZEND_CATCH )
+ XDEBUG_SET_OPCODE_OVERRIDE(throw, ZEND_THROW )
+ XDEBUG_SET_OPCODE_OVERRIDE(fetch_class, ZEND_FETCH_CLASS )
+ XDEBUG_SET_OPCODE_OVERRIDE(clone, ZEND_CLONE )
+ XDEBUG_SET_OPCODE_OVERRIDE(init_method_call, ZEND_INIT_METHOD_CALL )
+ XDEBUG_SET_OPCODE_OVERRIDE(init_static_method_call, ZEND_INIT_STATIC_METHOD_CALL)
+ XDEBUG_SET_OPCODE_OVERRIDE(isset_isempty_var, ZEND_ISSET_ISEMPTY_VAR )
+ XDEBUG_SET_OPCODE_OVERRIDE(isset_isempty_dim_obj, ZEND_ISSET_ISEMPTY_DIM_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(pre_inc_obj, ZEND_PRE_INC_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(pre_dec_obj, ZEND_PRE_DEC_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(post_inc_obj, ZEND_POST_INC_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(post_dec_obj, ZEND_POST_DEC_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_obj, ZEND_ASSIGN_OBJ )
+ XDEBUG_SET_OPCODE_OVERRIDE(instanceof, ZEND_INSTANCEOF )
+ XDEBUG_SET_OPCODE_OVERRIDE(declare_class, ZEND_DECLARE_CLASS)
+ XDEBUG_SET_OPCODE_OVERRIDE(inherited_class, ZEND_DECLARE_INHERITED_CLASS)
+ XDEBUG_SET_OPCODE_OVERRIDE(declare_function, ZEND_DECLARE_FUNCTION)
+ XDEBUG_SET_OPCODE_OVERRIDE(raise_abstract_error, ZEND_RAISE_ABSTRACT_ERROR)
+ XDEBUG_SET_OPCODE_OVERRIDE(add_interface, ZEND_ADD_INTERFACE)
+ XDEBUG_SET_OPCODE_OVERRIDE(verify_abstract_class, ZEND_VERIFY_ABSTRACT_CLASS)
+ XDEBUG_SET_OPCODE_OVERRIDE(assign_dim, ZEND_ASSIGN_DIM)
+ XDEBUG_SET_OPCODE_OVERRIDE(isset_isempty_prop_obj, ZEND_ISSET_ISEMPTY_PROP_OBJ)
+ XDEBUG_SET_OPCODE_OVERRIDE(handle_exception, ZEND_HANDLE_EXCEPTION)
+ XDEBUG_SET_OPCODE_OVERRIDE(user_opcode, ZEND_USER_OPCODE)
 
         XDEBUG_SET_OPCODE_OVERRIDE(silence, ZEND_BEGIN_SILENCE);
         XDEBUG_SET_OPCODE_OVERRIDE(silence, ZEND_END_SILENCE);
@@ -1272,9 +1462,9 @@
                 }
         }
 
- if (XG(do_code_coverage)) {
+ /*if (XG(do_code_coverage)) {
                 xdebug_count_line(tmp->filename, tmp->lineno, 0, 0 TSRMLS_CC);
- }
+ }*/
 
         if (XG(profiler_aggregate)) {
                 char *func_name = xdebug_show_fname(tmp->function, 0, 0 TSRMLS_CC);
@@ -1614,9 +1804,7 @@
                 }
         }
 
- if (XG(do_code_coverage) && XG(code_coverage_unused)) {
- xdebug_prefill_code_coverage(op_array TSRMLS_CC);
- }
+ xdebug_prefill_code_coverage(op_array TSRMLS_CC); /*need to always prefill ops for code coverage*/
 
         /* If we're in an eval, we need to create an ID for it. This ID however
          * depends on the debugger mechanism in use so we need to call a function
@@ -3288,9 +3476,10 @@
         file = op_array->filename;
         file_len = strlen(file);
 
- if (XG(do_code_coverage)) {
+ /*
+ if (XG(do_code_coverage)) {
                 xdebug_count_line(file, lineno, 0, 0 TSRMLS_CC);
- }
+ }*/
 
         if (XG(remote_enabled)) {
 
Received on Fri Jul 17 2009 - 08:26:29 BST

This archive was generated by hypermail 2.2.0 : Sun Jun 24 2018 - 04:00:03 BST