@@ -861,8 +861,7 @@ define
861
861
StateReg = none
862
862
end
863
863
case @toCopy of unit then
864
- FormalRegs AllRegs AllRegs2 BodyVInter BodyVInstr GRegs Code VInter
865
- Cont1 Cont2
864
+ FormalRegs AllRegs AllRegs2 BodyVInter GRegs Code Cont1 Cont2
866
865
in
867
866
{CS startDefinition()}
868
867
FormalRegs = {Map @formalArgs
@@ -876,21 +875,16 @@ define
876
875
elseof Vs then {GetRegs Vs}
877
876
end
878
877
case StateReg of none then
879
- BodyVInstr = BodyVInter
880
- VHd0 = VInter
881
878
AllRegs2 = AllRegs
882
879
else
883
- BodyVInstr = vSetSelf(_ StateReg BodyVInter)
884
- VHd0 = vGetSelf(_ StateReg VInter)
885
880
AllRegs2 = StateReg| AllRegs
886
881
end
887
- {CS endDefinition(BodyVInstr FormalRegs AllRegs2 ?GRegs ?Code
882
+ {CS endDefinition(BodyVInter FormalRegs AllRegs2 ?GRegs ?Code
888
883
?OuterNLiveRegs)}
889
- VInter = vDefinition(_ {V reg($)} PredId @procedureRef
890
- GRegs Code VTl0)
884
+ VHd0 = vDefinition(_ {V reg($)} PredId @procedureRef
885
+ GRegs Code VTl0)
891
886
else
892
- VInter FormalRegs AllRegs
893
- InnerBodyVInter InnerBodyVInstr InnerGRegs InnerCode
887
+ FormalRegs AllRegs InnerBodyVInter InnerGRegs InnerCode
894
888
InnerDefinitionReg InnerPredId InnerNLiveRegs
895
889
OuterBodyVInstr OuterBodyVInter2 OuterGRegs OuterCode
896
890
in
@@ -905,14 +899,7 @@ define
905
899
AllRegs = case @allVariables of nil then nil
906
900
elseof Vs then {GetRegs Vs}
907
901
end
908
- case StateReg of none then
909
- InnerBodyVInstr = InnerBodyVInter
910
- VHd0 = VInter
911
- else
912
- InnerBodyVInstr = vSetSelf(_ StateReg InnerBodyVInter)
913
- VHd0 = vGetSelf(_ StateReg VInter)
914
- end
915
- {CS endDefinition(InnerBodyVInstr nil AllRegs
902
+ {CS endDefinition(InnerBodyVInter nil AllRegs
916
903
?InnerGRegs ?InnerCode ?InnerNLiveRegs)}
917
904
{CS newReg(?InnerDefinitionReg)}
918
905
InnerPredId = {Adjoin PredId
@@ -964,8 +951,8 @@ define
964
951
OuterBodyVInter2 = vCall(_ InnerDefinitionReg nil unit nil )
965
952
{CS endDefinition(OuterBodyVInstr FormalRegs AllRegs
966
953
?OuterGRegs ?OuterCode ?OuterNLiveRegs)}
967
- VInter = vDefinition(_ {V reg($)} PredId @procedureRef
968
- OuterGRegs OuterCode VTl0)
954
+ VHd0 = vDefinition(_ {V reg($)} PredId @procedureRef
955
+ OuterGRegs OuterCode VTl0)
969
956
end
970
957
{StepPoint @coord 'definition' VHd VTl VHd0 VTl0}
971
958
statements < - unit % hand them to the garbage collector
0 commit comments