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.
@@ -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("refs");
389
- yajl_gen_array_open(ctx->yajl);
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
- yajl_gen_array_close(ctx->yajl);
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 else? probably not
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 {
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("refs");
602
+ yg_cstring("val");
603
603
  yajl_gen_array_open(ctx->yajl);
604
604
  {
605
605
  long i, len = RARRAY_LEN(obj);
@@ -1,3 +1,3 @@
1
1
  module HeapDump
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
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.3
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: &70147118245260 !ruby/object:Gem::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: *70147118245260
24
+ version_requirements: *70189318215520
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: yajl-ruby
27
- requirement: &70147118244680 !ruby/object:Gem::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: *70147118244680
35
+ version_requirements: *70189318214960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake-compiler
38
- requirement: &70147118244180 !ruby/object:Gem::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: *70147118244180
46
+ version_requirements: *70189318214460
47
47
  description: dump ruby 1.9 heap contents
48
48
  email:
49
49
  - vasilyfedoseyev@gmail.com