@@ -34,10 +34,10 @@ function worlds(mi::Core.MethodInstance)
34
34
w = Tuple{UInt,UInt}[]
35
35
if isdefined (mi, :cache )
36
36
ci = mi. cache
37
- push! (w, (ci. min_world, ci. max_world))
37
+ push! (w, (ci. min_world % UInt , ci. max_world % UInt ))
38
38
while isdefined (ci, :next )
39
39
ci = ci. next
40
- push! (w, (ci. min_world, ci. max_world))
40
+ push! (w, (ci. min_world % UInt , ci. max_world % UInt ))
41
41
end
42
42
end
43
43
return w
46
46
# Not sure we want to change the meaning of == here, so let's define our own name
47
47
# A few fields are deliberately unchecked
48
48
function equal (ci1:: Core.CodeInfo , ci2:: Core.CodeInfo )
49
- return ci1. code == ci2. code &&
50
- ci1. codelocs == ci2. codelocs &&
51
- ci1. ssavaluetypes == ci2. ssavaluetypes &&
52
- ci1. ssaflags == ci2. ssaflags &&
53
- ci1. method_for_inference_limit_heuristics == ci2. method_for_inference_limit_heuristics &&
54
- ci1. linetable == ci2. linetable &&
55
- ci1. slotnames == ci2. slotnames &&
56
- ci1. slotflags == ci2. slotflags &&
57
- ci1. slottypes == ci2. slottypes &&
58
- ci1. rettype == ci2. rettype
49
+ ret = ci1. code == ci2. code &&
50
+ ci1. codelocs == ci2. codelocs &&
51
+ ci1. ssavaluetypes == ci2. ssavaluetypes &&
52
+ ci1. ssaflags == ci2. ssaflags &&
53
+ ci1. method_for_inference_limit_heuristics == ci2. method_for_inference_limit_heuristics &&
54
+ ci1. linetable == ci2. linetable &&
55
+ ci1. slotnames == ci2. slotnames &&
56
+ ci1. slotflags == ci2. slotflags
57
+ if VERSION >= v " 1.2"
58
+ ret &= ci1. slottypes == ci2. slottypes &&
59
+ ci1. rettype == ci2. rettype
60
+ end
61
+ return ret
59
62
end
60
63
equal (p1:: Pair , p2:: Pair ) = p1. second == p2. second && equal (p1. first, p2. first)
61
64
0 commit comments