ree 1.2.3 → 1.2.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/ree/benchmark_method_plugin.rb +23 -8
- data/lib/ree/benchmark_tracer.rb +5 -0
- data/lib/ree/dsl/object_dsl.rb +5 -0
- data/lib/ree/fn_dsl.rb +0 -3
- data/lib/ree/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a73f9d4ffa414ae499d87732f896c437117f65b52b7675908eb8581d482946f4
|
|
4
|
+
data.tar.gz: '0328c44c6cb7d7dddae52494fb057e1b88f84a8d2c7f28ea62c202bcb1c74125'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 367764b547db08f4c975a0ea141c7563e5536612d05bf48388cf8b9100dc381573dcdb9081b6c73a6880ff9bc57fbe45cbda09c51030aa370bd032997a372cd2
|
|
7
|
+
data.tar.gz: 4177a967cc3fa694fc03b6302fc10de386dea9ec2c328d16fbe53f4a765c1b4e0d25e9817d99ea0100fca3975b470a73192bc848d77684235771524651e06657
|
data/Gemfile.lock
CHANGED
|
@@ -12,14 +12,14 @@ class Ree::BenchmarkMethodPlugin
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def call
|
|
15
|
-
|
|
15
|
+
return unless @method_name == :call && ree_fn?
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
config = @target.instance_variable_get(:@__ree_benchmark_config)
|
|
18
|
+
|
|
19
|
+
if config
|
|
20
|
+
wrap_as_entry_point(config)
|
|
21
|
+
else
|
|
22
|
+
wrap_as_collector
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -41,7 +41,11 @@ class Ree::BenchmarkMethodPlugin
|
|
|
41
41
|
benchmark_done = false
|
|
42
42
|
|
|
43
43
|
alias_target.define_method(method_name) do |*args, **kwargs, &block|
|
|
44
|
-
if
|
|
44
|
+
if Ree::BenchmarkTracer.active?
|
|
45
|
+
Ree::BenchmarkTracer.collect(benchmark_name) do
|
|
46
|
+
send(method_alias, *args, **kwargs, &block)
|
|
47
|
+
end
|
|
48
|
+
elsif once && benchmark_done
|
|
45
49
|
Ree::BenchmarkTracer.collect(benchmark_name) do
|
|
46
50
|
send(method_alias, *args, **kwargs, &block)
|
|
47
51
|
end
|
|
@@ -85,6 +89,17 @@ class Ree::BenchmarkMethodPlugin
|
|
|
85
89
|
@method_name == :call ? base : "#{base}##{@method_name}"
|
|
86
90
|
end
|
|
87
91
|
|
|
92
|
+
def ree_fn?
|
|
93
|
+
pkg = @target.instance_variable_get(:@__ree_package_name)
|
|
94
|
+
obj = @target.instance_variable_get(:@__ree_object_name)
|
|
95
|
+
return false unless pkg && obj
|
|
96
|
+
|
|
97
|
+
facade = Ree.container.packages_facade
|
|
98
|
+
return false unless facade.has_object?(pkg, obj)
|
|
99
|
+
|
|
100
|
+
facade.get_object(pkg, obj).fn?
|
|
101
|
+
end
|
|
102
|
+
|
|
88
103
|
def eigenclass
|
|
89
104
|
class << @target; self; end
|
|
90
105
|
end
|
data/lib/ree/benchmark_tracer.rb
CHANGED
|
@@ -34,6 +34,11 @@ class Ree::BenchmarkTracer
|
|
|
34
34
|
result
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
+
def active?
|
|
38
|
+
stack = Thread.current[THREAD_KEY]
|
|
39
|
+
stack && !stack.empty?
|
|
40
|
+
end
|
|
41
|
+
|
|
37
42
|
# Collector trace — only participates if a trace is already active
|
|
38
43
|
def collect(name)
|
|
39
44
|
stack = Thread.current[THREAD_KEY]
|
data/lib/ree/dsl/object_dsl.rb
CHANGED
|
@@ -333,6 +333,11 @@ class Ree::ObjectDsl
|
|
|
333
333
|
.set_package(package.name)
|
|
334
334
|
.set_rpath(object_rpath)
|
|
335
335
|
|
|
336
|
+
if mount_as == :fn
|
|
337
|
+
klass.instance_variable_set(:@__ree_package_name, package.name)
|
|
338
|
+
klass.instance_variable_set(:@__ree_object_name, object_name)
|
|
339
|
+
end
|
|
340
|
+
|
|
336
341
|
package.set_object(object)
|
|
337
342
|
object.set_loaded
|
|
338
343
|
|
data/lib/ree/fn_dsl.rb
CHANGED
|
@@ -21,9 +21,6 @@ module Ree::FnDSL
|
|
|
21
21
|
dsl.tags(["fn"])
|
|
22
22
|
dsl.object.set_as_compiled(false)
|
|
23
23
|
|
|
24
|
-
self.instance_variable_set(:@__ree_package_name, dsl.package.name)
|
|
25
|
-
self.instance_variable_set(:@__ree_object_name, name)
|
|
26
|
-
|
|
27
24
|
Ree.container.compile(dsl.package, name)
|
|
28
25
|
end
|
|
29
26
|
end
|
data/lib/ree/version.rb
CHANGED