Skip to content

Commit 2beaa07

Browse files
authored
Adjust to upcoming julia#54341 (#1511)
Corresponding IRTools changes are in FluxML/IRTools.jl#125.
1 parent c0daccd commit 2beaa07

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/compiler/interface2.jl

+14-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,13 @@ if VERSION >= v"1.10.0-DEV.873"
7272

7373
function _pullback_generator(world::UInt, source, self, ctx, f, args)
7474
ret = _generate_pullback(ctx, world, f, args...)
75-
ret isa Core.CodeInfo && return ret
75+
if ret isa Core.CodeInfo
76+
if isdefined(Base, :__has_internal_change) && Base.__has_internal_change(v"1.12-alpha", :codeinfonargs)
77+
ret.nargs = 4
78+
ret.isva = true
79+
end
80+
return ret
81+
end
7682

7783
stub = Core.GeneratedFunctionStub(identity, Core.svec(:methodinstance, :ctx, :f, :args), Core.svec())
7884
stub(world, source, ret)
@@ -85,7 +91,13 @@ end
8591

8692
function _callable_pullback_generator(world::UInt, source, self, Δ)
8793
ret = _generate_callable_pullback(self, world, Δ)
88-
ret isa Core.CodeInfo && return ret
94+
if ret isa Core.CodeInfo
95+
if isdefined(Base, :__has_internal_change) && Base.__has_internal_change(v"1.12-alpha", :codeinfonargs)
96+
ret.nargs = 2
97+
ret.isva = false
98+
end
99+
return ret
100+
end
89101

90102
stub = Core.GeneratedFunctionStub(identity, Core.svec(:methodinstance, ), Core.svec())
91103
stub(world, source, ret)

src/lib/literal_getproperty.jl

+5
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ function _generate_literal_getproperty(ctx, world, x, ::Type{Val{f}}) where f
8585
ci.edges = Core.MethodInstance[mi, mi_pb_getproperty, mi_getproperty, mi_rrule]
8686
# XXX: on 1.10, we should also set metadata like min-world and max-world
8787

88+
if isdefined(Base, :__has_internal_change) && Base.__has_internal_change(v"1.12-alpha", :codeinfonargs)
89+
ci.nargs = 5
90+
ci.isva = false
91+
end
92+
8893
return ci
8994
else
9095
# nothing to optimize here, need to recurse into `getproperty`

0 commit comments

Comments
 (0)