Skip to content

Commit 4d53413

Browse files
committed
added a minor fix
1 parent fed3fc9 commit 4d53413

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

docs/src/lecture_09/timer.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ end
3838

3939
reset!(calls::Calls) = calls.i[] = 0
4040

41-
global to = Calls(100)
42-
43-
4441
struct Context{T<:Union{Nothing, Vector{Symbol}}}
4542
functions::T
4643
end
@@ -90,19 +87,19 @@ overdub(ctx::Context, f::Core.IntrinsicFunction, args...) = f(args...)
9087
ci = retrieve_code_info((F, args...))
9188
slot_vars = Dict(enumerate(ci.slotnames))
9289
# ssa_vars = Dict(i => gensym(:left) for i in 1:length(ci.code))
93-
ssa_vars = Dict(i => Symbol(:L,i) for i in 1:length(ci.code))
90+
ssa_vars = Dict(i => Symbol(:L, i) for i in 1:length(ci.code))
9491
used = assigned_vars(ci.code) |> distinct
9592
exprs = []
9693
for i in 1:length(args)
9794
push!(exprs, Expr(:(=), ci.slotnames[i+1], :(args[$(i)])))
9895
end
9996
for (i, ex) in enumerate(ci.code)
97+
ex = rename_args(ex, slot_vars, ssa_vars)
10098
@show ex
10199
if ex isa Core.ReturnNode
102-
push!(exprs, Expr(:return, rename_args(ex.val, slot_vars, ssa_vars)))
100+
push!(exprs, Expr(:return, ex.val))
103101
continue
104102
end
105-
ex = rename_args(ex, slot_vars, ssa_vars)
106103
if timable(ex)
107104
fname = exportname(ex)
108105
fname = :(Symbol($(fname)))
@@ -112,6 +109,7 @@ overdub(ctx::Context, f::Core.IntrinsicFunction, args...) = f(args...)
112109
push!(exprs, ex)
113110
push!(exprs, Expr(:call, :push!, :to, :(:stop), fname))
114111
else
112+
ex = i used ? Expr(:(=) , ssa_vars[i], ex) : ex
115113
push!(exprs, ex)
116114
end
117115
end
@@ -121,8 +119,10 @@ overdub(ctx::Context, f::Core.IntrinsicFunction, args...) = f(args...)
121119
r
122120
end
123121

122+
123+
global const to = Calls(100)
124124
reset!(to)
125+
ctx = Context()
125126
overdub(ctx, foo, 1.0, 1.0)
126127

127128

128-
ctx = Context()

0 commit comments

Comments
 (0)