|
@@ -200,9 +200,10 @@ struct branch_info {
|
|
|
};
|
|
|
|
|
|
struct mem_info {
|
|
|
- struct addr_map_symbol iaddr;
|
|
|
- struct addr_map_symbol daddr;
|
|
|
- union perf_mem_data_src data_src;
|
|
|
+ struct addr_map_symbol iaddr;
|
|
|
+ struct addr_map_symbol daddr;
|
|
|
+ union perf_mem_data_src data_src;
|
|
|
+ refcount_t refcnt;
|
|
|
};
|
|
|
|
|
|
struct addr_location {
|
|
@@ -389,4 +390,16 @@ int sdt_notes__get_count(struct list_head *start);
|
|
|
#define SDT_NOTE_NAME "stapsdt"
|
|
|
#define NR_ADDR 3
|
|
|
|
|
|
+struct mem_info *mem_info__new(void);
|
|
|
+struct mem_info *mem_info__get(struct mem_info *mi);
|
|
|
+void mem_info__put(struct mem_info *mi);
|
|
|
+
|
|
|
+static inline void __mem_info__zput(struct mem_info **mi)
|
|
|
+{
|
|
|
+ mem_info__put(*mi);
|
|
|
+ *mi = NULL;
|
|
|
+}
|
|
|
+
|
|
|
+#define mem_info__zput(mi) __mem_info__zput(&mi)
|
|
|
+
|
|
|
#endif /* __PERF_SYMBOL */
|