iseq_collector 0.3.0 → 0.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 361f51f935c26f922c5470d8043546c1f7101fb2
4
- data.tar.gz: 567c243aabeb8c264d0bd4b108ca376798f62924
2
+ SHA256:
3
+ metadata.gz: 77a9701b2698c7315238b355e01c33c036393aadf61f5232c6a628d5e112631e
4
+ data.tar.gz: 1a7e5dccd0c29f2b51a4ed4043a388d429139307234e7596abe3b06a4e3a20e4
5
5
  SHA512:
6
- metadata.gz: fce8a1e216b67a9bc7a2e70c40709162615625864e048c0719b391b59bdc7c8af150ebaff6c3fe94dad1efe0cce39fb0a88a447afb574caffe26abd7e5daa8d1
7
- data.tar.gz: 571af44fa45469d851950983412d8f4886d35a8c4cd181414a279746500b19032b12458948a49dc6ee3a42d965fbd60fbaf0c878e31048c017aed3dee150a2eb
6
+ metadata.gz: 641af88a3e959fac9c0713e03aa59dbc8b735d59a24d38e947ead7835ae4876a2fb43492bc96e63d2e5423f1d69af2c6973efd983687b2f6fff0e7c7d45f3355
7
+ data.tar.gz: e03a154dea16979fe0d061f407599e15003d68e8c48bceded7218ff5a9e5bc96bc8adb1a42801de2c9a89e00c644ce5021d866845d373cd7f25bbb9dfb11402e
data/README.md CHANGED
@@ -7,7 +7,7 @@ This gem introduce several methdos to `ObjectSpace` to operate all of iseq objec
7
7
  Ruby (MRI) 2.2 and erlier, all of bytecode (iseq: instruction sequence) are `RubyVM::InstructionSequence` objects and we can touch them with `ObjectSpace.each_object` method.
8
8
  However Ruby 2.3 and later does not expose iseqs by `RubyVM::InstructionSequence`. You need to use `RubyVM::InstructionSequence.of(proc or method object)` to get `RubyVM::InstructionSequence` and it is impossible to get all of iseqs in a process.
9
9
 
10
- This gem provides `ObjectSpace.each_iseq`, `ObjectSpace.count_iseq` and `ObjectSpace.memsize_of_all_iseq` to get all of iseqs in a process for Ruby 2.3, 2.4. Ruby 2.5 will provide same feature in `objspace` external lib.
10
+ This gem provides `ObjectSpace.each_iseq`, `ObjectSpace.count_iseq` and `ObjectSpace.memsize_of_all_iseq` to get all of iseqs in a process for Ruby 2.3 and later. Future Ruby version can provide same purpose API, but not sure.
11
11
 
12
12
  ## Installation
13
13
 
@@ -17,12 +17,10 @@ when RUBY_VERSION < '2.3.0'
17
17
  cnt
18
18
  end
19
19
  end
20
- when RUBY_VERSION >= '2.3.0' && RUBY_VERSION < '2.5.0'
20
+
21
+ when RUBY_VERSION >= '2.3.0' && !ObjectSpace.respond_to?(:count_iseq)
21
22
  require_relative 'iseq_collector.so'
22
- when RUBY_VERSION == '2.5.0'
23
- unless ObjectSpace.respond_to? :count_iseq
24
- require_relative 'iseq_collector.so'
25
- end
23
+ else
26
24
  # do nothing.
27
25
  end
28
26
 
@@ -1,3 +1,3 @@
1
1
  module IseqCollector
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iseq_collector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koichi Sasada
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-28 00:00:00.000000000 Z
11
+ date: 2018-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -106,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.6.11
109
+ rubygems_version: 3.0.0.beta3
111
110
  signing_key:
112
111
  specification_version: 4
113
112
  summary: ISeq collector for MRI 2.3 and 2.4