heap_dump 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/heap_dump/heap_dump.c +13 -13
- data/lib/heap_dump/version.rb +1 -1
- metadata +7 -7
data/ext/heap_dump/heap_dump.c
CHANGED
@@ -385,13 +385,13 @@ dump_keyvalue(st_data_t key, st_data_t value, walk_ctx_t *ctx){
|
|
385
385
|
}
|
386
386
|
|
387
387
|
static void dump_hash(VALUE obj, walk_ctx_t* ctx){
|
388
|
-
yg_cstring("
|
389
|
-
|
388
|
+
yg_cstring("val");
|
389
|
+
yajl_gen_map_open(ctx->yajl);
|
390
390
|
if(RHASH_SIZE(obj) > 0){
|
391
391
|
//TODO: mark keys and values separately?
|
392
392
|
st_foreach(RHASH(obj)->ntbl, dump_keyvalue, (st_data_t)ctx);
|
393
393
|
}
|
394
|
-
|
394
|
+
yajl_gen_map_close(ctx->yajl);
|
395
395
|
}
|
396
396
|
|
397
397
|
static int dump_method_entry_i(ID key, const rb_method_entry_t *me, st_data_t data){
|
@@ -529,16 +529,16 @@ void dump_data_if_known(VALUE obj, walk_ctx_t *ctx){
|
|
529
529
|
ygh_id("envval", proc->envval);
|
530
530
|
//TODO: dump refs from env here (they're dumped in env itself, but just to make analysis easier)?
|
531
531
|
|
532
|
-
//TODO: is this proc->block.iseq bound somewhere
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
532
|
+
//TODO: is this proc->block.iseq sometimes bound somewhere (seems to be not, but dupes exist)
|
533
|
+
if(proc->block.iseq && !RUBY_VM_IFUNC_P(proc->block.iseq)) {
|
534
|
+
yg_cstring("iseq");
|
535
|
+
yajl_gen_map_open(ctx->yajl);
|
536
|
+
ygh_id("id", proc->block.iseq);
|
537
|
+
dump_iseq(proc->block.iseq, ctx);
|
538
|
+
yajl_gen_map_close(ctx->yajl);
|
539
|
+
} else {
|
540
540
|
ygh_id("iseq", proc->block.iseq);
|
541
|
-
|
541
|
+
}
|
542
542
|
return;
|
543
543
|
}
|
544
544
|
|
@@ -599,7 +599,7 @@ static inline void walk_live_object(VALUE obj, walk_ctx_t *ctx){
|
|
599
599
|
|
600
600
|
case T_ARRAY:
|
601
601
|
// if (FL_TEST(obj, ELTS_SHARED)) ...
|
602
|
-
yg_cstring("
|
602
|
+
yg_cstring("val");
|
603
603
|
yajl_gen_array_open(ctx->yajl);
|
604
604
|
{
|
605
605
|
long i, len = RARRAY_LEN(obj);
|
data/lib/heap_dump/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heap_dump
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-05-29 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby-internal
|
16
|
-
requirement: &
|
16
|
+
requirement: &70189318215520 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.8.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70189318215520
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: yajl-ruby
|
27
|
-
requirement: &
|
27
|
+
requirement: &70189318214960 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.1'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70189318214960
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake-compiler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70189318214460 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70189318214460
|
47
47
|
description: dump ruby 1.9 heap contents
|
48
48
|
email:
|
49
49
|
- vasilyfedoseyev@gmail.com
|