ext/ruby_prof/rp_method.h in ruby-prof-1.1.0 vs ext/ruby_prof/rp_method.h in ruby-prof-1.2.0
- old
+ new
@@ -16,55 +16,48 @@
kModuleSingleton = 0x4, /* Singleton of a module */
kObjectSingleton = 0x8, /* Singleton of an object */
kOtherSingleton = 0x10 /* Singleton of unkown object */
};
-/* Forward declaration, see rp_call_info.h */
-struct prof_call_infos_t;
-
/* Profiling information for each method. */
-/* Excluded methods have no call_infos, source_klass, or source_file. */
+/* Excluded methods have no call_trees, source_klass, or source_file. */
typedef struct
{
st_data_t key; /* Table key */
int visits; /* Current visits on the stack */
- bool excluded; /* Exclude from profile? */
- st_table* parent_call_infos; /* Call infos that call this method */
- st_table* child_call_infos; /* Call infos that this method calls */
+ struct prof_call_trees_t* call_trees; /* Call infos that call this method */
st_table* allocations_table; /* Tracks object allocations */
unsigned int klass_flags; /* Information about the type of class */
VALUE klass; /* Resolved klass */
VALUE klass_name; /* Resolved klass name for this method */
VALUE method_name; /* Resolved method name for this method */
VALUE object; /* Cached ruby object */
- bool root; /* Is this a root method */
bool recursive;
VALUE source_file; /* Source file */
int source_line; /* Line number */
- prof_measurement_t *measurement;
+ prof_measurement_t* measurement;
} prof_method_t;
void rp_init_method_info(void);
st_data_t method_key(VALUE klass, VALUE msym);
-st_table *method_table_create(void);
-prof_method_t* prof_method_create_excluded(VALUE klass, VALUE msym);
-prof_method_t *method_table_lookup(st_table *table, st_data_t key);
-size_t method_table_insert(st_table *table, st_data_t key, prof_method_t *val);
-void method_table_free(st_table *table);
-prof_method_t *prof_method_create(VALUE klass, VALUE msym, VALUE source_file, int source_line);
-prof_method_t *prof_method_get(VALUE self);
+st_table* method_table_create(void);
+prof_method_t* method_table_lookup(st_table* table, st_data_t key);
+size_t method_table_insert(st_table* table, st_data_t key, prof_method_t* val);
+void method_table_free(st_table* table);
+prof_method_t* prof_method_create(VALUE klass, VALUE msym, VALUE source_file, int source_line);
+prof_method_t* prof_get_method(VALUE self);
-VALUE prof_method_wrap(prof_method_t *result);
-void prof_method_mark(void *data);
+VALUE prof_method_wrap(prof_method_t* result);
+void prof_method_mark(void* data);
-VALUE resolve_klass(VALUE klass, unsigned int *klass_flags);
+VALUE resolve_klass(VALUE klass, unsigned int* klass_flags);
VALUE resolve_klass_name(VALUE klass, unsigned int* klass_flags);
#endif //__RP_METHOD_INFO__