tizen: kdbus: revamp thread deinitialization
[platform/upstream/glib.git] / gobject / gobject.stp.in
1 global gobject_types_2_0_@LT_CURRENT@_@LT_REVISION@
2 global gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@
3 global gobject_signal_names_2_0_@LT_CURRENT@_@LT_REVISION@
4
5 /* These are needed to keep track of gtype and signal names for the below
6  * probes.
7  */
8 probe process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("type__new")
9 {
10   gobject_types_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),user_string($arg1)] = $arg3;
11   gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg3] = user_string($arg1);
12 }
13 probe process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__new")
14 {
15   gobject_signal_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg1] = user_string($arg2);
16 }
17
18 /**
19  * probe gobject.type_new - Called when any entity registered with the #GType system is created
20  * @name: String name of type
21  * @parent_gtype: The parent #GType of this type
22  * @gtype: The #GType for this type
23  */
24 probe gobject.type_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("type__new")
25 {
26   name = user_string($arg1); 
27   parent_gtype = $arg2; 
28   gtype = $arg3; 
29   probestr = sprintf("gobject.type_new(%s, %d) -> %d", name, parent_gtype, gtype);
30 }
31
32 /**
33  * probe gobject.object_new - Called when a #GObject is created
34  * @object: Raw pointer to object
35  * @gtype: #GType for this object
36  * @type: String name of object type
37  */
38 probe gobject.object_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__new")
39 {
40   object = $arg1; 
41   gtype = $arg2; 
42   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg2];
43   probestr = sprintf("gobject.object_new(%s) -> %p", type, object);
44 }
45
46 /**
47  * probe gobject.object_ref - Called when a new reference is added to a #GObject
48  * @object: Raw pointer to object
49  * @gtype: #GType for this object
50  * @type: String name of object type
51  * @old_refcount: Original value of the reference count
52  * @refcount: New value of the reference count
53  */
54 probe gobject.object_ref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__ref")
55 {
56   object = $arg1; 
57   gtype = $arg2; 
58   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),gtype];
59   old_refcount = $arg3; 
60   refcount = old_refcount+1; 
61   probestr = sprintf("gobject.object_ref(%p[%s]) -> %d", object, type, refcount);
62 }
63
64 /**
65  * probe gobject.object_unref - Called when a reference is removed from a #GObject
66  * @object: Raw pointer to object
67  * @gtype: #GType for this object
68  * @type: String name of object type
69  * @old_refcount: Original value of the reference count
70  */
71 probe gobject.object_unref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__unref")
72 {
73   /* Beware that if old_refcount is larger than 1 and other threads might race
74    * and destroy object. In that case, object might be a dangling pointer. */
75   object = $arg1; 
76   gtype = $arg2; 
77   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),gtype];
78   old_refcount = $arg3; 
79   refcount = old_refcount-1; 
80   probestr = sprintf("gobject.object_unref(%p [%s]) -> %d", object, type, refcount);
81 }
82
83 /**
84  * probe gobject.object_dispose - Called when a g_object_dispose() run for a #GObject is initiated
85  * @object: Raw pointer to object
86  * @gtype: #GType for this object
87  * @type: String name of object type
88  * @last_unref: FIXME
89  */
90 probe gobject.object_dispose = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__dispose")
91 {
92   object = $arg1; 
93   gtype = $arg2; 
94   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg2];
95   last_unref = $arg3; 
96   probestr = sprintf("gobject.object_dispose(%p[%s])", object, type);
97 }
98
99 /**
100  * probe gobject.object_dispose_end - Called when a g_object_dispose() run for a #GObject is completed
101  * @object: Raw pointer to object
102  * @gtype: #GType for this object
103  * @type: String name of object type
104  * @last_unref: FIXME
105  */
106 probe gobject.object_dispose_end = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__dispose__end")
107 {
108   object = $arg1; 
109   gtype = $arg2; 
110   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg2];
111   last_unref = $arg3; 
112   probestr = sprintf("gobject.object_dispose_end(%p[%s])", object, type);
113 }
114
115 /**
116  * probe gobject.object_finalize - Called when finalization for a #GObject is started
117  * @object: Raw pointer to object
118  * @gtype: #GType for this object
119  * @type: String name of object type
120  */
121 probe gobject.object_finalize = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__finalize")
122 {
123   object = $arg1; 
124   gtype = $arg2; 
125   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg2];
126   probestr = sprintf("gobject.object_finalize(%p[%s])", object, type);
127 }
128
129 /**
130  * probe gobject.object_finalize - Called when finalization for a #GObject is completed
131  * @object: Raw pointer to object
132  * @gtype: #GType for this object
133  * @type: String name of object type
134  */
135 probe gobject.object_finalize_end = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__finalize__end")
136 {
137   object = $arg1; 
138   gtype = $arg2; 
139   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg2];
140   probestr = sprintf("gobject.object_finalize_end(%p[%s])", object, type);
141 }
142
143 /**
144  * probe gobject.signal_new - Called when a new signal is registered for a #GObject
145  * @gsignal: Integer value for this signal
146  * @name: String name for this signal
147  * @gtype: #GType for the type which will gain the new signal
148  * @type: String name of the type which will gain the new signal
149  */
150 probe gobject.signal_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__new")
151 {
152   gsignal = $arg1; 
153   name = user_string($arg2); 
154   gtype = $arg3; 
155   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg3];
156   probestr = sprintf("gobject.signal_new(%s, %s) -> %d", name, type, gsignal);
157 }
158
159 /**
160  * probe gobject.signal_emit - Called when a signal emission for a #GObject is started
161  * @gsignal: Integer value for this signal
162  * @detail: String containing signal "detail"
163  * @signal: String name of the signal
164  * @object: Raw pointer for object emitting signal
165  * @gtype: #GType for the type emitting the signal
166  * @type: String name of the type emitting the signal
167  */
168 probe gobject.signal_emit = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__emit")
169 {
170   gsignal = $arg1; 
171   detail = $arg2; 
172   signal = gobject_signal_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg1];
173   if (detail != 0)
174     signal = signal . "::" . gquarks[pid(), detail]
175   object = $arg3; 
176   gtype = $arg4; 
177   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg4];
178   probestr = sprintf("gobject.signal_emit(%p[%s], %s)", object, type, signal);
179 }
180
181 /**
182  * probe gobject.signal_emit_end - Called when a signal emission for a #GObject is completed
183  * @gsignal: Integer value for this signal
184  * @detail: String containing signal "detail"
185  * @signal: String name of the signal
186  * @object: Raw pointer for object emitting signal
187  * @gtype: #GType for the type emitting the signal
188  * @type: String name of the type emitting the signal
189  */
190 probe gobject.signal_emit_end = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__emit__end")
191 {
192   gsignal = $arg1; 
193   detail = $arg2; 
194   signal = gobject_signal_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg1];
195   if (detail != 0)
196     signal = signal . "::" . gquarks[pid(), detail]
197   object = $arg3; 
198   gtype = $arg4; 
199   type = gobject_type_names_2_0_@LT_CURRENT@_@LT_REVISION@[pid(),$arg4];
200   probestr = sprintf("gobject.signal_emit_end(%p[%s], %s)", object, type, signal);
201 }