pike.git
/
src
/
modules
/
_Debug
/
debug.cmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/modules/_Debug/debug.cmod:9:
#include "pike_error.h" #include "interpret.h" #include "pike_embed.h" #include "module_support.h" #include "builtin_functions.h" #include "mapping.h" #include "multiset.h" DECLARATIONS
+
/*! @module Debug
+
*/
+
/*! @decl int(0..) map_all_objects(function(object:void) cb)
-
*! @belongs Debug
+
*! *! Call cb for all objects that currently exist. The callback will *! not be called with destructed objects as it's argument. *! *! Objects might be missed if @[cb] creates new objects or destroys *! old ones. *! *! This function is only intended to be used for debug purposes. *! *! @returns
pike.git/src/modules/_Debug/debug.cmod:47:
safe_apply_svalue( Pike_sp-2, 1, 1 ); pop_stack(); } total++; o = next; } RETURN total; } /*! @decl int refs(string|array|mapping|multiset|function|object|program o)
-
*! @belongs Debug
+
*! *! Return the number of references @[o] has. *! *! It is mainly meant for debugging the Pike runtime, but can also be *! used to control memory usage. *! *! @note *! Note that the number of references will always be at least one since *! the value is located on the stack when this function is executed. *!
pike.git/src/modules/_Debug/debug.cmod:215:
SIMPLE_BAD_ARG_ERROR("leak", 1, "array|mapping|multiset|object|" "function|program|string|type"); add_ref(val->u.dummy); i = val->u.refs[0]; RETURN i; } /*! @decl int(0..) debug(int(0..) level)
-
*! @belongs Debug
+
*! *! Set the run-time debug level. *! *! @returns *! The old debug level will be returned. *! *! @note *! This function is only available if the Pike runtime has been compiled *! with RTL debug. */ PIKEFUN int(0..) debug(int(0..) d) export; { pop_n_elems(args); push_int(d_flag); d_flag = d; } /*! @decl int(0..) optimizer_debug(int(0..) level)
-
*! @belongs Debug
+
*! *! Set the optimizer debug level. *! *! @returns *! The old optimizer debug level will be returned. *! *! @note *! This function is only available if the Pike runtime has been compiled *! with RTL debug. */ PIKEFUN int(0..) optimizer_debug(int(0..) l) export; { pop_n_elems(args); push_int(l_flag); l_flag = l; } /*! @decl int(0..) assembler_debug(int(0..) level)
-
*! @belongs Debug
+
*! *! Set the assembler debug level. *! *! @returns *! The old assembler debug level will be returned. *! *! @note *! This function is only available if the Pike runtime has been compiled *! with RTL debug. */ PIKEFUN int(0..) assembler_debug(int(0..) l) export; { pop_n_elems(args); push_int(a_flag); a_flag = l; } /*! @decl void dump_program_tables(program p, int(0..)|void indent)
-
*! @belongs Debug
+
*! *! Dumps the internal tables for the program @[p] on stderr. *! *! @param p *! Program to dump. *! *! @param indent *! Number of spaces to indent the output. */ PIKEFUN void dump_program_tables(program p, int(0..)|void indent) { dump_program_tables(p, indent?indent->u.integer:0); pop_n_elems(args); } #ifdef YYDEBUG /*! @decl int(0..) compiler_trace(int(0..) level)
-
*! @belongs Debug
+
*! *! Set the compiler trace level. *! *! @returns *! The old compiler trace level will be returned. *! *! @note *! This function is only available if the Pike runtime has been compiled *! with RTL debug. */
pike.git/src/modules/_Debug/debug.cmod:319:
pop_n_elems(args); push_int(yydebug); yydebug = yyd; } #endif /* YYDEBUG */ #if defined(PIKE_PORTABLE_BYTECODE) /*! @decl void disassemble(function fun)
-
*! @belongs Debug
+
*! *! Disassemble a Pike function to @[Stdio.stderr]. *! *! @note *! This function is only available if the Pike runtime *! has been compiled with debug enabled. */ PIKEFUN void disassemble(function fun) { if ((TYPEOF(*fun) != T_FUNCTION) ||
pike.git/src/modules/_Debug/debug.cmod:376:
} else { fprintf(stderr, "Prototype.\n"); } } pop_n_elems(args); push_int(0); } #endif /* PIKE_PORTABLE_BYTECODE */
-
+
#endif /* PIKE_DEBUG */
-
+
/*! @endmodule
+
*/
+
PIKE_MODULE_INIT { INIT; #ifdef PIKE_DEBUG ADD_INT_CONSTANT("HAVE_DEBUG", 1, 0); #endif }