@@ -640,6 +640,7 @@ function call_with_reactant_generator(
640
640
function push_inst! (inst)
641
641
push! (overdubbed_code, inst)
642
642
push! (overdubbed_codelocs, code_info. codelocs[1 ])
643
+ return Core. SSAValue (length (overdubbed_code))
643
644
end
644
645
# Rewire the arguments from our tuple input of fn and args, to the corresponding calling convention
645
646
# required by the base method.
@@ -666,9 +667,9 @@ function call_with_reactant_generator(
666
667
actual_argument = Expr (
667
668
:call , Core. GlobalRef (Core, :getfield ), overdub_args_slot, offset
668
669
)
669
- push_inst! (actual_argument)
670
+ arg = push_inst! (actual_argument)
670
671
offset += 1
671
- push! (fn_args, Core . SSAValue ( length (overdubbed_code)) )
672
+ push! (fn_args, arg )
672
673
push! (tys, redub_arguments[i + (guaranteed_error ? 1 : 0 )])
673
674
674
675
if DEBUG_INTERP[]
@@ -688,15 +689,14 @@ function call_with_reactant_generator(
688
689
if method. isva
689
690
trailing_arguments = Expr (:call , Core. GlobalRef (Core, :tuple ))
690
691
for i in n_method_args: n_actual_args
691
- push_inst (
692
+ arg = push_inst! (
692
693
Expr (:call , Core. GlobalRef (Core, :getfield ), overdub_args_slot, offset),
693
694
)
694
- push! (trailing_arguments. args, Core . SSAValue ( length (overdubbed_code)) )
695
+ push! (trailing_arguments. args, arg )
695
696
offset += 1
696
697
end
697
698
698
- push_inst! (trailing_arguments)
699
- push! (fn_args, Core. SSAValue (length (overdubbed_code)))
699
+ push! (fn_args, push_inst! (trailing_arguments))
700
700
push! (
701
701
tys,
702
702
Tuple{
0 commit comments