Class: RubyProf::Allocation
- Inherits:
-
Data
- Object
- Data
- RubyProf::Allocation
- Defined in:
- ext/ruby_prof/rp_allocation.c
Instance Method Summary collapse
-
#_dump_data ⇒ Object
:nodoc:.
-
#_load_data(data) ⇒ Object
:nodoc:.
-
#count ⇒ Numeric
Returns the number of times this class has been allocated.
-
#klass_flags ⇒ Integer
Returns the klass flags.
-
#klass ⇒ Class
Returns the type of Class being allocated.
-
#line ⇒ Numeric
Returns the the line number where objects were allocated.
-
#memory ⇒ Numeric
Returns the amount of memory allocated.
-
#source_file ⇒ String
Returns the the line number where objects were allocated.
Instance Method Details
#_dump_data ⇒ Object
:nodoc:
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'ext/ruby_prof/rp_allocation.c', line 229 static VALUE prof_allocation_dump(VALUE self) { prof_allocation_t* allocation = DATA_PTR(self); VALUE result = rb_hash_new(); rb_hash_aset(result, ID2SYM(rb_intern("key")), INT2FIX(allocation->key)); rb_hash_aset(result, ID2SYM(rb_intern("klass_name")), prof_allocation_klass_name(self)); rb_hash_aset(result, ID2SYM(rb_intern("klass_flags")), INT2FIX(allocation->klass_flags)); rb_hash_aset(result, ID2SYM(rb_intern("source_file")), allocation->source_file); rb_hash_aset(result, ID2SYM(rb_intern("source_line")), INT2FIX(allocation->source_line)); rb_hash_aset(result, ID2SYM(rb_intern("count")), INT2FIX(allocation->count)); rb_hash_aset(result, ID2SYM(rb_intern("memory")), LONG2FIX(allocation->memory)); return result; } |
#_load_data(data) ⇒ Object
:nodoc:
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
# File 'ext/ruby_prof/rp_allocation.c', line 248 static VALUE prof_allocation_load(VALUE self, VALUE data) { prof_allocation_t* allocation = DATA_PTR(self); allocation->object = self; allocation->key = FIX2LONG(rb_hash_aref(data, ID2SYM(rb_intern("key")))); allocation->klass_name = rb_hash_aref(data, ID2SYM(rb_intern("klass_name"))); allocation->klass_flags = FIX2INT(rb_hash_aref(data, ID2SYM(rb_intern("klass_flags")))); allocation->source_file = rb_hash_aref(data, ID2SYM(rb_intern("source_file"))); allocation->source_line = FIX2INT(rb_hash_aref(data, ID2SYM(rb_intern("source_line")))); allocation->count = FIX2INT(rb_hash_aref(data, ID2SYM(rb_intern("count")))); allocation->memory = FIX2LONG(rb_hash_aref(data, ID2SYM(rb_intern("memory")))); return data; } |
#count ⇒ Numeric
Returns the number of times this class has been allocated.
210 211 212 213 214 215 |
# File 'ext/ruby_prof/rp_allocation.c', line 210 static VALUE prof_allocation_count(VALUE self) { prof_allocation_t* allocation = prof_allocation_get(self); return INT2FIX(allocation->count); } |
#klass_flags ⇒ Integer
Returns the klass flags
177 178 179 180 181 182 |
# File 'ext/ruby_prof/rp_allocation.c', line 177 static VALUE prof_allocation_klass_flags(VALUE self) { prof_allocation_t* allocation = prof_allocation_get(self); return INT2FIX(allocation->klass_flags); } |
#klass ⇒ Class
Returns the type of Class being allocated.
161 162 163 164 165 166 167 168 169 170 |
# File 'ext/ruby_prof/rp_allocation.c', line 161 static VALUE prof_allocation_klass_name(VALUE self) { prof_allocation_t* allocation = prof_allocation_get(self); if (allocation->klass_name == Qnil) allocation->klass_name = resolve_klass_name(allocation->klass, &allocation->klass_flags); return allocation->klass_name; } |
#line ⇒ Numeric
Returns the the line number where objects were allocated.
199 200 201 202 203 204 |
# File 'ext/ruby_prof/rp_allocation.c', line 199 static VALUE prof_allocation_source_line(VALUE self) { prof_allocation_t* allocation = prof_allocation_get(self); return INT2FIX(allocation->source_line); } |
#memory ⇒ Numeric
Returns the amount of memory allocated.
221 222 223 224 225 226 |
# File 'ext/ruby_prof/rp_allocation.c', line 221 static VALUE prof_allocation_memory(VALUE self) { prof_allocation_t* allocation = prof_allocation_get(self); return ULL2NUM(allocation->memory); } |
#source_file ⇒ String
Returns the the line number where objects were allocated.
188 189 190 191 192 193 |
# File 'ext/ruby_prof/rp_allocation.c', line 188 static VALUE prof_allocation_source_file(VALUE self) { prof_allocation_t* allocation = prof_allocation_get(self); return allocation->source_file; } |