[TT #592][docs] Add docs about assigning to registers in docs/debugger.pod
[parrot.git] / include / parrot / runcore_trace.h
blob2171bc2130a136306b47c6da627b17d54d6ae024
1 /* runcore_trace.h
2 * Copyright (C) 2001-2009, Parrot Foundation.
3 * SVN Info
4 * $Id$
5 * Overview:
6 * Tracing runcore.
7 * Data Structure and Algorithms:
8 * History:
9 * Notes:
10 * References:
13 #ifndef PARROT_TRACE_H_GUARD
14 #define PARROT_TRACE_H_GUARD
16 #include "parrot/parrot.h"
18 /* HEADERIZER BEGIN: src/runcore/trace.c */
19 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
21 PARROT_CANNOT_RETURN_NULL
22 Interp * debugger_or_interp(PARROT_INTERP)
23 __attribute__nonnull__(1);
25 int trace_key_dump(PARROT_INTERP, ARGIN(PMC *key))
26 __attribute__nonnull__(1)
27 __attribute__nonnull__(2);
29 void trace_op(PARROT_INTERP,
30 ARGIN(const opcode_t *code_start),
31 ARGIN(const opcode_t *code_end),
32 ARGIN_NULLOK(const opcode_t *pc))
33 __attribute__nonnull__(1)
34 __attribute__nonnull__(2)
35 __attribute__nonnull__(3);
37 void trace_op_dump(PARROT_INTERP,
38 ARGIN(const opcode_t *code_start),
39 ARGIN(const opcode_t *pc))
40 __attribute__nonnull__(1)
41 __attribute__nonnull__(2)
42 __attribute__nonnull__(3);
44 void trace_pmc_dump(PARROT_INTERP, ARGIN_NULLOK(PMC *pmc))
45 __attribute__nonnull__(1);
47 #define ASSERT_ARGS_debugger_or_interp __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
48 PARROT_ASSERT_ARG(interp))
49 #define ASSERT_ARGS_trace_key_dump __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
50 PARROT_ASSERT_ARG(interp) \
51 , PARROT_ASSERT_ARG(key))
52 #define ASSERT_ARGS_trace_op __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
53 PARROT_ASSERT_ARG(interp) \
54 , PARROT_ASSERT_ARG(code_start) \
55 , PARROT_ASSERT_ARG(code_end))
56 #define ASSERT_ARGS_trace_op_dump __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
57 PARROT_ASSERT_ARG(interp) \
58 , PARROT_ASSERT_ARG(code_start) \
59 , PARROT_ASSERT_ARG(pc))
60 #define ASSERT_ARGS_trace_pmc_dump __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
61 PARROT_ASSERT_ARG(interp))
62 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
63 /* HEADERIZER END: src/runcore/trace.c */
65 #endif /* PARROT_TRACE_H_GUARD */
69 * Local variables:
70 * c-file-style: "parrot"
71 * End:
72 * vim: expandtab shiftwidth=4: