1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
22 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
24 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
25 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
26 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
31 typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
32 typedef struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA tySequence__PJMRIt5QxCm6bRaVyQ5CGA;
33 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
34 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
35 typedef struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ;
36 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
37 typedef struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A tySequence__YWbgnI9b9a4j9aDYnupShIg3A;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct TGenericSeq TGenericSeq;
40 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
41 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
42 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
43 typedef struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg;
44 typedef struct tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ;
45 typedef struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ tySequence__Q9atPKk5Xsv6h4rje4WzNLQ;
46 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
47 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
48 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
49 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
50 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
51 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
52 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
53 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
54 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
55 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
56 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
57 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
58 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
59 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
60 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
61 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
62 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
63 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
64 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
65 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
66 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
67 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
68 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
69 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
70 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
71 typedef struct tySequence__JokFGfUW6i9b6aeU7xu6xBw tySequence__JokFGfUW6i9b6aeU7xu6xBw;
72 typedef struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg;
73 typedef struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg tyTuple__SlmU1Ju0WFHUWkihyHMVYg;
74 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
75 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
76 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
77 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
78 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
79 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
80 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
81 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
82 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
83 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
84 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
85 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
86 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
87 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
88 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
89 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
90 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
91 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
92 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
93 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
94 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
95 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
96 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
97 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
98 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
99 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
100 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
101 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
102 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
103 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
104 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
105 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
106 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
107 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
108 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
109 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
110 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
111 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
112 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
113 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
114 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
115 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
116 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
117 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
118 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
119 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
120 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
121 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
122 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
123 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
124 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
125 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
126 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
127 typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
128 typedef struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw tyTuple__C1iPjdrPjiQaUrcFhIp9aGw;
129 typedef struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA;
130 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
131 typedef struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ;
132 typedef struct tyTuple__4707W0MdkBgzyuDClNdLBQ tyTuple__4707W0MdkBgzyuDClNdLBQ;
133 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
134 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
135 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
136 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
137 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
138 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
139 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
140 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
141 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
142 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
143 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
144 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
145 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
146 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
147 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
148 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
149 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
150 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
151 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
152 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
153 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
154 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
155 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
156 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
157 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
158 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
159 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
160 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
161 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
162 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
163 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
164 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
165 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
166 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
167 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
168 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
169 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
170 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
171 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
172 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
173 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
174 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
175 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
176 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
177 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
178 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
179 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
180 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
181 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
182 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
183 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
184 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
185 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
186 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
187 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
188 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
189 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
190 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
191 typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
192 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
193 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
194 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
195 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
196 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
197 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
198 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
199 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
200 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
201 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
202 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
203 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
204 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
205 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
206 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
207 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
208 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
209 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
210 NI counter;
211 };
212 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
213 NI Field0;
214 NI Field1;
215 NI Field2;
216 };
217 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
218 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
219 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
220 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
221 struct TNimType {
222 NI size;
223 NI align;
224 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
225 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
226 TNimType* base;
227 TNimNode* node;
228 void* finalizer;
229 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
230 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
231 };
232 struct RootObj {
233 TNimType* m_type;
234 };
235 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
236 RootObj Sup;
237 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
238 };
239 typedef NU8 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ;
240 typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
241 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
242 NU16 line;
243 NI16 col;
244 NI32 fileIndex;
245 };
246 struct TGenericSeq {
247 NI len;
248 NI reserved;
249 };
250 struct NimStringDesc {
251 TGenericSeq Sup;
252 NIM_CHAR data[SEQ_DECL_SIZE];
253 };
254 struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg {
255 NF tEnter;
256 tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos;
257 };
258 struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw {
259 tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
260 tySequence__YdLNCDKYeipzJx3I8Xw82Q* code;
261 tySequence__PJMRIt5QxCm6bRaVyQ5CGA* debug;
262 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* globals;
263 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constants;
264 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
265 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionA;
266 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionB;
267 NI exceptionInstr;
268 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* prc;
269 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
270 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callsite;
271 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode;
272 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A features;
273 NIM_BOOL traceActive;
274 NI loopIterations;
275 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q comesFromHeuristic;
276 tySequence__YWbgnI9b9a4j9aDYnupShIg3A* callbacks;
277 NimStringDesc* errorFlag;
278 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
279 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
280 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
281 NI oldErrorCount;
282 tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg profiler;
283 NI* templInstCounter;
284 tySequence__Q9atPKk5Xsv6h4rje4WzNLQ* vmstateDiff;
285 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w procToCodePos;
286 };
287 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
288 NI32 module;
289 NI32 item;
290 };
291 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
292 RootObj Sup;
293 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
294 };
295 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
296 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
297 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
298 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
299 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
300 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
301 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
302 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
303 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
304 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
305 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
306 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
307 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
308 };
309 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
310 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
311 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
312 union{
313 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
314 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
315 } _kind_1;
316 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
317 NI bitsize;
318 NI alignment;
319 } _kind_2;
320 };
321 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
322 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
323 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
324 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
325 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
326 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
327 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
328 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
329 NI position;
330 NI offset;
331 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
332 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
333 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
334 };
335 typedef NU8 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ;
336 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
337 struct TNimNode {
338 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
339 NI offset;
340 TNimType* typ;
341 NCSTRING name;
342 NI len;
343 TNimNode** sons;
344 };
345 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
346 NI refcount;
347 TNimType* typ;
348 };
349 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
350 void* bottom;
351 };
352 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
353 NI len;
354 NI cap;
355 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
356 };
357 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
358 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
359 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
360 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
361 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
362 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
363 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
364 };
365 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
366 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
367 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
368 NI key;
369 NI upperBound;
370 NI level;
371 };
372 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
373 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
374 NI Field1;
375 };
376 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
377 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
378 NI len;
379 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
380 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
381 };
382 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
383 NI minLargeObj;
384 NI maxLargeObj;
385 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
386 NU32 flBitmap;
387 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
388 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
389 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
390 NI currMem;
391 NI maxMem;
392 NI freeMem;
393 NI occ;
394 NI lastSize;
395 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
396 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
397 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
398 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
399 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
400 NIM_BOOL locked;
401 NIM_BOOL blockChunkSizeIncrease;
402 NI nextChunkSize;
403 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
404 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
405 };
406 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
407 NI stackScans;
408 NI cycleCollections;
409 NI maxThreshold;
410 NI maxStackSize;
411 NI maxStackCells;
412 NI cycleTableSize;
413 NI64 maxPause;
414 };
415 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
416 NI counter;
417 NI max;
418 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
419 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
420 };
421 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
422 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
423 NI cycleThreshold;
424 NI zctThreshold;
425 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
426 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
427 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
428 NI recGcLock;
429 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
430 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
431 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
432 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
433 NI gcThreadId;
434 };
435 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
436 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
437 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
438 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
439 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
440 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
441 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
442 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
443 union{
444 struct {NI64 intVal;
445 } _kind_1;
446 struct {NF floatVal;
447 } _kind_2;
448 struct {NimStringDesc* strVal;
449 } _kind_3;
450 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
451 } _kind_4;
452 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
453 } _kind_5;
454 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
455 } _kind_6;
456 };
457 };
458 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
459 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
460 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
461 NimStringDesc* Field0;
462 NI Field1;
463 NI Field2;
464 };
465 struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ {
466 tySequence__JokFGfUW6i9b6aeU7xu6xBw* blocks;
467 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
468 tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg* regInfo;
469 };
470 typedef NU8 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ;
471 struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg {
472 NIM_BOOL Field0;
473 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ Field1;
474 };
475 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
476 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
477 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
478 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
479 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
480 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
481 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
482 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
483 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
484 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
485 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
486 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
487 NI64 size;
488 NI16 align;
489 NI16 paddingAtEnd;
490 NI16 lockLevel;
491 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
492 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
493 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
494 };
495 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
496 typedef NU8 tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
497 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
498 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
499 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
500 NI counter;
501 };
502 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
503 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
504 NI counter;
505 };
506 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
507 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
508 NI counter;
509 };
510 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
511 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
512 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
513 NI counter;
514 };
515 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
516 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
517 NI counter;
518 };
519 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
520 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
521 NI counter;
522 };
523 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
524 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
525 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
526 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
527 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
528 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
529 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
530 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
531 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
532 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
533 };
534 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
535 NI counter;
536 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
537 };
538 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
539 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
540 NI counter;
541 };
542 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
543 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
544 NI elems;
545 NI counter;
546 NI max;
547 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
548 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
549 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
550 };
551 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
552 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
553 NI counter;
554 };
555 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
556 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
557 NI counter;
558 };
559 typedef struct {
560 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
561 void* ClE_0;
562 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
563 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
564 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
565 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
566 NI counter;
567 };
568 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
569 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
570 NI counter;
571 };
572 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
573 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
574 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
575 tySequence__23SMqauuRsbDANhthj9bWlA* data;
576 NI counter;
577 };
578 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
579 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
580 NI counter;
581 };
582 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
583 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
584 NI counter;
585 };
586 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
587 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
588 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
589 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
590 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
591 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
592 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
593 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
594 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
595 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
596 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
597 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
598 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
599 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
600 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
601 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
602 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
603 };
604 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
605 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
606 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
607 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
608 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
609 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
610 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
611 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
612 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
613 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
614 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
615 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
616 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
617 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
618 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
619 NIM_BOOL suggestMode;
620 NIM_BOOL invalidTransitiveClosure;
621 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
622 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
623 RootObj* backend;
624 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
625 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
626 RootObj* vm;
627 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
628 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
629 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
630 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
631 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
632 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
633 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
634 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
635 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
636 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
637 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
638 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
639 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
640 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
641 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
642 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
643 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
644 tySequence__MAQKEADohlpnXTModtugbQ* passes;
645 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
646 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
647 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
648 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
649 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
650 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
651 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
652 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
653 };
654 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
655 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
656 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
657 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
658 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
659 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
660 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
661 NI intSize;
662 NI floatSize;
663 NI ptrSize;
664 NimStringDesc* tnl;
665 };
666 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
667 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
668 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
669 NIM_BOOL trackPosAttached;
670 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
671 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
672 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
673 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
674 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
675 NI32 systemFileIdx;
676 };
677 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
678 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
679 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
680 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
681 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
682 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
683 NI counter;
684 };
685 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
686 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
687 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
688 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
689 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
690 typedef struct {
691 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
692 void* ClE_0;
693 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
694 typedef struct {
695 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
696 void* ClE_0;
697 } tyProc__k2HFjxisIgDALbEUFojxaQ;
698 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
699 typedef struct {
700 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
701 void* ClE_0;
702 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
703 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
704 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
705 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
706 NI linesCompiled;
707 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
708 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
709 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
710 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
711 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
712 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
713 NimStringDesc* unitSep;
714 NI evalTemplateCounter;
715 NI evalMacroCounter;
716 NI8 exitcode;
717 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
718 NimStringDesc* cmdInput;
719 NIM_BOOL projectIsCmd;
720 NIM_BOOL implicitCmd;
721 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
722 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
723 NIM_BOOL hintProcessingDots;
724 NI verbosity;
725 NI numberOfProcessors;
726 NF lastCmdTime;
727 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
728 NI spellSuggestMax;
729 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
730 NimStringDesc* headerFile;
731 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
732 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
733 NimStringDesc* arguments;
734 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
735 NIM_BOOL oldNewlines;
736 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
737 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
738 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
739 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
740 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
741 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
742 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
743 NI mainPackageId;
744 NI errorCounter;
745 NI hintCounter;
746 NI warnCounter;
747 NI errorMax;
748 NI maxLoopIterationsVM;
749 NIM_BOOL isVmTrace;
750 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
751 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
752 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
753 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
754 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
755 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
756 NimStringDesc* outFile;
757 NimStringDesc* outDir;
758 NimStringDesc* jsonBuildFile;
759 NimStringDesc* prefixDir;
760 NimStringDesc* libpath;
761 NimStringDesc* nimcacheDir;
762 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
763 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
764 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
765 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
766 NimStringDesc* projectName;
767 NimStringDesc* projectPath;
768 NimStringDesc* projectFull;
769 NIM_BOOL projectIsStdin;
770 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
771 NI32 projectMainIdx;
772 NI32 projectMainIdx2;
773 NimStringDesc* command;
774 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
775 NimStringDesc* commandLine;
776 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
777 NIM_BOOL keepComments;
778 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
779 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
780 NimStringDesc* docSeeSrcUrl;
781 NimStringDesc* docRoot;
782 NimStringDesc* docCmd;
783 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
784 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
785 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
786 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
787 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
788 NimStringDesc* linkOptionsCmd;
789 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
790 NimStringDesc* linkOptions;
791 NimStringDesc* compileOptions;
792 NimStringDesc* cCompilerPath;
793 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
794 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
795 NI suggestVersion;
796 NI suggestMaxResults;
797 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
798 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
799 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
800 NimStringDesc* cppCustomNamespace;
801 NimStringDesc* nimMainPrefix;
802 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
803 };
804 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
805 NI id;
806 NimStringDesc* s;
807 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
808 NI h;
809 };
810 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
811 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
812 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
813 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
814 };
815 typedef NU8 tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
816 typedef struct {
817 N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
818 void* ClE_0;
819 } tyProc__5QC9cKfPJmKuW0XbCTd8ylA;
820 struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw {
821 NimStringDesc* Field0;
822 tyProc__5QC9cKfPJmKuW0XbCTd8ylA Field1;
823 };
824 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
825 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
826 struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA {
827 RootObj Sup;
828 NI colonstate_;
829 tyObject_TType__facALICuu8zUj0hjvbTLFg* t21;
830 tyObject_TType__facALICuu8zUj0hjvbTLFg* targ22;
831 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n3;
832 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg4;
833 };
834 typedef N_CLOSURE_PTR(NIM_BOOL, TM__24XApAWKNvaMkcyklm8bNA_54) (void);
835 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
836 struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ {
837 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
838 tySequence__qwqHTkRvwhrRyENtudHQ7g* fixups;
839 };
840 typedef NU8 tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
841 struct tyTuple__4707W0MdkBgzyuDClNdLBQ {
842 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
843 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
844 };
845 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
846 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
847 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
848 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
849 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
850 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
851 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
852 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
853 };
854 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
855 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
856 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
857 };
858 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
859 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
860 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
861 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
862 };
863 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
864 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
865 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
866 };
867 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
868 NimStringDesc* definedSymbols;
869 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
870 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
871 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
872 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
873 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
874 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
875 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
876 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
877 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
878 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
879 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
880 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
881 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
882 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
883 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
884 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
885 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
886 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
887 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
888 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
889 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
890 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
891 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
892 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
893 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
894 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
895 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
896 };
897 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
898 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
899 NI counter;
900 };
901 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
902 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
903 NIM_BOOL symsInit;
904 NIM_BOOL typesInit;
905 NIM_BOOL loadedButAliveSetChanged;
906 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
907 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
908 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
909 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
910 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
911 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
912 };
913 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
914 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
915 NI counter;
916 };
917 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
918 NI32 thisModule;
919 NI32 lastFile;
920 NU32 lastLit;
921 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
922 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
923 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
924 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
925 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
926 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
927 };
928 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
929 NU32 module;
930 NI32 item;
931 };
932 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
933 NI module;
934 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
935 };
936 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
937 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
938 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
939 };
940 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
941 NI Field0;
942 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
943 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
944 };
945 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
946 NI module;
947 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
948 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
949 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
950 };
951 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
952 NI Field0;
953 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
954 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
955 };
956 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
957 NI Field0;
958 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
959 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
960 };
961 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
962 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
963 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
964 };
965 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
966 NI Field0;
967 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
968 };
969 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
970 NI Field0;
971 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
972 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
973 };
974 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
975 NI Field0;
976 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
977 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
978 };
979 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
980 NI Field0;
981 NimStringDesc* Field1;
982 NI32 Field2;
983 };
984 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
985 NI Field0;
986 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
987 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
988 };
989 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
990 NI Field0;
991 NI32 Field1;
992 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
993 };
994 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
995 NI Field0;
996 NI32 Field1;
997 NI32 Field2;
998 };
999 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1000 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1001 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1002 };
1003 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1004 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1005 NI Field0;
1006 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1007 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1008 };
1009 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1010 NI Field0;
1011 NI Field1;
1012 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1013 };
1014 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1015 NI Field0;
1016 NimStringDesc* Field1;
1017 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1018 };
1019 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1020 NI Field0;
1021 NimStringDesc* Field1;
1022 NI64 Field2;
1023 };
1024 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1025 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1026 NI entries;
1027 };
1028 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1029 NI Field0;
1030 NimStringDesc* Field1;
1031 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1032 };
1033 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1034 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1035 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1036 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1037 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1038 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1039 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1040 NIM_BOOL Field3;
1041 };
1042 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1043 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1044 NimStringDesc* Field1;
1045 };
1046 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1047 NimStringDesc* fullPath;
1048 NimStringDesc* projPath;
1049 NimStringDesc* shortName;
1050 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1051 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1052 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1053 NimStringDesc* dirtyFile;
1054 NimStringDesc* hash;
1055 NIM_BOOL dirty;
1056 };
1057 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1058 NI Field0;
1059 NimStringDesc* Field1;
1060 };
1061 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1062 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1063 NimStringDesc* nimname;
1064 NimStringDesc* cname;
1065 NimStringDesc* obj;
1066 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1067 NimStringDesc* customArgs;
1068 };
1069 struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
1070 NI ra;
1071 NI rb;
1072 NI rc;
1073 tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
1074 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
1075 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
1076 };
1077 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1078 NU32 Field0;
1079 NimStringDesc* Field1;
1080 };
1081 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1082 NU16 line;
1083 NI16 col;
1084 NU32 file;
1085 };
1086 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1087 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1088 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1089 NI32 operand;
1090 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1091 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1092 };
1093 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1094 NU32 Field0;
1095 NI32 Field1;
1096 };
1097 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1098 NU32 Field0;
1099 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1100 };
1101 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1102 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1103 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1104 };
1105 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1106 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1107 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1108 };
1109 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1110 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1111 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1112 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1113 };
1114 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
1115 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1116 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1117 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1118 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1119 };
1120 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1121 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1122 NI Field1;
1123 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1124 };
1125 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1126 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1127 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1128 NIM_BOOL generated;
1129 NIM_BOOL isOverriden;
1130 NU32 name;
1131 NI32 path;
1132 };
1133 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1134 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1135 NU32 name;
1136 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1137 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1138 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1139 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1140 NI32 ast;
1141 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1142 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1143 NI bitsize;
1144 NI alignment;
1145 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1146 NI position;
1147 NI offset;
1148 NU32 externalName;
1149 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1150 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1151 NI32 constraint;
1152 };
1153 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1154 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1155 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1156 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1157 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1158 NI32 n;
1159 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1160 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1161 NI64 size;
1162 NI16 align;
1163 NI16 paddingAtEnd;
1164 NI16 lockLevel;
1165 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1166 NI32 nonUniqueId;
1167 };
1168 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1169 NI Field0;
1170 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1171 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1172 };
1173 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1174 NI Field0;
1175 NI32 Field1;
1176 NU32 Field2;
1177 };
1178 struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
1179 TGenericSeq Sup;
1180 NU64 data[SEQ_DECL_SIZE];
1181 };
1182 struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA {
1183 TGenericSeq Sup;
1184 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q data[SEQ_DECL_SIZE];
1185 };
1186 struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg {
1187 TGenericSeq Sup;
1188 tyTuple__SlmU1Ju0WFHUWkihyHMVYg data[SEQ_DECL_SIZE];
1189 };
1190 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1191 TGenericSeq Sup;
1192 NimStringDesc* data[SEQ_DECL_SIZE];
1193 };
1194 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1195 TGenericSeq Sup;
1196 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1197 };
1198 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1199 TGenericSeq Sup;
1200 NI data[SEQ_DECL_SIZE];
1201 };
1202 struct tySequence__JokFGfUW6i9b6aeU7xu6xBw {
1203 TGenericSeq Sup;
1204 tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE];
1205 };
1206 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1207 TGenericSeq Sup;
1208 tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1209 };
1210 struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A {
1211 TGenericSeq Sup;
1212 tyTuple__C1iPjdrPjiQaUrcFhIp9aGw data[SEQ_DECL_SIZE];
1213 };
1214 struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ {
1215 TGenericSeq Sup;
1216 tyTuple__4707W0MdkBgzyuDClNdLBQ data[SEQ_DECL_SIZE];
1217 };
1218 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1219 TGenericSeq Sup;
1220 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1221 };
1222 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1223 TGenericSeq Sup;
1224 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1225 };
1226 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1227 TGenericSeq Sup;
1228 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1229 };
1230 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1231 TGenericSeq Sup;
1232 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1233 };
1234 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1235 TGenericSeq Sup;
1236 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1237 };
1238 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1239 TGenericSeq Sup;
1240 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1241 };
1242 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1243 TGenericSeq Sup;
1244 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1245 };
1246 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1247 TGenericSeq Sup;
1248 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1249 };
1250 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1251 TGenericSeq Sup;
1252 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1253 };
1254 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1255 TGenericSeq Sup;
1256 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1257 };
1258 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1259 TGenericSeq Sup;
1260 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1261 };
1262 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1263 TGenericSeq Sup;
1264 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1265 };
1266 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1267 TGenericSeq Sup;
1268 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1269 };
1270 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1271 TGenericSeq Sup;
1272 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1273 };
1274 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1275 TGenericSeq Sup;
1276 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1277 };
1278 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1279 TGenericSeq Sup;
1280 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1281 };
1282 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1283 TGenericSeq Sup;
1284 NI32 data[SEQ_DECL_SIZE];
1285 };
1286 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1287 TGenericSeq Sup;
1288 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1289 };
1290 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1291 TGenericSeq Sup;
1292 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1293 };
1294 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1295 TGenericSeq Sup;
1296 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1297 };
1298 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1299 TGenericSeq Sup;
1300 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1301 };
1302 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1303 TGenericSeq Sup;
1304 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1305 };
1306 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1307 TGenericSeq Sup;
1308 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1309 };
1310 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1311 TGenericSeq Sup;
1312 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1313 };
1314 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1315 TGenericSeq Sup;
1316 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1317 };
1318 struct tySequence__MAQKEADohlpnXTModtugbQ {
1319 TGenericSeq Sup;
1320 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1321 };
1322 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1323 TGenericSeq Sup;
1324 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1325 };
1326 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1327 TGenericSeq Sup;
1328 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1329 };
1330 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1331 TGenericSeq Sup;
1332 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1333 };
1334 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1335 TGenericSeq Sup;
1336 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1337 };
1338 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1339 TGenericSeq Sup;
1340 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1341 };
1342 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1343 TGenericSeq Sup;
1344 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1345 };
1346 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1347 TGenericSeq Sup;
1348 NU32 data[SEQ_DECL_SIZE];
1349 };
1350 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1351 TGenericSeq Sup;
1352 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1353 };
1354 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1355 TGenericSeq Sup;
1356 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1357 };
1358 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1359 TGenericSeq Sup;
1360 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1361 };
1362 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1363 TGenericSeq Sup;
1364 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1365 };
1366 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1367 TGenericSeq Sup;
1368 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1369 };
1370 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1371 TGenericSeq Sup;
1372 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1373 };
1374 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1375 TGenericSeq Sup;
1376 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1377 };
1378 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1379 TGenericSeq Sup;
1380 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1381 };
1382 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1383 TGenericSeq Sup;
1384 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1385 };
1386 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1387 TGenericSeq Sup;
1388 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1389 };
1390 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1391 TGenericSeq Sup;
1392 NI64 data[SEQ_DECL_SIZE];
1393 };
1394 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1395 TGenericSeq Sup;
1396 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1397 };
1398 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1399 TGenericSeq Sup;
1400 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1401 };
1402 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1403 TGenericSeq Sup;
1404 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1405 };
1406 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1407 TGenericSeq Sup;
1408 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1409 };
1410 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key);
1411 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc);
1412 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1413 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1414 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1415 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1416 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1417 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1418 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1419 static N_INLINE(void, asgnRef)(void** dest, void* src);
1420 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1421 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1422 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr);
1423 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1424 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1425 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1426 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1427 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5256)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1428 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___importer_2284)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w* t, NI key, NI val);
1429 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody__transf_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL cache);
1430 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1431 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a);
1432 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx);
1433 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1434 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1435 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1436 static N_INLINE(void, nimGCunrefRC1)(void* p);
1437 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params);
1438 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1439 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1440 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1441 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1442 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp);
1443 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1444 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1445 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1446 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1447 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
1448 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1449 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1450 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1451 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1452 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1453 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1454 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1455 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1456 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1457 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody__icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1458 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1459 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1460 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1462 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1463 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1464 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition);
1465 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1466 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1467 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1468 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1469 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1470 N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1471 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1472 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1473 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1474 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt);
1475 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1476 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1477 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start);
1478 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1479 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1480 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1481 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1482 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1483 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1484 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c);
1485 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy);
1486 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r);
1487 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1488 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
1489 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1490 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1491 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1492 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1493 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1494 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1495 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1496 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x);
1497 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
1498 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
1499 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i);
1500 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1501 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1502 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1503 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1504 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1505 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1506 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1507 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1508 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1509 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1510 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest);
1511 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1512 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1513 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest);
1514 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest);
1515 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1516 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p);
1517 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1518 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1519 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm);
1520 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1521 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1522 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1523 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x);
1524 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value);
1525 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr);
1526 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1528 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1529 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1530 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1531 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc);
1532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3817)(NimStringDesc* strVal, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1533 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1534 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1535 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind);
1536 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1537 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1538 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n);
1539 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1540 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1541 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1542 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1543 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1544 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm);
1545 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1546 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1547 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1548 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1549 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1550 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1551 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1552 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op);
1553 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0);
1554 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1555 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1556 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerSwap__lowerings_246)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1557 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1558 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1559 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1560 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1561 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode);
1562 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1563 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1564 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1565 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1566 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1567 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1568 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1569 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1570 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1571 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1572 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1573 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1574 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1575 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1577 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1579 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1581 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1582 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1583 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1584 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1586 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1587 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1588 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p);
1589 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen);
1590 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1591 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1592 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1593 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1594 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1595 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1596 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking__lowerings_116)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1598 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1599 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1600 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1601 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1602 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1603 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1604 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1605 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1606 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start);
1607 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff);
1608 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1609 extern TNimType NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_;
1610 extern TNimType NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_;
1611 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_2, "VM: immediate value does not fit into regBx", 43);
1612 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/vmgen.nim", 60);
1613 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_3 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1614 ((NI) 164),
1615 ((NI) 14)}
1616 ;
1617 extern TNimType NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_;
1618 extern TNimType NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_;
1619 static NIM_CONST tyTuple__SlmU1Ju0WFHUWkihyHMVYg TM__24XApAWKNvaMkcyklm8bNA_5 = {NIM_TRUE,
1620 ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2)}
1621 ;
1622 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_6, "cannot evaluate at compile time: ", 33);
1623 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_7 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1624 ((NI) 1477),
1625 ((NI) 13)}
1626 ;
1627 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_8, "cannot \'importc\' variable at compile time; ", 43);
1628 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_9 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1629 ((NI) 1616),
1630 ((NI) 14)}
1631 ;
1632 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_10 = {
1633 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x10,
1634 0x00}
1635 ;
1636 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_11 = {
1637 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1638 0x00}
1639 ;
1640 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_12, "vmgen.nim(1811, 14) `obj.sym.position == currPosition` ", 55);
1641 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_13, "cannot create null element for: ", 32);
1642 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_14 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1643 ((NI) 1813),
1644 ((NI) 19)}
1645 ;
1646 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
1647 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_15 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1648 ((NI) 1856),
1649 ((NI) 15)}
1650 ;
1651 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_16 = {
1652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1653 0x00}
1654 ;
1655 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_17 = {
1656 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1657 0x00}
1658 ;
1659 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_18, "VM problem: too many registers required", 39);
1660 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_19 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1661 ((NI) 229),
1662 ((NI) 15)}
1663 ;
1664 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_20 = {
1665 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x10,
1666 0x00}
1667 ;
1668 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_21, "(", 1);
1669 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_22, ", ", 2);
1670 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_23, ")", 1);
1671 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_24 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1672 ((NI) 1671),
1673 ((NI) 22)}
1674 ;
1675 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1676 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_25, "Closure iterators are not supported by VM!", 42);
1677 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_26 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1678 ((NI) 2023),
1679 ((NI) 19)}
1680 ;
1681 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_27, "*", 1);
1682 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_28, "vmgen.nim(2005, 16) `s.offset == -1` ", 37);
1683 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_29 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1684 ((NI) 452),
1685 ((NI) 17)}
1686 ;
1687 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_30, "cannot generate code for: ", 26);
1688 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_31 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1689 ((NI) 2046),
1690 ((NI) 19)}
1691 ;
1692 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_32 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1693 ((NI) 2048),
1694 ((NI) 17)}
1695 ;
1696 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_33 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1697 ((NI) 186),
1698 ((NI) 16)}
1699 ;
1700 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_34, "VM: immediate value does not fit into an int8", 45);
1701 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_35 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1702 ((NI) 147),
1703 ((NI) 14)}
1704 ;
1705 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_36 = {
1706 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1707 0x00}
1708 ;
1709 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_37, "not unused", 10);
1710 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_38 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1711 ((NI) 487),
1712 ((NI) 15)}
1713 ;
1714 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_39 = {
1715 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1716 0x00}
1717 ;
1718 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_40 = {
1719 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1720 0x00}
1721 ;
1722 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Zero__int495056_7;
1723 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_41 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1724 ((NI) 1720),
1725 ((NI) 17)}
1726 ;
1727 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_42 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1728 ((NI) 1732),
1729 ((NI) 17)}
1730 ;
1731 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_43, "no field symbol", 15);
1732 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_44 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1733 ((NI) 626),
1734 ((NI) 15)}
1735 ;
1736 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_45, "too large offset! cannot generate code for: ", 44);
1737 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_46 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1738 ((NI) 629),
1739 ((NI) 15)}
1740 ;
1741 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_47 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1742 ((NI) 269),
1743 ((NI) 15)}
1744 ;
1745 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_48 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1746 ((NI) 609),
1747 ((NI) 21)}
1748 ;
1749 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1750 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_49 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1751 ((NI) 533),
1752 ((NI) 16)}
1753 ;
1754 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_50, "vmgen.nim(1062, 20) `false` ", 28);
1755 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_51 = {
1756 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1757 0x00}
1758 ;
1759 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
1760 N_LIB_PRIVATE TNimType NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_;
1761 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
1762 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
1763 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1764 N_LIB_PRIVATE TNimType NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_;
1765 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_53 = {
1766 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1767 0x00}
1768 ;
1769 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_55 = {
1770 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1771 0x00}
1772 ;
1773 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_56, "getType", 7);
1774 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_57, "typeKind", 8);
1775 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_58, "getTypeInst", 11);
1776 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_59, "getSize", 7);
1777 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_60, "getAlign", 8);
1778 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_61, "invalid bindSym usage", 21);
1779 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_62 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1780 ((NI) 962),
1781 ((NI) 16)}
1782 ;
1783 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_63, "getFile", 7);
1784 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_64, "getLine", 7);
1785 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_65, "getColumn", 9);
1786 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_66, "copyLineInfo", 12);
1787 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_67 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1788 ((NI) 1323),
1789 ((NI) 21)}
1790 ;
1791 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_68 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1792 ((NI) 1326),
1793 ((NI) 25)}
1794 ;
1795 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_69, "expandToAst requires 1 argument", 31);
1796 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_70 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1797 ((NI) 1349),
1798 ((NI) 17)}
1799 ;
1800 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_71, "expandToAst requires a call expression", 38);
1801 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_72 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1802 ((NI) 1359),
1803 ((NI) 17)}
1804 ;
1805 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_73, "\'$1\' requires \'.importc\' types to be \'.completeStruct\'", 54);
1806 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_75, "sizeof", 6);
1807 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_74 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_75)}
1808 ;
1809 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_76 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1810 ((NI) 1361),
1811 ((NI) 15)}
1812 ;
1813 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_78, "alignof", 7);
1814 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_77 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_78)}
1815 ;
1816 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_79 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1817 ((NI) 1363),
1818 ((NI) 15)}
1819 ;
1820 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_81, "offsetof", 8);
1821 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_80 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_81)}
1822 ;
1823 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_82 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1824 ((NI) 1365),
1825 ((NI) 15)}
1826 ;
1827 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
1828 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_83 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1829 ((NI) 1384),
1830 ((NI) 15)}
1831 ;
1832 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_84, "cannot call method ", 19);
1833 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_85, " at compile time", 16);
1834 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_86 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1835 ((NI) 2055),
1836 ((NI) 18)}
1837 ;
1838 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_87, "stdlib.marshal.to", 17);
1839 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_88, "stdlib.marshal.$$", 17);
1840 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_89 = {
1841 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1842 0x00}
1843 ;
1844 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_90 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1845 ((NI) 1580),
1846 ((NI) 21)}
1847 ;
1848 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_91 = {
1849 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10,
1850 0x00}
1851 ;
1852 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_92 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1853 ((NI) 1766),
1854 ((NI) 17)}
1855 ;
1856 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1857 static NIM_CONST struct {
1858 TGenericSeq Sup;
1859 NI data[0];
1860 } TM__24XApAWKNvaMkcyklm8bNA_94 = {{0, 0 | NIM_STRLIT_FLAG}};
1861 static NIM_CONST tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ TM__24XApAWKNvaMkcyklm8bNA_93 = {((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__24XApAWKNvaMkcyklm8bNA_94)}
1862 ;
1863 extern TNimType NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_;
1864 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_95 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1865 ((NI) 178),
1866 ((NI) 16)}
1867 ;
1868 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_96, "VM problem: cannot find \'break\' target", 38);
1869 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_97 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1870 ((NI) 382),
1871 ((NI) 15)}
1872 ;
1873 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_98 = {
1874 0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1875 0x00}
1876 ;
1877 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_99, "invalid object constructor", 26);
1878 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_100 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1879 ((NI) 1968),
1880 ((NI) 17)}
1881 ;
1882 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_101 = {
1883 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00,
1884 0x00}
1885 ;
1886 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_102 = {
1887 0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
1888 0x00}
1889 ;
1890 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_103 = {
1891 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1892 0x00}
1893 ;
1894 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_104, "VM does not support \'cast\' from ", 32);
1895 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_105, " to ", 4);
1896 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_106 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1897 ((NI) 938),
1898 ((NI) 15)}
1899 ;
1900 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_107, "cannot generate VM code for ", 28);
1901 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_108 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1902 ((NI) 2166),
1903 ((NI) 17)}
1904 ;
1905 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_109 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1906 ((NI) 2207),
1907 ((NI) 16)}
1908 ;
1909 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_110, "VM problem: dest register is not set", 36);
1910 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_111 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1911 ((NI) 2192),
1912 ((NI) 17)}
1913 ;
1914 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_112, "VM problem: dest register is set", 32);
1915 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_113 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1916 ((NI) 2183),
1917 ((NI) 15)}
1918 ;
1919 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5209;
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)1920 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
1921 NU64 result;
1922 NU64 aH;
1923 NU64 aL;
1924 NU64 bH;
1925 NU64 bL;
1926 NU64 rHH;
1927 NU64 rHL;
1928 NU64 rLH;
1929 NU64 rLL;
1930 NU64 t;
1931 NU64 c;
1932 NU64 lo;
1933 NU64 T6_;
1934 NU64 hi;
1935 { result = (NU64)0;
1936 aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
1937 aL = (NU64)(a & 4294967295ULL);
1938 bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
1939 bL = (NU64)(b & 4294967295ULL);
1940 rHH = (NU64)((NU64)(aH) * (NU64)(bH));
1941 rHL = (NU64)((NU64)(aH) * (NU64)(bL));
1942 rLH = (NU64)((NU64)(aL) * (NU64)(bH));
1943 rLL = (NU64)((NU64)(aL) * (NU64)(bL));
1944 t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
1945 {
1946 if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
1947 c = 1ULL;
1948 }
1949 goto LA1_;
1950 LA3_: ;
1951 {
1952 c = 0ULL;
1953 }
1954 LA1_: ;
1955 lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
1956 T6_ = (NU64)0;
1957 {
1958 if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
1959 T6_ = 1ULL;
1960 }
1961 goto LA7_;
1962 LA9_: ;
1963 {
1964 T6_ = 0ULL;
1965 }
1966 LA7_: ;
1967 c += T6_;
1968 hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
1969 result = (NU64)(hi ^ lo);
1970 goto BeforeRet_;
1971 }BeforeRet_: ;
1972 return result;
1973 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1974 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1975 NU64 result;
1976 result = (NU64)0;
1977 result = hiXorLoFallback64__pureZhashes_35(a, b);
1978 return result;
1979 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1980 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1981 NI result;
1982 NU64 T1_;
1983 NU64 T2_;
1984 result = (NI)0;
1985 T1_ = (NU64)0;
1986 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1987 T2_ = (NU64)0;
1988 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1989 result = ((NI) (T2_));
1990 return result;
1991 }
N_INLINE(NI,hash__pureZhashes_128)1992 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1993 NI result;
1994 result = (NI)0;
1995 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1996 return result;
1997 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1998 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1999 NIM_BOOL result;
2000 result = (NIM_BOOL)0;
2001 result = !((hcode == ((NI) 0)));
2002 return result;
2003 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)2004 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
2005 NI result;
2006 result = (NI)0;
2007 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
2008 return result;
2009 }
N_INLINE(NI,rawGet__sigmatch_5618)2010 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
2011 NI result;
2012 NI h;
2013 NI T10_;
2014 { result = (NI)0;
2015 (*hc) = hash__pureZhashes_128(key);
2016 {
2017 if (!((*hc) == ((NI) 0))) goto LA3_;
2018 (*hc) = ((NI) 314159265);
2019 }
2020 LA3_: ;
2021 {
2022 NI T7_;
2023 T7_ = (t.data ? t.data->Sup.len : 0);
2024 if (!(T7_ == ((NI) 0))) goto LA8_;
2025 result = ((NI) -1);
2026 goto BeforeRet_;
2027 }
2028 LA8_: ;
2029 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
2030 h = (NI)((*hc) & T10_);
2031 {
2032 while (1) {
2033 NIM_BOOL T13_;
2034 NI T20_;
2035 T13_ = (NIM_BOOL)0;
2036 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
2037 if (!T13_) goto LA12;
2038 {
2039 NIM_BOOL T16_;
2040 T16_ = (NIM_BOOL)0;
2041 T16_ = (t.data->data[h].Field0 == (*hc));
2042 if (!(T16_)) goto LA17_;
2043 T16_ = (t.data->data[h].Field1 == key);
2044 LA17_: ;
2045 if (!T16_) goto LA18_;
2046 result = h;
2047 goto BeforeRet_;
2048 }
2049 LA18_: ;
2050 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
2051 h = nextTry__pureZcollectionsZtables_34(h, T20_);
2052 } LA12: ;
2053 }
2054 result = (NI)(((NI) -1) - h);
2055 }BeforeRet_: ;
2056 return result;
2057 }
N_NIMCALL(NI,getOrDefault__vmgen_3597)2058 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key) {
2059 NI result;
2060 NI hcX60gensym637_;
2061 NI indexX60gensym637_;
2062 result = (NI)0;
2063 hcX60gensym637_ = (NI)0;
2064 indexX60gensym637_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym637_));
2065 {
2066 if (!(((NI) 0) <= indexX60gensym637_)) goto LA3_;
2067 result = t.data->data[indexX60gensym637_].Field2;
2068 }
2069 LA3_: ;
2070 return result;
2071 }
N_INLINE(NI,pluspercent___system_696)2072 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2073 NI result;
2074 result = (NI)0;
2075 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
2076 return result;
2077 }
N_INLINE(void,incRef__system_5300)2078 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2079 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2080 }
N_INLINE(NI,minuspercent___system_716)2081 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2082 NI result;
2083 result = (NI)0;
2084 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
2085 return result;
2086 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5262)2087 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr) {
2088 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2089 NI T1_;
2090 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2091 T1_ = (NI)0;
2092 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
2093 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2094 return result;
2095 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2096 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2097 NIM_BOOL result;
2098 result = (NIM_BOOL)0;
2099 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
2100 return result;
2101 }
N_INLINE(void,rtlAddZCT__system_5305)2102 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2103 addZCT__system_5256((&gch__system_5209.zct), c);
2104 }
N_INLINE(void,decRef__system_5307)2105 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2106 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2107 {
2108 NIM_BOOL T3_;
2109 T3_ = (NIM_BOOL)0;
2110 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2111 if (!T3_) goto LA4_;
2112 rtlAddZCT__system_5305(c);
2113 }
2114 LA4_: ;
2115 }
N_INLINE(void,asgnRef)2116 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2117 {
2118 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2119 if (!!((src == NIM_NIL))) goto LA3_;
2120 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2121 T5_ = usrToCell__system_5262(src);
2122 incRef__system_5300(T5_);
2123 }
2124 LA3_: ;
2125 {
2126 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2127 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2128 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2129 T10_ = usrToCell__system_5262((*dest));
2130 decRef__system_5307(T10_);
2131 }
2132 LA8_: ;
2133 (*dest) = src;
2134 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)2135 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2136 NIM_BOOL result;
2137 NIM_BOOL T1_;
2138 NIM_BOOL T3_;
2139 result = (NIM_BOOL)0;
2140 T1_ = (NIM_BOOL)0;
2141 T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
2142 if (T1_) goto LA2_;
2143 T3_ = (NIM_BOOL)0;
2144 T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2145 if (!(T3_)) goto LA4_;
2146 T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
2147 LA4_: ;
2148 T1_ = T3_;
2149 LA2_: ;
2150 result = T1_;
2151 return result;
2152 }
N_NIMCALL(void,gABx__vmgen_375)2153 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx) {
2154 {
2155 NIM_BOOL T3_;
2156 NU64 ins;
2157 NI T7_;
2158 NI T8_;
2159 T3_ = (NIM_BOOL)0;
2160 T3_ = (((NI) -8388608) <= bx);
2161 if (!(T3_)) goto LA4_;
2162 T3_ = (bx <= ((NI) 8388607));
2163 LA4_: ;
2164 if (!T3_) goto LA5_;
2165 ins = (NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) ((NI)(bx + ((NI) 8388608))))) << (NU64)(24ULL)));
2166 asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2167 T7_ = (*c).code->Sup.len++;
2168 (*c).code->data[T7_] = ins;
2169 asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2170 T8_ = (*c).debug->Sup.len++;
2171 (*c).debug->data[T8_] = (*n).info;
2172 }
2173 goto LA1_;
2174 LA5_: ;
2175 {
2176 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_2), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_3, NIM_FALSE);
2177 }
2178 LA1_: ;
2179 }
N_NIMCALL(NI,xjmp__vmgen_398)2180 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a) {
2181 NI result;
2182 NI T1_;
2183 result = (NI)0;
2184 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
2185 result = T1_;
2186 gABx__vmgen_375(c, n, opc, a, ((NI) 0));
2187 return result;
2188 }
N_INLINE(void,nimGCunrefRC1)2189 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2190 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2191 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2192 T1_ = usrToCell__system_5262(p);
2193 decRef__system_5307(T1_);
2194 }
N_INLINE(NI,len__ast_3198)2195 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2196 NI result;
2197 NI T1_;
2198 result = (NI)0;
2199 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2200 result = T1_;
2201 return result;
2202 }
N_NIMCALL(void,genParams__vmgen_3318)2203 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params) {
2204 NI T1_;
2205 NIM_BOOL colontmp_;
2206 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__2;
2207 T1_ = (NI)0;
2208 T1_ = len__ast_3198(params);
2209 asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) (((T1_ >= ((NI) 1)) ? T1_ : ((NI) 1))))));
2210 colontmp_ = NIM_TRUE;
2211 colontmp__2 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
2212 (*(*c).prc).regInfo->data[((NI) 0)].Field0 = colontmp_;
2213 (*(*c).prc).regInfo->data[((NI) 0)].Field1 = colontmp__2;
2214 {
2215 NI i;
2216 NI colontmp__3;
2217 NI i_2;
2218 i = (NI)0;
2219 colontmp__3 = (NI)0;
2220 colontmp__3 = len__ast_3198(params);
2221 i_2 = ((NI) 1);
2222 {
2223 while (1) {
2224 NIM_BOOL colontmp__4;
2225 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__5;
2226 if (!(i_2 < colontmp__3)) goto LA4;
2227 i = i_2;
2228 colontmp__4 = NIM_TRUE;
2229 colontmp__5 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2230 (*(*c).prc).regInfo->data[i].Field0 = colontmp__4;
2231 (*(*c).prc).regInfo->data[i].Field1 = colontmp__5;
2232 i_2 += ((NI) 1);
2233 } LA4: ;
2234 }
2235 }
2236 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)2237 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2238 NIM_BOOL result;
2239 NIM_BOOL T1_;
2240 result = (NIM_BOOL)0;
2241 T1_ = (NIM_BOOL)0;
2242 T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2243 if (!(T1_)) goto LA2_;
2244 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
2245 LA2_: ;
2246 result = T1_;
2247 return result;
2248 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)2249 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2250 NIM_BOOL result;
2251 NIM_BOOL T1_;
2252 NIM_BOOL T2_;
2253 result = (NIM_BOOL)0;
2254 T1_ = (NIM_BOOL)0;
2255 T2_ = (NIM_BOOL)0;
2256 T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2257 if (!(T2_)) goto LA3_;
2258 T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
2259 LA3_: ;
2260 T1_ = T2_;
2261 if (!(T1_)) goto LA4_;
2262 T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
2263 LA4_: ;
2264 result = T1_;
2265 return result;
2266 }
N_INLINE(NIM_BOOL,isGenericRoutineStrict__ast_4639)2267 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2268 NIM_BOOL result;
2269 NIM_BOOL T1_;
2270 result = (NIM_BOOL)0;
2271 T1_ = (NIM_BOOL)0;
2272 T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2273 if (!(T1_)) goto LA2_;
2274 T1_ = isGenericRoutine__ast_4627((*s).ast);
2275 LA2_: ;
2276 result = T1_;
2277 return result;
2278 }
N_NIMCALL(void,genGenericParams__vmgen_3361)2279 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp) {
2280 NI base;
2281 NI T1_;
2282 NI T2_;
2283 T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
2284 base = T1_;
2285 T2_ = (NI)0;
2286 T2_ = len__ast_3198(gp);
2287 asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(base + T2_)))));
2288 {
2289 NI i;
2290 NI colontmp_;
2291 NI i_2;
2292 i = (NI)0;
2293 colontmp_ = (NI)0;
2294 colontmp_ = len__ast_3198(gp);
2295 i_2 = ((NI) 0);
2296 {
2297 while (1) {
2298 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
2299 NIM_BOOL colontmp__2;
2300 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
2301 if (!(i_2 < colontmp_)) goto LA5;
2302 i = i_2;
2303 param = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
2304 (*param).position = (NI)(base + i);
2305 colontmp__2 = NIM_TRUE;
2306 colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2307 (*(*c).prc).regInfo->data[(NI)(base + i)].Field0 = colontmp__2;
2308 (*(*c).prc).regInfo->data[(NI)(base + i)].Field1 = colontmp__3;
2309 i_2 += ((NI) 1);
2310 } LA5: ;
2311 }
2312 }
2313 }
N_INLINE(NIM_BOOL,importcCondVar__vmgen_2257)2314 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2315 NIM_BOOL result;
2316 { result = (NIM_BOOL)0;
2317 {
2318 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2319 result = ((1792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2320 goto BeforeRet_;
2321 }
2322 LA3_: ;
2323 }BeforeRet_: ;
2324 return result;
2325 }
N_NIMCALL(NIM_BOOL,isOwnedBy__vmgen_2234)2326 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
2327 NIM_BOOL result;
2328 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a_2;
2329 { result = (NIM_BOOL)0;
2330 a_2 = (*a).owner;
2331 {
2332 while (1) {
2333 NIM_BOOL T3_;
2334 T3_ = (NIM_BOOL)0;
2335 T3_ = !((a_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2336 if (!(T3_)) goto LA4_;
2337 T3_ = !(((*a_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2338 LA4_: ;
2339 if (!T3_) goto LA2;
2340 {
2341 if (!(a_2 == b)) goto LA7_;
2342 result = NIM_TRUE;
2343 goto BeforeRet_;
2344 }
2345 LA7_: ;
2346 a_2 = (*a_2).owner;
2347 } LA2: ;
2348 }
2349 }BeforeRet_: ;
2350 return result;
2351 }
N_INLINE(void,nimCopyMem)2352 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2353 void* T1_;
2354 T1_ = (void*)0;
2355 T1_ = memcpy(dest, source, ((size_t) (size)));
2356 }
N_INLINE(void,copyMem__system_1727)2357 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2358 nimCopyMem(dest, source, size);
2359 }
N_INLINE(void,appendString)2360 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2361 {
2362 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2363 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2364 (*dest).Sup.len += (*src).Sup.len;
2365 }
2366 LA3_: ;
2367 }
N_NOINLINE(void,cannotEval__vmgen_2231)2368 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2369 NimStringDesc* T1_;
2370 NimStringDesc* T2_;
2371 T1_ = NIM_NIL;
2372 T2_ = NIM_NIL;
2373 T2_ = renderTree__renderer_46(n, 0);
2374 T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 33);
2375 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_6));
2376 appendString(T1_, T2_);
2377 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_7, NIM_FALSE);
2378 }
N_NIMCALL(void,checkCanEval__vmgen_2268)2379 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2380 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2381 { s = (*n)._kind_4.sym;
2382 {
2383 if (!((268435464 & ~ (*s).flags)==0)) goto LA3_;
2384 goto BeforeRet_;
2385 }
2386 LA3_: ;
2387 {
2388 NIM_BOOL T7_;
2389 T7_ = (NIM_BOOL)0;
2390 T7_ = importcCondVar__vmgen_2257(s);
2391 if (!T7_) goto LA8_;
2392 goto BeforeRet_;
2393 }
2394 LA8_: ;
2395 {
2396 NIM_BOOL T12_;
2397 NIM_BOOL T13_;
2398 NIM_BOOL T14_;
2399 NIM_BOOL T16_;
2400 T12_ = (NIM_BOOL)0;
2401 T13_ = (NIM_BOOL)0;
2402 T14_ = (NIM_BOOL)0;
2403 T14_ = ((2856 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2404 if (!(T14_)) goto LA15_;
2405 T16_ = (NIM_BOOL)0;
2406 T16_ = isOwnedBy__vmgen_2234(s, (*(*c).prc).sym);
2407 T14_ = !(T16_);
2408 LA15_: ;
2409 T13_ = T14_;
2410 if (!(T13_)) goto LA17_;
2411 T13_ = !(((*s).owner == (*c).module));
2412 LA17_: ;
2413 T12_ = T13_;
2414 if (!(T12_)) goto LA18_;
2415 T12_ = !(((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0)));
2416 LA18_: ;
2417 if (!T12_) goto LA19_;
2418 {
2419 NIM_BOOL T23_;
2420 T23_ = (NIM_BOOL)0;
2421 T23_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
2422 if (!(T23_)) goto LA24_;
2423 T23_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
2424 LA24_: ;
2425 if (!T23_) goto LA25_;
2426 }
2427 goto LA21_;
2428 LA25_: ;
2429 {
2430 cannotEval__vmgen_2231(c, n);
2431 }
2432 LA21_: ;
2433 }
2434 goto LA10_;
2435 LA19_: ;
2436 {
2437 NIM_BOOL T29_;
2438 T29_ = (NIM_BOOL)0;
2439 T29_ = ((126976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2440 if (!(T29_)) goto LA30_;
2441 T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
2442 LA30_: ;
2443 if (!T29_) goto LA31_;
2444 cannotEval__vmgen_2231(c, n);
2445 }
2446 goto LA10_;
2447 LA31_: ;
2448 LA10_: ;
2449 }BeforeRet_: ;
2450 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)2451 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2452 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2453 result = NIM_NIL;
2454 result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
2455 {
2456 NIM_BOOL T3_;
2457 T3_ = (NIM_BOOL)0;
2458 T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2459 if (!(T3_)) goto LA4_;
2460 T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
2461 LA4_: ;
2462 if (!T3_) goto LA5_;
2463 result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
2464 asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
2465 }
2466 LA5_: ;
2467 return result;
2468 }
N_INLINE(NIM_BOOL,importcCond__vmgen_2412)2469 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2470 NIM_BOOL result;
2471 { result = (NIM_BOOL)0;
2472 {
2473 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2474 {
2475 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
2476 if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
2477 T9_ = NIM_NIL;
2478 T9_ = getBody__modulegraphs_11241((*c).graph, s);
2479 result = ((*T9_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2480 goto BeforeRet_;
2481 }
2482 LA7_: ;
2483 }
2484 LA3_: ;
2485 }BeforeRet_: ;
2486 return result;
2487 }
N_NIMCALL(void,importcSym__vmgen_2428)2488 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2489 NimStringDesc* T1_;
2490 T1_ = NIM_NIL;
2491 T1_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 43);
2492 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_8));
2493 appendString(T1_, (*(*s).name).s);
2494 liMessage__msgs_1118((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_9, NIM_FALSE);
2495 }
N_INLINE(NI,len__ast_4002)2496 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2497 NI result;
2498 NI T1_;
2499 result = (NI)0;
2500 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2501 result = T1_;
2502 return result;
2503 }
N_NIMCALL(void,getNullValueAux__vmgen_2711)2504 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition) {
2505 {
2506 NIM_BOOL T3_;
2507 NIM_BOOL T4_;
2508 NI T6_;
2509 tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
2510 T3_ = (NIM_BOOL)0;
2511 T4_ = (NIM_BOOL)0;
2512 T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2513 if (!(T4_)) goto LA5_;
2514 T6_ = (NI)0;
2515 T6_ = len__ast_4002(t);
2516 T4_ = (((NI) 0) < T6_);
2517 LA5_: ;
2518 T3_ = T4_;
2519 if (!(T3_)) goto LA7_;
2520 T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2521 LA7_: ;
2522 if (!T3_) goto LA8_;
2523 b = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__24XApAWKNvaMkcyklm8bNA_11);
2524 getNullValueAux__vmgen_2711(b, (*b).n, result, conf, currPosition);
2525 }
2526 LA8_: ;
2527 switch ((*obj).kind) {
2528 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
2529 {
2530 {
2531 NI i;
2532 NI colontmp_;
2533 NI i_2;
2534 i = (NI)0;
2535 colontmp_ = (NI)0;
2536 colontmp_ = len__ast_3198(obj);
2537 i_2 = ((NI) 0);
2538 {
2539 while (1) {
2540 if (!(i_2 < colontmp_)) goto LA13;
2541 i = i_2;
2542 getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[i], result, conf, currPosition);
2543 i_2 += ((NI) 1);
2544 } LA13: ;
2545 }
2546 }
2547 }
2548 break;
2549 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
2550 {
2551 getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[((NI) 0)], result, conf, currPosition);
2552 {
2553 NI i_3;
2554 NI colontmp__2;
2555 NI i_4;
2556 i_3 = (NI)0;
2557 colontmp__2 = (NI)0;
2558 colontmp__2 = len__ast_3198(obj);
2559 i_4 = ((NI) 1);
2560 {
2561 while (1) {
2562 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
2563 if (!(i_4 < colontmp__2)) goto LA17;
2564 i_3 = i_4;
2565 T18_ = NIM_NIL;
2566 T18_ = lastSon__ast_4832((*obj)._kind_6.sons->data[i_3]);
2567 getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), T18_, result, conf, currPosition);
2568 i_4 += ((NI) 1);
2569 } LA17: ;
2570 }
2571 }
2572 }
2573 break;
2574 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2575 {
2576 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
2577 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
2578 field = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), (*result).info);
2579 add__ast_4797(field, obj);
2580 T20_ = NIM_NIL;
2581 T20_ = getNullValue__vmgen_2432((*(*obj)._kind_4.sym).typ, (*result).info, conf);
2582 add__ast_4797(field, T20_);
2583 add__ast_4797(result, field);
2584 {
2585 if (!!(((*(*obj)._kind_4.sym).position == (*currPosition)))) goto LA23_;
2586 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_12));
2587 }
2588 LA23_: ;
2589 (*currPosition) += ((NI) 1);
2590 }
2591 break;
2592 default:
2593 {
2594 NimStringDesc* T26_;
2595 NimStringDesc* T27_;
2596 T26_ = NIM_NIL;
2597 T27_ = NIM_NIL;
2598 T27_ = dollar___renderer_2106(obj);
2599 T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 32);
2600 appendString(T26_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2601 appendString(T26_, T27_);
2602 liMessage__msgs_1118(conf, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_14, NIM_FALSE);
2603 }
2604 break;
2605 }
2606 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getNullValue__vmgen_2432)2607 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2608 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2609 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2610 result = NIM_NIL;
2611 t = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_10);
2612 switch ((*t).kind) {
2613 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2614 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2615 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2616 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2617 {
2618 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), info, t);
2619 }
2620 break;
2621 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2622 {
2623 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11), info, t);
2624 }
2625 break;
2626 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2627 {
2628 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), info, t);
2629 }
2630 break;
2631 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2632 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2633 {
2634 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), info, t);
2635 asgnRef((void**) (&(*result)._kind_3.strVal), ((NimStringDesc*) NIM_NIL));
2636 }
2637 break;
2638 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2639 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2640 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
2641 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2642 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
2643 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
2644 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2645 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2646 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2647 {
2648 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2649 }
2650 break;
2651 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
2652 {
2653 {
2654 if (!!(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA9_;
2655 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2656 }
2657 goto LA7_;
2658 LA9_: ;
2659 {
2660 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
2661 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
2662 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2663 T12_ = NIM_NIL;
2664 T12_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2665 add__ast_4797(result, T12_);
2666 T13_ = NIM_NIL;
2667 T13_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2668 add__ast_4797(result, T13_);
2669 }
2670 LA7_: ;
2671 }
2672 break;
2673 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
2674 {
2675 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2676 NI currPosition;
2677 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info, t);
2678 T15_ = NIM_NIL;
2679 T15_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info, t);
2680 add__ast_4797(result, T15_);
2681 currPosition = ((NI) 0);
2682 getNullValueAux__vmgen_2711(t, (*t).n, result, conf, (&currPosition));
2683 }
2684 break;
2685 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2686 {
2687 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2688 {
2689 NI i;
2690 NI colontmp_;
2691 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
2692 NI i_2;
2693 i = (NI)0;
2694 colontmp_ = (NI)0;
2695 T18_ = lengthOrd__types_1652(conf, t);
2696 colontmp_ = toInt__int495056_170(T18_);
2697 i_2 = ((NI) 0);
2698 {
2699 while (1) {
2700 tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
2701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
2702 if (!(i_2 < colontmp_)) goto LA20;
2703 i = i_2;
2704 T21_ = NIM_NIL;
2705 T21_ = elemType__types_263(t);
2706 T22_ = NIM_NIL;
2707 T22_ = getNullValue__vmgen_2432(T21_, info, conf);
2708 add__ast_4797(result, T22_);
2709 i_2 += ((NI) 1);
2710 } LA20: ;
2711 }
2712 }
2713 }
2714 break;
2715 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
2716 {
2717 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2718 {
2719 NI i_3;
2720 NI colontmp__2;
2721 NI i_4;
2722 i_3 = (NI)0;
2723 colontmp__2 = (NI)0;
2724 colontmp__2 = len__ast_4002(t);
2725 i_4 = ((NI) 0);
2726 {
2727 while (1) {
2728 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
2729 if (!(i_4 < colontmp__2)) goto LA26;
2730 i_3 = i_4;
2731 T27_ = NIM_NIL;
2732 T27_ = getNullValue__vmgen_2432((*t).sons->data[i_3], info, conf);
2733 add__ast_4797(result, T27_);
2734 i_4 += ((NI) 1);
2735 } LA26: ;
2736 }
2737 }
2738 }
2739 break;
2740 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
2741 {
2742 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), info, t);
2743 }
2744 break;
2745 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
2746 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
2747 {
2748 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2749 }
2750 break;
2751 default:
2752 {
2753 NimStringDesc* T31_;
2754 T31_ = NIM_NIL;
2755 T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 32);
2756 appendString(T31_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2757 appendString(T31_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
2758 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_15, NIM_FALSE);
2759 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
2760 }
2761 break;
2762 }
2763 return result;
2764 }
N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ,getSlotKind__vmgen_451)2765 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2766 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ result;
2767 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2768 result = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
2769 T1_ = NIM_NIL;
2770 T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_17);
2771 switch ((*T1_).kind) {
2772 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2773 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2774 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2775 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2776 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2777 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2778 {
2779 result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 4);
2780 }
2781 break;
2782 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2783 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2784 {
2785 result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6);
2786 }
2787 break;
2788 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2789 {
2790 result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 5);
2791 }
2792 break;
2793 default:
2794 {
2795 result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2796 }
2797 break;
2798 }
2799 return result;
2800 }
N_INLINE(void,nimSetMem__systemZmemory_7)2801 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2802 void* T1_;
2803 T1_ = (void*)0;
2804 T1_ = memset(a, v, ((size_t) (size)));
2805 }
N_INLINE(void,nimZeroMem)2806 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2807 nimSetMem__systemZmemory_7(p, ((int) 0), size);
2808 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,bestEffort__vmgen_468)2809 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
2810 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
2811 nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
2812 {
2813 NIM_BOOL T3_;
2814 T3_ = (NIM_BOOL)0;
2815 T3_ = !(((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL)));
2816 if (!(T3_)) goto LA4_;
2817 T3_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2818 LA4_: ;
2819 if (!T3_) goto LA5_;
2820 result = (*(*(*c).prc).sym).info;
2821 }
2822 goto LA1_;
2823 LA5_: ;
2824 {
2825 result = (*(*c).module).info;
2826 }
2827 LA1_: ;
2828 return result;
2829 }
N_NIMCALL(NI,getFreeRegister__vmgen_479)2830 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start) {
2831 NI result;
2832 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
2833 NI T30_;
2834 NIM_BOOL colontmp__5;
2835 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
2836 { result = (NI)0;
2837 c = (*cc).prc;
2838 {
2839 NI i;
2840 NI colontmp_;
2841 NI T2_;
2842 NI res;
2843 i = (NI)0;
2844 colontmp_ = (NI)0;
2845 T2_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2846 colontmp_ = (NI)(T2_ - ((NI) 1));
2847 res = start;
2848 {
2849 while (1) {
2850 if (!(res <= colontmp_)) goto LA4;
2851 i = res;
2852 {
2853 NIM_BOOL T7_;
2854 T7_ = (NIM_BOOL)0;
2855 T7_ = ((*c).regInfo->data[i].Field1 == k);
2856 if (!(T7_)) goto LA8_;
2857 T7_ = !((*c).regInfo->data[i].Field0);
2858 LA8_: ;
2859 if (!T7_) goto LA9_;
2860 (*c).regInfo->data[i].Field0 = NIM_TRUE;
2861 result = ((NI) (i));
2862 goto BeforeRet_;
2863 }
2864 LA9_: ;
2865 res += ((NI) 1);
2866 } LA4: ;
2867 }
2868 }
2869 {
2870 NI T13_;
2871 T13_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2872 if (!(((NI) 65535) <= T13_)) goto LA14_;
2873 {
2874 NI i_2;
2875 NI colontmp__2;
2876 NI T17_;
2877 NI res_2;
2878 i_2 = (NI)0;
2879 colontmp__2 = (NI)0;
2880 T17_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2881 colontmp__2 = (NI)(T17_ - ((NI) 1));
2882 res_2 = start;
2883 {
2884 while (1) {
2885 if (!(res_2 <= colontmp__2)) goto LA19;
2886 i_2 = res_2;
2887 {
2888 NIM_BOOL colontmp__3;
2889 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__4;
2890 if (!!((*c).regInfo->data[i_2].Field0)) goto LA22_;
2891 colontmp__3 = NIM_TRUE;
2892 colontmp__4 = k;
2893 (*c).regInfo->data[i_2].Field0 = colontmp__3;
2894 (*c).regInfo->data[i_2].Field1 = colontmp__4;
2895 result = ((NI) (i_2));
2896 goto BeforeRet_;
2897 }
2898 LA22_: ;
2899 res_2 += ((NI) 1);
2900 } LA19: ;
2901 }
2902 }
2903 }
2904 LA14_: ;
2905 {
2906 NI T26_;
2907 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T29_;
2908 T26_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2909 if (!(((NI) 65535) <= T26_)) goto LA27_;
2910 T29_ = bestEffort__vmgen_468(cc);
2911 liMessage__msgs_1118((*cc).config, T29_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_19, NIM_FALSE);
2912 }
2913 LA27_: ;
2914 T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2915 result = ((NI) (((T30_ >= start) ? T30_ : start)));
2916 asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(((NI) (result)) + ((NI) 1))))));
2917 colontmp__5 = NIM_TRUE;
2918 colontmp__6 = k;
2919 (*c).regInfo->data[result].Field0 = colontmp__5;
2920 (*c).regInfo->data[result].Field1 = colontmp__6;
2921 }BeforeRet_: ;
2922 return result;
2923 }
N_NIMCALL(NI,getTemp__vmgen_541)2924 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt) {
2925 NI result;
2926 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
2927 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k;
2928 result = (NI)0;
2929 typ = skipTypesOrNil__ast_4185(tt, TM__24XApAWKNvaMkcyklm8bNA_16);
2930 {
2931 if (!(typ == 0)) goto LA3_;
2932 k = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2933 }
2934 goto LA1_;
2935 LA3_: ;
2936 {
2937 k = getSlotKind__vmgen_451(typ);
2938 }
2939 LA1_: ;
2940 result = getFreeRegister__vmgen_479(cc, k, ((NI) 0));
2941 return result;
2942 }
N_NIMCALL(NI,genx__vmgen_712)2943 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
2944 NI result;
2945 NI tmp;
2946 result = (NI)0;
2947 tmp = ((NI) -1);
2948 gen__vmgen_687(c, n, (&tmp), flags);
2949 {
2950 if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
2951 result = ((NI) (tmp));
2952 }
2953 LA3_: ;
2954 return result;
2955 }
N_NIMCALL(void,gABC__vmgen_312)2956 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c) {
2957 NU64 ins;
2958 NI T1_;
2959 NI T2_;
2960 ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) (c))) << (NU64)(40ULL)));
2961 asgnRef((void**) (&(*ctx).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*ctx).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2962 T1_ = (*ctx).code->Sup.len++;
2963 (*ctx).code->data[T1_] = ins;
2964 asgnRef((void**) (&(*ctx).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*ctx).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2965 T2_ = (*ctx).debug->Sup.len++;
2966 (*ctx).debug->data[T2_] = (*n).info;
2967 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,whichAsgnOpc__vmgen_1846)2968 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy) {
2969 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
2970 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2971 result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
2972 T1_ = NIM_NIL;
2973 T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
2974 switch ((*T1_).kind) {
2975 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2976 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2977 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2978 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2979 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2980 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2981 {
2982 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4);
2983 }
2984 break;
2985 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2986 {
2987 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 5);
2988 }
2989 break;
2990 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2991 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2992 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2993 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2994 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2995 {
2996 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 6);
2997 }
2998 break;
2999 default:
3000 {
3001 {
3002 if (!requiresCopy) goto LA8_;
3003 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 7);
3004 }
3005 goto LA6_;
3006 LA8_: ;
3007 {
3008 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 14);
3009 }
3010 LA6_: ;
3011 }
3012 break;
3013 }
3014 return result;
3015 }
N_NIMCALL(void,freeTemp__vmgen_550)3016 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r) {
3017 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c_2;
3018 c_2 = (*c).prc;
3019 {
3020 if (!((248 &((NU16)1<<((NU)((*c_2).regInfo->data[r].Field1)&15U)))!=0)) goto LA3_;
3021 (*c_2).regInfo->data[r].Field0 = NIM_FALSE;
3022 }
3023 LA3_: ;
3024 }
N_NIMCALL(void,genAdditionalCopy__vmgen_2307)3025 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
3026 NI cc;
3027 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
3028 cc = getTemp__vmgen_541(c, (*n).typ);
3029 T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3030 T1_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
3031 gABC__vmgen_312(c, n, T1_, cc, value, ((NI) 0));
3032 gABC__vmgen_312(c, n, opc, dest, idx, cc);
3033 freeTemp__vmgen_550(c, cc);
3034 }
N_NIMCALL(void,genGlobalInit__vmgen_2436)3035 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3036 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3037 NI dest;
3038 T1_ = NIM_NIL;
3039 T1_ = getNullValue__vmgen_2432((*s).typ, (*n).info, (*c).config);
3040 add__ast_4797((*c).globals, T1_);
3041 (*s).position = len__ast_3198((*c).globals);
3042 dest = getTemp__vmgen_541(c, (*s).typ);
3043 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), dest, (*s).position);
3044 {
3045 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
3046 NI tmp;
3047 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
3048 T4_ = NIM_NIL;
3049 T4_ = astdef__ast_3483(s);
3050 if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
3051 T7_ = NIM_NIL;
3052 T7_ = astdef__ast_3483(s);
3053 tmp = genx__vmgen_712(c, T7_, 0);
3054 genAdditionalCopy__vmgen_2307(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest, ((NI) 0), tmp);
3055 freeTemp__vmgen_550(c, dest);
3056 freeTemp__vmgen_550(c, tmp);
3057 }
3058 LA5_: ;
3059 }
N_NIMCALL(NIM_BOOL,fitsRegister__vmgen_1814)3060 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3061 NIM_BOOL result;
3062 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3063 result = (NIM_BOOL)0;
3064 T1_ = NIM_NIL;
3065 T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_20);
3066 result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
3067 return result;
3068 }
N_NIMCALL(void,setSlot__vmgen_2224)3069 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
3070 {
3071 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ T5_;
3072 NI T11_;
3073 if (!((*v).position == ((NI) 0))) goto LA3_;
3074 T5_ = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
3075 {
3076 if (!((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9))) goto LA8_;
3077 T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
3078 }
3079 goto LA6_;
3080 LA8_: ;
3081 {
3082 T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
3083 }
3084 LA6_: ;
3085 T11_ = (NI)0;
3086 T11_ = getFreeRegister__vmgen_479(c, T5_, ((NI) 1));
3087 (*v).position = ((NI) (T11_));
3088 }
3089 LA3_: ;
3090 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)3091 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
3092 addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
3093 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)3094 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
3095 NimStringDesc* result;
3096 result = NIM_NIL;
3097 result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
3098 appendString(result, info.Field0);
3099 {
3100 if (!(((NI) 0) < info.Field1)) goto LA3_;
3101 result = resizeString(result, 1);
3102 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_21));
3103 addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
3104 {
3105 if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
3106 result = resizeString(result, 2);
3107 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_22));
3108 addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
3109 }
3110 LA7_: ;
3111 result = resizeString(result, 1);
3112 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_23));
3113 }
3114 LA3_: ;
3115 return result;
3116 }
N_NIMCALL(void,genAsgn__vmgen_2215)3117 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
3118 NI tmp;
3119 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
3120 tmp = genx__vmgen_712(c, ri, 0);
3121 T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3122 T1_ = whichAsgnOpc__vmgen_1846(ri, requiresCopy);
3123 gABC__vmgen_312(c, ri, T1_, ((NI) (dest)), tmp, ((NI) 0));
3124 freeTemp__vmgen_550(c, tmp);
3125 }
N_NIMCALL(void,genRdVar__vmgen_2453)3126 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3127 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3128 s = (*n)._kind_4.sym;
3129 {
3130 NIM_BOOL T3_;
3131 NIM_BOOL isImportcVar;
3132 T3_ = (NIM_BOOL)0;
3133 T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
3134 if (!(T3_)) goto LA4_;
3135 T3_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
3136 LA4_: ;
3137 if (!T3_) goto LA5_;
3138 isImportcVar = importcCondVar__vmgen_2257(s);
3139 {
3140 NIM_BOOL T9_;
3141 NIM_BOOL T10_;
3142 T9_ = (NIM_BOOL)0;
3143 T10_ = (NIM_BOOL)0;
3144 T10_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
3145 if (T10_) goto LA11_;
3146 T10_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3147 LA11_: ;
3148 T9_ = T10_;
3149 if (T9_) goto LA12_;
3150 T9_ = isImportcVar;
3151 LA12_: ;
3152 if (!T9_) goto LA13_;
3153 }
3154 goto LA7_;
3155 LA13_: ;
3156 {
3157 if (!((*s).position == ((NI) 0))) goto LA16_;
3158 cannotEval__vmgen_2231(c, n);
3159 }
3160 goto LA7_;
3161 LA16_: ;
3162 LA7_: ;
3163 {
3164 if (!((*s).position == ((NI) 0))) goto LA20_;
3165 {
3166 NIM_BOOL T24_;
3167 T24_ = (NIM_BOOL)0;
3168 T24_ = importcCond__vmgen_2412(c, s);
3169 if (T24_) goto LA25_;
3170 T24_ = isImportcVar;
3171 LA25_: ;
3172 if (!T24_) goto LA26_;
3173 importcSym__vmgen_2428(c, (*n).info, s);
3174 }
3175 goto LA22_;
3176 LA26_: ;
3177 {
3178 genGlobalInit__vmgen_2436(c, n, s);
3179 }
3180 LA22_: ;
3181 }
3182 LA20_: ;
3183 {
3184 NI T33_;
3185 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA31_;
3186 T33_ = (NI)0;
3187 T33_ = getTemp__vmgen_541(c, (*n).typ);
3188 (*dest) = ((NI) (T33_));
3189 }
3190 LA31_: ;
3191 {
3192 if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA36_;
3193 {
3194 if (!isImportcVar) goto LA40_;
3195 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 179), ((NI) ((*dest))), (*s).position);
3196 }
3197 goto LA38_;
3198 LA40_: ;
3199 {
3200 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 177), ((NI) ((*dest))), (*s).position);
3201 }
3202 LA38_: ;
3203 }
3204 goto LA34_;
3205 LA36_: ;
3206 {
3207 if (!isImportcVar) goto LA44_;
3208 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 178), ((NI) ((*dest))), (*s).position);
3209 }
3210 goto LA34_;
3211 LA44_: ;
3212 {
3213 NIM_BOOL T47_;
3214 NI cc;
3215 T47_ = (NIM_BOOL)0;
3216 T47_ = fitsRegister__vmgen_1814((*s).typ);
3217 if (!(T47_)) goto LA48_;
3218 T47_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 0))&7U)))!=0));
3219 LA48_: ;
3220 if (!T47_) goto LA49_;
3221 cc = getTemp__vmgen_541(c, (*n).typ);
3222 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), cc, (*s).position);
3223 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
3224 freeTemp__vmgen_550(c, cc);
3225 }
3226 goto LA34_;
3227 LA49_: ;
3228 {
3229 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), ((NI) ((*dest))), (*s).position);
3230 }
3231 LA34_: ;
3232 }
3233 goto LA1_;
3234 LA5_: ;
3235 {
3236 {
3237 NIM_BOOL T55_;
3238 T55_ = (NIM_BOOL)0;
3239 T55_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
3240 if (!(T55_)) goto LA56_;
3241 T55_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3242 LA56_: ;
3243 if (!T55_) goto LA57_;
3244 setSlot__vmgen_2224(c, s);
3245 }
3246 LA57_: ;
3247 {
3248 NIM_BOOL T61_;
3249 NIM_BOOL T63_;
3250 T61_ = (NIM_BOOL)0;
3251 T61_ = (((NI) 0) < (*s).position);
3252 if (T61_) goto LA62_;
3253 T63_ = (NIM_BOOL)0;
3254 T63_ = ((*s).position == ((NI) 0));
3255 if (!(T63_)) goto LA64_;
3256 T63_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3257 LA64_: ;
3258 T61_ = T63_;
3259 LA62_: ;
3260 if (!T61_) goto LA65_;
3261 {
3262 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA69_;
3263 (*dest) = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
3264 {
3265 NimStringDesc* argX60gensym442_;
3266 if (!!(((*(*c).prc).regInfo->data[(*dest)].Field1 < ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3)))) goto LA73_;
3267 argX60gensym442_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_24);
3268 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym442_, TM__24XApAWKNvaMkcyklm8bNA_24);
3269 }
3270 LA73_: ;
3271 }
3272 goto LA67_;
3273 LA69_: ;
3274 {
3275 NIM_BOOL requiresCopy;
3276 NIM_BOOL T76_;
3277 T76_ = (NIM_BOOL)0;
3278 T76_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[(*dest)].Field1);
3279 if (!(T76_)) goto LA77_;
3280 T76_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 2))&7U)))!=0));
3281 LA77_: ;
3282 requiresCopy = T76_;
3283 genAsgn__vmgen_2215(c, (*dest), n, requiresCopy);
3284 }
3285 LA67_: ;
3286 }
3287 goto LA59_;
3288 LA65_: ;
3289 {
3290 cannotEval__vmgen_2231(c, n);
3291 }
3292 LA59_: ;
3293 }
3294 LA1_: ;
3295 }
N_INLINE(NimStringDesc *,X5BX5D___vmgen_3076)3296 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i) {
3297 NimStringDesc* result;
3298 result = NIM_NIL;
3299 result = copyString(s[(NI)(sLen_0 - i)]);
3300 return result;
3301 }
N_INLINE(int,nimCmpMem)3302 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3303 int result;
3304 result = (int)0;
3305 result = memcmp(a, b, ((size_t) (size)));
3306 return result;
3307 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3308 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3309 NIM_BOOL result;
3310 int T1_;
3311 result = (NIM_BOOL)0;
3312 T1_ = (int)0;
3313 T1_ = nimCmpMem(a, b, size);
3314 result = (T1_ == ((NI32) 0));
3315 return result;
3316 }
N_INLINE(NIM_BOOL,eqStrings)3317 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3318 NIM_BOOL result;
3319 NI alen;
3320 NI blen;
3321 { result = (NIM_BOOL)0;
3322 alen = (a ? a->Sup.len : 0);
3323 blen = (b ? b->Sup.len : 0);
3324 {
3325 if (!(alen == blen)) goto LA3_;
3326 {
3327 if (!(alen == ((NI) 0))) goto LA7_;
3328 result = NIM_TRUE;
3329 goto BeforeRet_;
3330 }
3331 LA7_: ;
3332 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3333 goto BeforeRet_;
3334 }
3335 LA3_: ;
3336 }BeforeRet_: ;
3337 return result;
3338 }
N_NIMCALL(NIM_BOOL,matches__vmgen_3058)3339 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x) {
3340 NIM_BOOL result;
3341 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* y;
3342 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3343 { result = (NIM_BOOL)0;
3344 y = nsuSplitChar(x, 46, ((NI) -1));
3345 s_2 = s;
3346 {
3347 NI i;
3348 NI colontmp_;
3349 NI T2_;
3350 NI res;
3351 i = (NI)0;
3352 colontmp_ = (NI)0;
3353 T2_ = (y ? y->Sup.len : 0);
3354 colontmp_ = T2_;
3355 res = ((NI) 1);
3356 {
3357 while (1) {
3358 if (!(res <= colontmp_)) goto LA4;
3359 i = res;
3360 {
3361 NIM_BOOL T7_;
3362 NIM_BOOL T9_;
3363 NimStringDesc* T10_;
3364 NI T11_;
3365 NimStringDesc* T13_;
3366 T7_ = (NIM_BOOL)0;
3367 T7_ = (s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3368 if (T7_) goto LA8_;
3369 T9_ = (NIM_BOOL)0;
3370 T10_ = NIM_NIL;
3371 T10_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3372 T11_ = (NI)0;
3373 T11_ = nsuCmpIgnoreStyle(T10_, (*(*s_2).name).s);
3374 T9_ = !((T11_ == ((NI) 0)));
3375 if (!(T9_)) goto LA12_;
3376 T13_ = NIM_NIL;
3377 T13_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3378 T9_ = !(eqStrings(T13_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_27)));
3379 LA12_: ;
3380 T7_ = T9_;
3381 LA8_: ;
3382 if (!T7_) goto LA14_;
3383 result = NIM_FALSE;
3384 goto BeforeRet_;
3385 }
3386 LA14_: ;
3387 {
3388 if (!(((*s_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0)) goto LA18_;
3389 s_2 = (*(*s_2).owner).owner;
3390 }
3391 goto LA16_;
3392 LA18_: ;
3393 {
3394 s_2 = (*s_2).owner;
3395 }
3396 LA16_: ;
3397 {
3398 while (1) {
3399 NIM_BOOL T23_;
3400 NIM_BOOL T24_;
3401 T23_ = (NIM_BOOL)0;
3402 T24_ = (NIM_BOOL)0;
3403 T24_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3404 if (!(T24_)) goto LA25_;
3405 T24_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
3406 LA25_: ;
3407 T23_ = T24_;
3408 if (!(T23_)) goto LA26_;
3409 T23_ = !(((*s_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3410 LA26_: ;
3411 if (!T23_) goto LA22;
3412 s_2 = (*s_2).owner;
3413 } LA22: ;
3414 }
3415 res += ((NI) 1);
3416 } LA4: ;
3417 }
3418 }
3419 result = NIM_TRUE;
3420 }BeforeRet_: ;
3421 return result;
3422 }
N_NIMCALL(NIM_BOOL,procIsCallback__vmgen_3104)3423 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3424 NIM_BOOL result;
3425 NI i;
3426 { result = (NIM_BOOL)0;
3427 {
3428 if (!((*s).offset < ((NI) -1))) goto LA3_;
3429 result = NIM_TRUE;
3430 goto BeforeRet_;
3431 }
3432 LA3_: ;
3433 i = ((NI) -2);
3434 {
3435 NimStringDesc** key;
3436 tyProc__5QC9cKfPJmKuW0XbCTd8ylA* value;
3437 NI i_2;
3438 NI L;
3439 NI T6_;
3440 key = (NimStringDesc**)0;
3441 value = (tyProc__5QC9cKfPJmKuW0XbCTd8ylA*)0;
3442 i_2 = ((NI) 0);
3443 T6_ = ((*c).callbacks ? (*c).callbacks->Sup.len : 0);
3444 L = T6_;
3445 {
3446 while (1) {
3447 if (!(i_2 < L)) goto LA8;
3448 key = (&(*c).callbacks->data[i_2].Field0);
3449 value = (&(*c).callbacks->data[i_2].Field1);
3450 {
3451 NIM_BOOL T11_;
3452 T11_ = (NIM_BOOL)0;
3453 T11_ = matches__vmgen_3058(s, (*key));
3454 if (!T11_) goto LA12_;
3455 {
3456 if (!!(((*s).offset == ((NI) -1)))) goto LA16_;
3457 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_28));
3458 }
3459 LA16_: ;
3460 (*s).offset = i;
3461 result = NIM_TRUE;
3462 goto BeforeRet_;
3463 }
3464 LA12_: ;
3465 i -= ((NI) 1);
3466 i_2 += ((NI) 1);
3467 } LA8: ;
3468 }
3469 }
3470 }BeforeRet_: ;
3471 return result;
3472 }
N_NIMCALL(NIM_BOOL,sameConstant__vmgen_969)3473 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3474 NIM_BOOL result;
3475 { result = (NIM_BOOL)0;
3476 result = NIM_FALSE;
3477 {
3478 if (!(a == b)) goto LA3_;
3479 result = NIM_TRUE;
3480 }
3481 goto LA1_;
3482 LA3_: ;
3483 {
3484 NIM_BOOL T6_;
3485 NIM_BOOL T7_;
3486 T6_ = (NIM_BOOL)0;
3487 T7_ = (NIM_BOOL)0;
3488 T7_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3489 if (!(T7_)) goto LA8_;
3490 T7_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3491 LA8_: ;
3492 T6_ = T7_;
3493 if (!(T6_)) goto LA9_;
3494 T6_ = ((*a).kind == (*b).kind);
3495 LA9_: ;
3496 if (!T6_) goto LA10_;
3497 switch ((*a).kind) {
3498 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3499 {
3500 result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
3501 }
3502 break;
3503 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3504 {
3505 result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
3506 }
3507 break;
3508 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
3509 {
3510 result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
3511 }
3512 break;
3513 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
3514 {
3515 union { NF source; NU64 dest; } LOC16;
3516 union { NF source; NU64 dest; } LOC17;
3517 LOC16.source = (*a)._kind_2.floatVal;
3518 LOC17.source = (*b)._kind_2.floatVal;
3519 result = (LOC16.dest == LOC17.dest);
3520 }
3521 break;
3522 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
3523 {
3524 result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
3525 }
3526 break;
3527 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
3528 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3529 {
3530 result = ((*a).typ == (*b).typ);
3531 }
3532 break;
3533 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
3534 {
3535 result = NIM_TRUE;
3536 }
3537 break;
3538 default:
3539 {
3540 {
3541 NI T24_;
3542 NI T25_;
3543 T24_ = (NI)0;
3544 T24_ = len__ast_3198(a);
3545 T25_ = (NI)0;
3546 T25_ = len__ast_3198(b);
3547 if (!(T24_ == T25_)) goto LA26_;
3548 {
3549 NI i;
3550 NI colontmp_;
3551 NI i_2;
3552 i = (NI)0;
3553 colontmp_ = (NI)0;
3554 colontmp_ = len__ast_3198(a);
3555 i_2 = ((NI) 0);
3556 {
3557 while (1) {
3558 if (!(i_2 < colontmp_)) goto LA30;
3559 i = i_2;
3560 {
3561 NIM_BOOL T33_;
3562 T33_ = (NIM_BOOL)0;
3563 T33_ = sameConstant__vmgen_969((*a)._kind_6.sons->data[i], (*b)._kind_6.sons->data[i]);
3564 if (!!(T33_)) goto LA34_;
3565 goto BeforeRet_;
3566 }
3567 LA34_: ;
3568 i_2 += ((NI) 1);
3569 } LA30: ;
3570 }
3571 }
3572 result = NIM_TRUE;
3573 }
3574 LA26_: ;
3575 }
3576 break;
3577 }
3578 }
3579 goto LA1_;
3580 LA10_: ;
3581 LA1_: ;
3582 }BeforeRet_: ;
3583 return result;
3584 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canonValue__vmgen_947)3585 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3586 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3587 result = NIM_NIL;
3588 result = n;
3589 return result;
3590 }
N_NIMCALL(NI,rawGenLiteral__vmgen_950)3591 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3592 NI result;
3593 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3594 result = (NI)0;
3595 result = len__ast_3198((*c).constants);
3596 (*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4)) & 31);
3597 T1_ = NIM_NIL;
3598 T1_ = canonValue__vmgen_947(n);
3599 add__ast_4797((*c).constants, T1_);
3600 {
3601 NimStringDesc* argX60gensym109_;
3602 if (!!((result < ((NI) 8388607)))) goto LA4_;
3603 argX60gensym109_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_29);
3604 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym109_, TM__24XApAWKNvaMkcyklm8bNA_29);
3605 }
3606 LA4_: ;
3607 return result;
3608 }
N_NIMCALL(NI,genLiteral__vmgen_1013)3609 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3610 NI result;
3611 { result = (NI)0;
3612 {
3613 NI i;
3614 NI colontmp_;
3615 NI i_2;
3616 i = (NI)0;
3617 colontmp_ = (NI)0;
3618 colontmp_ = len__ast_3198((*c).constants);
3619 i_2 = ((NI) 0);
3620 {
3621 while (1) {
3622 if (!(i_2 < colontmp_)) goto LA3;
3623 i = i_2;
3624 {
3625 NIM_BOOL T6_;
3626 T6_ = (NIM_BOOL)0;
3627 T6_ = sameConstant__vmgen_969((*(*c).constants)._kind_6.sons->data[i], n);
3628 if (!T6_) goto LA7_;
3629 result = i;
3630 goto BeforeRet_;
3631 }
3632 LA7_: ;
3633 i_2 += ((NI) 1);
3634 } LA3: ;
3635 }
3636 }
3637 result = rawGenLiteral__vmgen_950(c, n);
3638 }BeforeRet_: ;
3639 return result;
3640 }
N_NIMCALL(void,genLit__vmgen_1199)3641 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
3642 NI lit;
3643 {
3644 NI T5_;
3645 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3646 T5_ = (NI)0;
3647 T5_ = getTemp__vmgen_541(c, (*n).typ);
3648 (*dest) = ((NI) (T5_));
3649 }
3650 LA3_: ;
3651 lit = genLiteral__vmgen_1013(c, n);
3652 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
3653 }
N_NIMCALL(void,genTypeLit__vmgen_2407)3654 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest) {
3655 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
3656 n = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3657 asgnRef((void**) (&(*n).typ), t);
3658 genLit__vmgen_1199(c, n, dest);
3659 }
N_NIMCALL(NIM_BOOL,isTemp__vmgen_929)3660 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest) {
3661 NIM_BOOL result;
3662 NIM_BOOL T1_;
3663 result = (NIM_BOOL)0;
3664 T1_ = (NIM_BOOL)0;
3665 T1_ = (((NI) 0) <= ((NI) (dest)));
3666 if (!(T1_)) goto LA2_;
3667 T1_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[dest].Field1);
3668 LA2_: ;
3669 result = T1_;
3670 return result;
3671 }
N_NIMCALL(void,gen__vmgen_692)3672 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3673 NI d;
3674 d = ((NI) (dest));
3675 gen__vmgen_687(c, n, (&d), flags);
3676 }
N_NIMCALL(void,patch__vmgen_434)3677 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p) {
3678 NI p_2;
3679 NI diff;
3680 NI T1_;
3681 NU64 oldInstr;
3682 p_2 = p;
3683 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
3684 diff = (NI)(T1_ - p_2);
3685 {
3686 NIM_BOOL T4_;
3687 NimStringDesc* argX60gensym51_;
3688 T4_ = (NIM_BOOL)0;
3689 T4_ = (((NI) -8388607) < diff);
3690 if (!(T4_)) goto LA5_;
3691 T4_ = (diff < ((NI) 8388607));
3692 LA5_: ;
3693 if (!!(T4_)) goto LA6_;
3694 argX60gensym51_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_33);
3695 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym51_, TM__24XApAWKNvaMkcyklm8bNA_33);
3696 }
3697 LA6_: ;
3698 oldInstr = (*c).code->data[p_2];
3699 (*c).code->data[p_2] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
3700 }
N_NIMCALL(void,genAndOr__vmgen_937)3701 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest) {
3702 NIM_BOOL copyBack;
3703 NIM_BOOL T1_;
3704 NIM_BOOL T3_;
3705 NI tmp;
3706 NI lab1;
3707 T1_ = (NIM_BOOL)0;
3708 T1_ = (((NI) ((*dest))) < ((NI) 0));
3709 if (T1_) goto LA2_;
3710 T3_ = (NIM_BOOL)0;
3711 T3_ = isTemp__vmgen_929(c, (*dest));
3712 T1_ = !(T3_);
3713 LA2_: ;
3714 copyBack = T1_;
3715 {
3716 if (!copyBack) goto LA6_;
3717 tmp = getTemp__vmgen_541(c, (*n).typ);
3718 }
3719 goto LA4_;
3720 LA6_: ;
3721 {
3722 tmp = ((NI) ((*dest)));
3723 }
3724 LA4_: ;
3725 gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 1)], tmp, 0);
3726 lab1 = xjmp__vmgen_398(c, n, opc, tmp);
3727 gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 2)], tmp, 0);
3728 patch__vmgen_434(c, lab1);
3729 {
3730 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA11_;
3731 (*dest) = ((NI) (tmp));
3732 }
3733 goto LA9_;
3734 LA11_: ;
3735 {
3736 if (!copyBack) goto LA14_;
3737 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
3738 freeTemp__vmgen_550(c, tmp);
3739 }
3740 goto LA9_;
3741 LA14_: ;
3742 LA9_: ;
3743 }
N_NIMCALL(NIM_BOOL,isInt8Lit__vmgen_1558)3744 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3745 NIM_BOOL result;
3746 result = (NIM_BOOL)0;
3747 {
3748 NIM_BOOL T5_;
3749 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3750 T5_ = (NIM_BOOL)0;
3751 T5_ = (IL64(-128) <= (*n)._kind_1.intVal);
3752 if (!(T5_)) goto LA6_;
3753 T5_ = ((*n)._kind_1.intVal <= IL64(127));
3754 LA6_: ;
3755 result = T5_;
3756 }
3757 LA3_: ;
3758 return result;
3759 }
N_NIMCALL(void,gABI__vmgen_347)3760 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm) {
3761 {
3762 NIM_BOOL T3_;
3763 NU64 ins;
3764 NI T7_;
3765 NI T8_;
3766 T3_ = (NIM_BOOL)0;
3767 T3_ = (IL64(-128) <= imm);
3768 if (!(T3_)) goto LA4_;
3769 T3_ = (imm <= IL64(127));
3770 LA4_: ;
3771 if (!T3_) goto LA5_;
3772 ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) ((NI64)(imm + IL64(128))))) << (NU64)(40ULL)));
3773 asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
3774 T7_ = (*c).code->Sup.len++;
3775 (*c).code->data[T7_] = ins;
3776 asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
3777 T8_ = (*c).debug->Sup.len++;
3778 (*c).debug->data[T8_] = (*n).info;
3779 }
3780 goto LA1_;
3781 LA5_: ;
3782 {
3783 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_34), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_35, NIM_FALSE);
3784 }
3785 LA1_: ;
3786 }
N_NIMCALL(void,genBinaryABC__vmgen_1405)3787 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3788 NI tmp;
3789 NI tmp2;
3790 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3791 tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
3792 {
3793 NI T5_;
3794 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3795 T5_ = (NI)0;
3796 T5_ = getTemp__vmgen_541(c, (*n).typ);
3797 (*dest) = ((NI) (T5_));
3798 }
3799 LA3_: ;
3800 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
3801 freeTemp__vmgen_550(c, tmp);
3802 freeTemp__vmgen_550(c, tmp2);
3803 }
N_NIMCALL(void,genNarrow__vmgen_1427)3804 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
3805 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
3806 NI64 size;
3807 t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
3808 size = getSize__types_3327((*c).config, t);
3809 {
3810 NIM_BOOL T3_;
3811 NIM_BOOL T5_;
3812 T3_ = (NIM_BOOL)0;
3813 T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3814 if (T3_) goto LA4_;
3815 T5_ = (NIM_BOOL)0;
3816 T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
3817 if (!(T5_)) goto LA6_;
3818 T5_ = (size < IL64(8));
3819 LA6_: ;
3820 T3_ = T5_;
3821 LA4_: ;
3822 if (!T3_) goto LA7_;
3823 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3824 }
3825 goto LA1_;
3826 LA7_: ;
3827 {
3828 NIM_BOOL T10_;
3829 NIM_BOOL T12_;
3830 T10_ = (NIM_BOOL)0;
3831 T10_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3832 if (T10_) goto LA11_;
3833 T12_ = (NIM_BOOL)0;
3834 T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3835 if (!(T12_)) goto LA13_;
3836 T12_ = (size < IL64(8));
3837 LA13_: ;
3838 T10_ = T12_;
3839 LA11_: ;
3840 if (!T10_) goto LA14_;
3841 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 97), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3842 }
3843 goto LA1_;
3844 LA14_: ;
3845 LA1_: ;
3846 }
N_NIMCALL(void,genAddSubInt__vmgen_1588)3847 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3848 {
3849 NIM_BOOL T3_;
3850 NI tmp;
3851 T3_ = (NIM_BOOL)0;
3852 T3_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
3853 if (!T3_) goto LA4_;
3854 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3855 {
3856 NI T10_;
3857 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
3858 T10_ = (NI)0;
3859 T10_ = getTemp__vmgen_541(c, (*n).typ);
3860 (*dest) = ((NI) (T10_));
3861 }
3862 LA8_: ;
3863 gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), ((NI) ((*dest))), tmp, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
3864 freeTemp__vmgen_550(c, tmp);
3865 }
3866 goto LA1_;
3867 LA4_: ;
3868 {
3869 genBinaryABC__vmgen_1405(c, n, dest, opc);
3870 }
3871 LA1_: ;
3872 genNarrow__vmgen_1427(c, n, (*dest));
3873 }
N_INLINE(void,unused__vmgen_1026)3874 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x) {
3875 {
3876 if (!(((NI) 0) <= ((NI) (x)))) goto LA3_;
3877 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_37), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_38, NIM_FALSE);
3878 }
3879 LA3_: ;
3880 }
N_NIMCALL(NI,genIndex__vmgen_1305)3881 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr) {
3882 NI result;
3883 result = (NI)0;
3884 {
3885 NIM_BOOL T3_;
3886 tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
3887 tyObject_Int128__9a9axPfb75jdWY25AamJewkA x;
3888 NIM_BOOL T6_;
3889 NI tmp;
3890 NI T9_;
3891 T3_ = (NIM_BOOL)0;
3892 T4_ = NIM_NIL;
3893 T4_ = skipTypes__ast_3735(arr, TM__24XApAWKNvaMkcyklm8bNA_40);
3894 T3_ = ((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
3895 if (!(T3_)) goto LA5_;
3896 x = firstOrd__types_1353((*c).config, arr);
3897 T6_ = (NIM_BOOL)0;
3898 T6_ = eqeq___int495056_313(x, Zero__int495056_7);
3899 T3_ = !(T6_);
3900 LA5_: ;
3901 if (!T3_) goto LA7_;
3902 tmp = genx__vmgen_712(c, n, 0);
3903 freeTemp__vmgen_550(c, tmp);
3904 result = getTemp__vmgen_541(c, (*n).typ);
3905 T9_ = (NI)0;
3906 T9_ = toInt__int495056_170(x);
3907 gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 32), result, tmp, ((NI64) (T9_)));
3908 }
3909 goto LA1_;
3910 LA7_: ;
3911 {
3912 result = genx__vmgen_712(c, n, 0);
3913 }
3914 LA1_: ;
3915 return result;
3916 }
N_NIMCALL(NI,genField__vmgen_1288)3917 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3918 NI result;
3919 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3920 result = (NI)0;
3921 {
3922 NIM_BOOL T3_;
3923 T3_ = (NIM_BOOL)0;
3924 T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
3925 if (T3_) goto LA4_;
3926 T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)));
3927 LA4_: ;
3928 if (!T3_) goto LA5_;
3929 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_43), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_44, NIM_FALSE);
3930 }
3931 LA5_: ;
3932 s = (*n)._kind_4.sym;
3933 {
3934 NimStringDesc* T11_;
3935 if (!(((NI) 65535) < (*s).position)) goto LA9_;
3936 T11_ = NIM_NIL;
3937 T11_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 44);
3938 appendString(T11_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_45));
3939 appendString(T11_, (*(*s).name).s);
3940 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_46, NIM_FALSE);
3941 }
3942 LA9_: ;
3943 result = ((NI) ((*s).position));
3944 return result;
3945 }
N_NIMCALL(void,genCheckedObjAccessAux__vmgen_1316)3946 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3947 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
3948 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkExpr;
3949 NIM_BOOL negCheck;
3950 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disc;
3951 NI discVal;
3952 NI T14_;
3953 NI setLit;
3954 NI rs;
3955 tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
3956 NI lab1;
3957 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T16_;
3958 tyObject_TType__facALICuu8zUj0hjvbTLFg* strType;
3959 NI msgReg;
3960 NI T22_;
3961 NimStringDesc* fieldName;
3962 NimStringDesc* msg;
3963 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strLit;
3964 {
3965 NimStringDesc* argX60gensym456_;
3966 if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46)))) goto LA3_;
3967 argX60gensym456_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_41);
3968 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym456_, TM__24XApAWKNvaMkcyklm8bNA_41);
3969 }
3970 LA3_: ;
3971 accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
3972 checkExpr = (*n)._kind_6.sons->data[((NI) 1)];
3973 negCheck = ((*(*(*checkExpr)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
3974 {
3975 NI T9_;
3976 if (!negCheck) goto LA7_;
3977 T9_ = (NI)0;
3978 T9_ = len__ast_3198(checkExpr);
3979 checkExpr = (*checkExpr)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
3980 }
3981 LA7_: ;
3982 disc = (*checkExpr)._kind_6.sons->data[((NI) 2)];
3983 {
3984 NimStringDesc* argX60gensym465_;
3985 if (!!(((*(*disc)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA12_;
3986 argX60gensym465_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_42);
3987 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym465_, TM__24XApAWKNvaMkcyklm8bNA_42);
3988 }
3989 LA12_: ;
3990 gen__vmgen_687(c, (*accessExpr)._kind_6.sons->data[((NI) 0)], dest, flags);
3991 discVal = getTemp__vmgen_541(c, (*disc).typ);
3992 T14_ = (NI)0;
3993 T14_ = genField__vmgen_1288(c, disc);
3994 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), discVal, ((NI) ((*dest))), T14_);
3995 setLit = genx__vmgen_712(c, (*checkExpr)._kind_6.sons->data[((NI) 1)], 0);
3996 T15_ = NIM_NIL;
3997 T15_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
3998 rs = getTemp__vmgen_541(c, T15_);
3999 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84), rs, setLit, discVal);
4000 freeTemp__vmgen_550(c, discVal);
4001 freeTemp__vmgen_550(c, setLit);
4002 T16_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
4003 {
4004 if (!negCheck) goto LA19_;
4005 T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162);
4006 }
4007 goto LA17_;
4008 LA19_: ;
4009 {
4010 T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161);
4011 }
4012 LA17_: ;
4013 lab1 = xjmp__vmgen_398(c, n, T16_, rs);
4014 freeTemp__vmgen_550(c, rs);
4015 strType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
4016 T22_ = (NI)0;
4017 T22_ = getTemp__vmgen_541(c, strType);
4018 msgReg = ((NI) (T22_));
4019 fieldName = dollar___renderer_2106((*accessExpr)._kind_6.sons->data[((NI) 1)]);
4020 msg = genFieldDefect__astmsgs_61((*c).config, fieldName, (*disc)._kind_4.sym);
4021 strLit = newStrNode__ast_3817(msg, (*(*accessExpr)._kind_6.sons->data[((NI) 1)]).info);
4022 asgnRef((void**) (&(*strLit).typ), strType);
4023 genLit__vmgen_1199(c, strLit, (&msgReg));
4024 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 96), ((NI) (msgReg)), discVal, ((NI) 0));
4025 freeTemp__vmgen_550(c, ((NI) (msgReg)));
4026 patch__vmgen_434(c, lab1);
4027 }
N_NIMCALL(void,genAsgnPatch__vmgen_1321)4028 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value) {
4029 switch ((*le).kind) {
4030 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
4031 {
4032 NI dest;
4033 NI idx;
4034 dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4035 idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
4036 gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, value);
4037 freeTemp__vmgen_550(c, dest);
4038 freeTemp__vmgen_550(c, idx);
4039 }
4040 break;
4041 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
4042 {
4043 NI objR;
4044 NI idx_2;
4045 objR = ((NI) -1);
4046 genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
4047 idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
4048 gABC__vmgen_312(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, value);
4049 freeTemp__vmgen_550(c, ((NI) (objR)));
4050 }
4051 break;
4052 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
4053 {
4054 NI dest_2;
4055 NI idx_3;
4056 dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4057 idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
4058 gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, value);
4059 freeTemp__vmgen_550(c, dest_2);
4060 }
4061 break;
4062 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4063 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4064 {
4065 NI dest_3;
4066 dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4067 gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), value);
4068 freeTemp__vmgen_550(c, dest_3);
4069 }
4070 break;
4071 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4072 {
4073 {
4074 NIM_BOOL T8_;
4075 NI dest_4;
4076 T8_ = (NIM_BOOL)0;
4077 T8_ = (((*(*le)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4078 if (!(T8_)) goto LA9_;
4079 T8_ = !(((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4080 LA9_: ;
4081 if (!T8_) goto LA10_;
4082 dest_4 = genx__vmgen_712(c, le, 2);
4083 gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_4, ((NI) 0), value);
4084 freeTemp__vmgen_550(c, dest_4);
4085 }
4086 LA10_: ;
4087 }
4088 break;
4089 default:
4090 {
4091 }
4092 break;
4093 }
4094 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)4095 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4096 NIM_BOOL result;
4097 NIM_BOOL T1_;
4098 result = (NIM_BOOL)0;
4099 T1_ = (NIM_BOOL)0;
4100 T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4101 if (T1_) goto LA2_;
4102 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
4103 LA2_: ;
4104 result = T1_;
4105 return result;
4106 }
N_NIMCALL(NI,getTempRange__vmgen_559)4107 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind) {
4108 NI result;
4109 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
4110 NI T34_;
4111 NI T35_;
4112 { result = (NI)0;
4113 c = (*cc).prc;
4114 {
4115 NIM_BOOL T3_;
4116 NI T4_;
4117 NI T6_;
4118 T3_ = (NIM_BOOL)0;
4119 T4_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4120 T3_ = (((NI) 40) <= T4_);
4121 if (T3_) goto LA5_;
4122 T6_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4123 T3_ = (((NI) 65535) <= (NI)(T6_ + n));
4124 LA5_: ;
4125 if (!T3_) goto LA7_;
4126 {
4127 NI i;
4128 NI colontmp_;
4129 NI T10_;
4130 NI res;
4131 i = (NI)0;
4132 colontmp_ = (NI)0;
4133 T10_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4134 colontmp_ = (NI)(T10_ - n);
4135 res = ((NI) 0);
4136 {
4137 while (1) {
4138 if (!(res <= colontmp_)) goto LA12;
4139 i = res;
4140 {
4141 if (!!((*c).regInfo->data[i].Field0)) goto LA15_;
4142 {
4143 {
4144 NI j;
4145 NI colontmp__2;
4146 NI colontmp__3;
4147 NI res_2;
4148 j = (NI)0;
4149 colontmp__2 = (NI)0;
4150 colontmp__3 = (NI)0;
4151 colontmp__2 = (NI)(i + ((NI) 1));
4152 colontmp__3 = (NI)((NI)(i + n) - ((NI) 1));
4153 res_2 = colontmp__2;
4154 {
4155 while (1) {
4156 if (!(res_2 <= colontmp__3)) goto LA20;
4157 j = res_2;
4158 {
4159 if (!(*c).regInfo->data[j].Field0) goto LA23_;
4160 goto LA17;
4161 }
4162 LA23_: ;
4163 res_2 += ((NI) 1);
4164 } LA20: ;
4165 }
4166 }
4167 result = ((NI) (i));
4168 {
4169 NI k;
4170 NI colontmp__4;
4171 NI res_3;
4172 k = (NI)0;
4173 colontmp__4 = (NI)0;
4174 colontmp__4 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4175 res_3 = ((NI) (result));
4176 {
4177 while (1) {
4178 NIM_BOOL colontmp__5;
4179 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
4180 if (!(res_3 <= ((NI) (colontmp__4)))) goto LA27;
4181 k = ((NI) (res_3));
4182 colontmp__5 = NIM_TRUE;
4183 colontmp__6 = kind;
4184 (*c).regInfo->data[k].Field0 = colontmp__5;
4185 (*c).regInfo->data[k].Field1 = colontmp__6;
4186 res_3 += ((NI) 1);
4187 } LA27: ;
4188 }
4189 }
4190 goto BeforeRet_;
4191 } LA17: ;
4192 }
4193 LA15_: ;
4194 res += ((NI) 1);
4195 } LA12: ;
4196 }
4197 }
4198 }
4199 LA7_: ;
4200 {
4201 NI T30_;
4202 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T33_;
4203 T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4204 if (!(((NI) 65535) <= (NI)(T30_ + n))) goto LA31_;
4205 T33_ = bestEffort__vmgen_468(cc);
4206 liMessage__msgs_1118((*cc).config, T33_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_47, NIM_FALSE);
4207 }
4208 LA31_: ;
4209 T34_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4210 result = ((NI) (T34_));
4211 T35_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4212 asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(T35_ + n)))));
4213 {
4214 NI k_2;
4215 NI colontmp__7;
4216 NI res_4;
4217 k_2 = (NI)0;
4218 colontmp__7 = (NI)0;
4219 colontmp__7 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4220 res_4 = ((NI) (result));
4221 {
4222 while (1) {
4223 NIM_BOOL colontmp__8;
4224 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__9;
4225 if (!(res_4 <= ((NI) (colontmp__7)))) goto LA38;
4226 k_2 = ((NI) (res_4));
4227 colontmp__8 = NIM_TRUE;
4228 colontmp__9 = kind;
4229 (*c).regInfo->data[k_2].Field0 = colontmp__8;
4230 (*c).regInfo->data[k_2].Field1 = colontmp__9;
4231 res_4 += ((NI) 1);
4232 } LA38: ;
4233 }
4234 }
4235 }BeforeRet_: ;
4236 return result;
4237 }
N_NIMCALL(NI,genType__vmgen_1088)4238 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
4239 NI result;
4240 NI T10_;
4241 NI T11_;
4242 { result = (NI)0;
4243 {
4244 NI i;
4245 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4246 NI i_2;
4247 NI L;
4248 NI T2_;
4249 i = (NI)0;
4250 t = NIM_NIL;
4251 i_2 = ((NI) 0);
4252 T2_ = ((*c).types ? (*c).types->Sup.len : 0);
4253 L = T2_;
4254 {
4255 while (1) {
4256 if (!(i_2 < L)) goto LA4;
4257 i = i_2;
4258 t = (*c).types->data[i_2];
4259 {
4260 NIM_BOOL T7_;
4261 T7_ = (NIM_BOOL)0;
4262 T7_ = sameType__types_1815(t, typ, 0);
4263 if (!T7_) goto LA8_;
4264 result = i;
4265 goto BeforeRet_;
4266 }
4267 LA8_: ;
4268 i_2 += ((NI) 1);
4269 } LA4: ;
4270 }
4271 }
4272 T10_ = ((*c).types ? (*c).types->Sup.len : 0);
4273 result = T10_;
4274 asgnRef((void**) (&(*c).types), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).types), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
4275 T11_ = (*c).types->Sup.len++;
4276 asgnRef((void**) (&(*c).types->data[T11_]), typ);
4277 {
4278 NimStringDesc* argX60gensym128_;
4279 if (!!((result <= ((NI) 8388607)))) goto LA14_;
4280 argX60gensym128_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_49);
4281 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym128_, TM__24XApAWKNvaMkcyklm8bNA_49);
4282 }
4283 LA14_: ;
4284 }BeforeRet_: ;
4285 return result;
4286 }
N_NIMCALL(void,freeTempRange__vmgen_626)4287 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n) {
4288 {
4289 NI i;
4290 NI colontmp_;
4291 NI res;
4292 i = (NI)0;
4293 colontmp_ = (NI)0;
4294 colontmp_ = ((NI) ((NI)((NI)(((NI) (start)) + n) - ((NI) 1))));
4295 res = ((NI) (start));
4296 {
4297 while (1) {
4298 if (!(res <= ((NI) (colontmp_)))) goto LA3;
4299 i = ((NI) (res));
4300 freeTemp__vmgen_550(c, i);
4301 res += ((NI) 1);
4302 } LA3: ;
4303 }
4304 }
4305 }
N_NIMCALL(void,genCall__vmgen_1204)4306 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4307 NI x;
4308 NI T16_;
4309 tyObject_TType__facALICuu8zUj0hjvbTLFg* fntyp;
4310 NI T37_;
4311 { {
4312 NIM_BOOL T3_;
4313 NI T4_;
4314 T3_ = (NIM_BOOL)0;
4315 T4_ = (NI)0;
4316 T4_ = len__ast_3198(n);
4317 T3_ = (T4_ == ((NI) 0));
4318 if (T3_) goto LA5_;
4319 T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).typ == 0);
4320 LA5_: ;
4321 if (!T3_) goto LA6_;
4322 goto BeforeRet_;
4323 }
4324 LA6_: ;
4325 {
4326 NIM_BOOL T10_;
4327 NIM_BOOL T12_;
4328 NI T15_;
4329 T10_ = (NIM_BOOL)0;
4330 T10_ = (((NI) ((*dest))) < ((NI) 0));
4331 if (!(T10_)) goto LA11_;
4332 T12_ = (NIM_BOOL)0;
4333 T12_ = isEmptyType__ast_4779((*n).typ);
4334 T10_ = !(T12_);
4335 LA11_: ;
4336 if (!T10_) goto LA13_;
4337 T15_ = (NI)0;
4338 T15_ = getTemp__vmgen_541(c, (*n).typ);
4339 (*dest) = ((NI) (T15_));
4340 }
4341 LA13_: ;
4342 T16_ = (NI)0;
4343 T16_ = len__ast_3198(n);
4344 x = getTempRange__vmgen_559(c, T16_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4345 fntyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
4346 {
4347 NI i;
4348 NI colontmp_;
4349 NI i_2;
4350 i = (NI)0;
4351 colontmp_ = (NI)0;
4352 colontmp_ = len__ast_3198(n);
4353 i_2 = ((NI) 0);
4354 {
4355 while (1) {
4356 NI r;
4357 if (!(i_2 < colontmp_)) goto LA19;
4358 i = i_2;
4359 r = ((NI) ((NI)(((NI) (x)) + i)));
4360 gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 4);
4361 {
4362 NI T22_;
4363 NI T29_;
4364 T22_ = (NI)0;
4365 T22_ = len__ast_4002(fntyp);
4366 if (!(T22_ <= i)) goto LA23_;
4367 {
4368 NimStringDesc* argX60gensym147_;
4369 if (!!((((*fntyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0))) goto LA27_;
4370 argX60gensym147_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_48);
4371 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym147_, TM__24XApAWKNvaMkcyklm8bNA_48);
4372 }
4373 LA27_: ;
4374 T29_ = (NI)0;
4375 T29_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[i]).typ);
4376 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), r, T29_);
4377 }
4378 LA23_: ;
4379 i_2 += ((NI) 1);
4380 } LA19: ;
4381 }
4382 }
4383 {
4384 NI T34_;
4385 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA32_;
4386 T34_ = (NI)0;
4387 T34_ = len__ast_3198(n);
4388 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 154), ((NI) 0), x, ((NI) (T34_)));
4389 }
4390 goto LA30_;
4391 LA32_: ;
4392 {
4393 NI T36_;
4394 T36_ = (NI)0;
4395 T36_ = len__ast_3198(n);
4396 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 155), ((NI) ((*dest))), x, ((NI) (T36_)));
4397 }
4398 LA30_: ;
4399 T37_ = (NI)0;
4400 T37_ = len__ast_3198(n);
4401 freeTempRange__vmgen_626(c, x, T37_);
4402 }BeforeRet_: ;
4403 }
N_NIMCALL(NIM_BOOL,needsAsgnPatch__vmgen_1269)4404 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4405 NIM_BOOL result;
4406 NIM_BOOL T1_;
4407 NIM_BOOL T3_;
4408 NIM_BOOL T5_;
4409 result = (NIM_BOOL)0;
4410 T1_ = (NIM_BOOL)0;
4411 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
4412 if (T1_) goto LA2_;
4413 T3_ = (NIM_BOOL)0;
4414 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4415 if (!(T3_)) goto LA4_;
4416 T5_ = (NIM_BOOL)0;
4417 T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4418 if (!(T5_)) goto LA6_;
4419 T5_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4420 LA6_: ;
4421 T3_ = T5_;
4422 LA4_: ;
4423 T1_ = T3_;
4424 LA2_: ;
4425 result = T1_;
4426 return result;
4427 }
N_NIMCALL(void,genNew__vmgen_1350)4428 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4429 NI dest;
4430 tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4431 NI T8_;
4432 {
4433 NIM_BOOL T3_;
4434 T3_ = (NIM_BOOL)0;
4435 T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4436 if (!T3_) goto LA4_;
4437 dest = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4438 }
4439 goto LA1_;
4440 LA4_: ;
4441 {
4442 dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4443 }
4444 LA1_: ;
4445 T7_ = NIM_NIL;
4446 T7_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4447 T8_ = (NI)0;
4448 T8_ = genType__vmgen_1088(c, (*T7_).sons->data[((NI) 0)]);
4449 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), dest, T8_);
4450 genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4451 freeTemp__vmgen_550(c, dest);
4452 }
N_NIMCALL(void,genNewSeq__vmgen_1364)4453 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4454 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4455 NI dest;
4456 NI tmp;
4457 tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4458 NI T8_;
4459 t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
4460 {
4461 NIM_BOOL T3_;
4462 T3_ = (NIM_BOOL)0;
4463 T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4464 if (!T3_) goto LA4_;
4465 dest = getTemp__vmgen_541(c, t);
4466 }
4467 goto LA1_;
4468 LA4_: ;
4469 {
4470 dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4471 }
4472 LA1_: ;
4473 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4474 T7_ = NIM_NIL;
4475 T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4476 T8_ = (NI)0;
4477 T8_ = genType__vmgen_1088(c, T7_);
4478 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), dest, T8_);
4479 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4480 freeTemp__vmgen_550(c, tmp);
4481 genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4482 freeTemp__vmgen_550(c, dest);
4483 }
N_NIMCALL(void,genNewSeqOfCap__vmgen_1379)4484 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4485 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4486 NI tmp;
4487 NI T6_;
4488 tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4489 NI T8_;
4490 t = (*n).typ;
4491 {
4492 NI T5_;
4493 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4494 T5_ = (NI)0;
4495 T5_ = getTemp__vmgen_541(c, (*n).typ);
4496 (*dest) = ((NI) (T5_));
4497 }
4498 LA3_: ;
4499 tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4500 T6_ = (NI)0;
4501 T6_ = genType__vmgen_1088(c, t);
4502 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
4503 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, ((NI) 0));
4504 T7_ = NIM_NIL;
4505 T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4506 T8_ = (NI)0;
4507 T8_ = genType__vmgen_1088(c, T7_);
4508 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T8_);
4509 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4510 freeTemp__vmgen_550(c, tmp);
4511 }
N_NIMCALL(void,genUnaryABC__vmgen_1390)4512 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4513 NI tmp;
4514 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4515 {
4516 NI T5_;
4517 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4518 T5_ = (NI)0;
4519 T5_ = getTemp__vmgen_541(c, (*n).typ);
4520 (*dest) = ((NI) (T5_));
4521 }
4522 LA3_: ;
4523 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4524 freeTemp__vmgen_550(c, tmp);
4525 }
N_NIMCALL(void,genUnaryABI__vmgen_1397)4526 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm) {
4527 NI tmp;
4528 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4529 {
4530 NI T5_;
4531 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4532 T5_ = (NI)0;
4533 T5_ = getTemp__vmgen_541(c, (*n).typ);
4534 (*dest) = ((NI) (T5_));
4535 }
4536 LA3_: ;
4537 gABI__vmgen_347(c, n, opc, ((NI) ((*dest))), tmp, imm);
4538 freeTemp__vmgen_550(c, tmp);
4539 }
N_NIMCALL(void,genSetType__vmgen_1481)4540 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4541 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4542 t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
4543 {
4544 NI T5_;
4545 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
4546 T5_ = (NI)0;
4547 T5_ = genType__vmgen_1088(c, t);
4548 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), dest, T5_);
4549 }
4550 LA3_: ;
4551 }
N_NIMCALL(void,genCard__vmgen_1621)4552 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4553 NI tmp;
4554 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4555 {
4556 NI T5_;
4557 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4558 T5_ = (NI)0;
4559 T5_ = getTemp__vmgen_541(c, (*n).typ);
4560 (*dest) = ((NI) (T5_));
4561 }
4562 LA3_: ;
4563 genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4564 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 39), ((NI) ((*dest))), tmp, ((NI) 0));
4565 freeTemp__vmgen_550(c, tmp);
4566 }
N_NIMCALL(void,genBinaryABCnarrow__vmgen_1471)4567 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4568 genBinaryABC__vmgen_1405(c, n, dest, opc);
4569 genNarrow__vmgen_1427(c, n, (*dest));
4570 }
N_NIMCALL(void,genNarrowU__vmgen_1453)4571 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4572 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4573 NI64 size;
4574 t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4575 size = getSize__types_3327((*c).config, t);
4576 {
4577 NIM_BOOL T3_;
4578 NIM_BOOL T5_;
4579 T3_ = (NIM_BOOL)0;
4580 T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4581 if (T3_) goto LA4_;
4582 T5_ = (NIM_BOOL)0;
4583 T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4584 if (!(T5_)) goto LA6_;
4585 T5_ = (size < IL64(8));
4586 LA6_: ;
4587 T3_ = T5_;
4588 LA4_: ;
4589 if (!T3_) goto LA7_;
4590 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
4591 }
4592 LA7_: ;
4593 }
N_NIMCALL(void,genBinaryABCnarrowU__vmgen_1476)4594 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4595 genBinaryABC__vmgen_1405(c, n, dest, opc);
4596 genNarrowU__vmgen_1453(c, n, (*dest));
4597 }
N_NIMCALL(void,Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)4598 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op) {
4599 tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* a;
4600 a = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*)p;
4601 nimGCvisit((void*)(*a).t21, op);
4602 nimGCvisit((void*)(*a).targ22, op);
4603 nimGCvisit((void*)(*a).n3, op);
4604 nimGCvisit((void*)(*a).arg4, op);
4605 }
N_CLOSURE(NIM_BOOL,implicitConv__vmgen_1610)4606 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0) {
4607 NIM_BOOL result;
4608 tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenvP_;
4609 { result = (NIM_BOOL)0;
4610 colonenvP_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) ClE_0;
4611 {
4612 NIM_BOOL T3_;
4613 T3_ = (NIM_BOOL)0;
4614 T3_ = sameType__types_1815((*colonenvP_).t21, (*colonenvP_).targ22, 0);
4615 if (!T3_) goto LA4_;
4616 result = NIM_TRUE;
4617 goto BeforeRet_;
4618 }
4619 LA4_: ;
4620 {
4621 NIM_BOOL T8_;
4622 T8_ = (NIM_BOOL)0;
4623 T8_ = ((*(*(*colonenvP_).n3).typ).kind == (*(*(*colonenvP_).arg4).typ).kind);
4624 if (!(T8_)) goto LA9_;
4625 T8_ = ((*(*(*colonenvP_).arg4).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4626 LA9_: ;
4627 if (!T8_) goto LA10_;
4628 result = NIM_TRUE;
4629 goto BeforeRet_;
4630 }
4631 LA10_: ;
4632 }BeforeRet_: ;
4633 return result;
4634 }
N_NIMCALL(void,genConv__vmgen_1602)4635 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4636 tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenv_;
4637 NI tmp;
4638 tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4639 NI T13_;
4640 tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
4641 NI T15_;
4642 { colonenv_ = NIM_NIL;
4643 colonenv_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) newObj((&NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_), sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA));
4644 (*colonenv_).Sup.m_type = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
4645 asgnRef((void**) (&(*colonenv_).n3), n);
4646 asgnRef((void**) (&(*colonenv_).arg4), arg);
4647 asgnRef((void**) (&(*colonenv_).t21), skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4648 asgnRef((void**) (&(*colonenv_).targ22), skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4649 {
4650 tyProc__In3g79a0qTcRmbTbJp9ba9ctg T3_;
4651 NIM_BOOL T4_;
4652 nimZeroMem((void*)(&T3_), sizeof(tyProc__In3g79a0qTcRmbTbJp9ba9ctg));
4653 T3_.ClP_0 = implicitConv__vmgen_1610; T3_.ClE_0 = colonenv_;
4654 T4_ = (NIM_BOOL)0;
4655 T4_ = T3_.ClE_0? T3_.ClP_0(T3_.ClE_0):((TM__24XApAWKNvaMkcyklm8bNA_54)(T3_.ClP_0))();
4656 if (!T4_) goto LA5_;
4657 gen__vmgen_687(c, (*colonenv_).arg4, dest, 0);
4658 goto BeforeRet_;
4659 }
4660 LA5_: ;
4661 tmp = genx__vmgen_712(c, (*colonenv_).arg4, 0);
4662 {
4663 NI T11_;
4664 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
4665 T11_ = (NI)0;
4666 T11_ = getTemp__vmgen_541(c, (*(*colonenv_).n3).typ);
4667 (*dest) = ((NI) (T11_));
4668 }
4669 LA9_: ;
4670 gABC__vmgen_312(c, (*colonenv_).n3, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4671 T12_ = NIM_NIL;
4672 T12_ = skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4673 T13_ = (NI)0;
4674 T13_ = genType__vmgen_1088(c, T12_);
4675 gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T13_);
4676 T14_ = NIM_NIL;
4677 T14_ = skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4678 T15_ = (NI)0;
4679 T15_ = genType__vmgen_1088(c, T14_);
4680 gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T15_);
4681 freeTemp__vmgen_550(c, tmp);
4682 }BeforeRet_: ;
4683 }
N_NIMCALL(void,genBinarySet__vmgen_1494)4684 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4685 NI tmp;
4686 NI tmp2;
4687 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4688 tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4689 {
4690 NI T5_;
4691 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4692 T5_ = (NI)0;
4693 T5_ = getTemp__vmgen_541(c, (*n).typ);
4694 (*dest) = ((NI) (T5_));
4695 }
4696 LA3_: ;
4697 genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4698 genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 2)], tmp2);
4699 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4700 freeTemp__vmgen_550(c, tmp);
4701 freeTemp__vmgen_550(c, tmp2);
4702 }
N_NIMCALL(void,genVarargsABC__vmgen_1533)4703 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4704 NI x;
4705 NI T6_;
4706 NI T10_;
4707 NI T11_;
4708 {
4709 NI T5_;
4710 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4711 T5_ = (NI)0;
4712 T5_ = getTemp__vmgen_541(c, (*n).typ);
4713 (*dest) = ((NI) (T5_));
4714 }
4715 LA3_: ;
4716 T6_ = (NI)0;
4717 T6_ = len__ast_3198(n);
4718 x = getTempRange__vmgen_559(c, (NI)(T6_ - ((NI) 1)), ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6));
4719 {
4720 NI i;
4721 NI colontmp_;
4722 NI i_2;
4723 i = (NI)0;
4724 colontmp_ = (NI)0;
4725 colontmp_ = len__ast_3198(n);
4726 i_2 = ((NI) 1);
4727 {
4728 while (1) {
4729 NI r;
4730 if (!(i_2 < colontmp_)) goto LA9;
4731 i = i_2;
4732 r = ((NI) ((NI)((NI)(((NI) (x)) + i) - ((NI) 1))));
4733 gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4734 i_2 += ((NI) 1);
4735 } LA9: ;
4736 }
4737 }
4738 T10_ = (NI)0;
4739 T10_ = len__ast_3198(n);
4740 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), x, ((NI) ((NI)(T10_ - ((NI) 1)))));
4741 T11_ = (NI)0;
4742 T11_ = len__ast_3198(n);
4743 freeTempRange__vmgen_626(c, x, (NI)(T11_ - ((NI) 1)));
4744 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,ldNullOpcode__vmgen_1836)4745 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4746 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
4747 result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
4748 {
4749 NIM_BOOL T3_;
4750 T3_ = (NIM_BOOL)0;
4751 T3_ = fitsRegister__vmgen_1814(t);
4752 if (!T3_) goto LA4_;
4753 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173);
4754 }
4755 goto LA1_;
4756 LA4_: ;
4757 {
4758 result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172);
4759 }
4760 LA1_: ;
4761 return result;
4762 }
N_NIMCALL(void,genBinaryStmtVar__vmgen_1513)4763 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4764 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4765 NI dest;
4766 NI tmp;
4767 x = (*n)._kind_6.sons->data[((NI) 1)];
4768 {
4769 if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
4770 x = (*x)._kind_6.sons->data[((NI) 0)];
4771 }
4772 LA3_: ;
4773 dest = genx__vmgen_712(c, x, 0);
4774 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4775 gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4776 freeTemp__vmgen_550(c, tmp);
4777 freeTemp__vmgen_550(c, dest);
4778 }
N_NIMCALL(void,genBinaryABCD__vmgen_1414)4779 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4780 NI tmp;
4781 NI tmp2;
4782 NI tmp3;
4783 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4784 tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4785 tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4786 {
4787 NI T5_;
4788 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4789 T5_ = (NI)0;
4790 T5_ = getTemp__vmgen_541(c, (*n).typ);
4791 (*dest) = ((NI) (T5_));
4792 }
4793 LA3_: ;
4794 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4795 gABC__vmgen_312(c, n, opc, tmp3, ((NI) 0), ((NI) 0));
4796 freeTemp__vmgen_550(c, tmp);
4797 freeTemp__vmgen_550(c, tmp2);
4798 freeTemp__vmgen_550(c, tmp3);
4799 }
N_NIMCALL(void,genVoidABC__vmgen_1749)4800 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode) {
4801 NI tmp1;
4802 NI tmp2;
4803 NI tmp3;
4804 unused__vmgen_1026(c, n, dest);
4805 tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4806 tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4807 tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4808 gABC__vmgen_312(c, n, opcode, tmp1, tmp2, tmp3);
4809 freeTemp__vmgen_550(c, tmp1);
4810 freeTemp__vmgen_550(c, tmp2);
4811 freeTemp__vmgen_550(c, tmp3);
4812 }
N_NIMCALL(void,genBinaryStmt__vmgen_1505)4813 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4814 NI dest;
4815 NI tmp;
4816 dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4817 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4818 gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4819 freeTemp__vmgen_550(c, tmp);
4820 freeTemp__vmgen_550(c, dest);
4821 }
N_NIMCALL(void,genBindSym__vmgen_1760)4822 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4823 {
4824 NI T3_;
4825 T3_ = (NI)0;
4826 T3_ = len__ast_3198(n);
4827 if (!(T3_ == ((NI) 2))) goto LA4_;
4828 {
4829 NI idx;
4830 if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
4831 idx = genLiteral__vmgen_1013(c, (*n)._kind_6.sons->data[((NI) 1)]);
4832 {
4833 NI T14_;
4834 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA12_;
4835 T14_ = (NI)0;
4836 T14_ = getTemp__vmgen_541(c, (*n).typ);
4837 (*dest) = ((NI) (T14_));
4838 }
4839 LA12_: ;
4840 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 181), ((NI) ((*dest))), idx);
4841 }
4842 goto LA6_;
4843 LA8_: ;
4844 {
4845 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_61), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_62, NIM_FALSE);
4846 }
4847 LA6_: ;
4848 }
4849 goto LA1_;
4850 LA4_: ;
4851 {
4852 NI x;
4853 NI T22_;
4854 NI tmp0;
4855 NI tmp1;
4856 NI T27_;
4857 NI T28_;
4858 NI tmp2;
4859 NI T29_;
4860 NI T30_;
4861 NI T31_;
4862 NI T32_;
4863 {
4864 NI T21_;
4865 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA19_;
4866 T21_ = (NI)0;
4867 T21_ = getTemp__vmgen_541(c, (*n).typ);
4868 (*dest) = ((NI) (T21_));
4869 }
4870 LA19_: ;
4871 T22_ = (NI)0;
4872 T22_ = len__ast_3198(n);
4873 x = getTempRange__vmgen_559(c, T22_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4874 tmp0 = ((NI) (x));
4875 genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 0)], (&tmp0));
4876 {
4877 NI i;
4878 NI colontmp_;
4879 NI T24_;
4880 NI i_2;
4881 i = (NI)0;
4882 colontmp_ = (NI)0;
4883 T24_ = (NI)0;
4884 T24_ = len__ast_3198(n);
4885 colontmp_ = (NI)(T24_ - ((NI) 2));
4886 i_2 = ((NI) 1);
4887 {
4888 while (1) {
4889 NI r;
4890 if (!(i_2 < colontmp_)) goto LA26;
4891 i = i_2;
4892 r = ((NI) ((NI)(((NI) (x)) + i)));
4893 gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4894 i_2 += ((NI) 1);
4895 } LA26: ;
4896 }
4897 }
4898 T27_ = (NI)0;
4899 T27_ = len__ast_3198(n);
4900 tmp1 = ((NI) ((NI)((NI)(((NI) (x)) + T27_) - ((NI) 2))));
4901 T28_ = (NI)0;
4902 T28_ = len__ast_3198(n);
4903 genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], (&tmp1));
4904 T29_ = (NI)0;
4905 T29_ = len__ast_3198(n);
4906 tmp2 = ((NI) ((NI)((NI)(((NI) (x)) + T29_) - ((NI) 1))));
4907 T30_ = (NI)0;
4908 T30_ = len__ast_3198(n);
4909 genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T30_ - ((NI) 1))], (&tmp2));
4910 T31_ = (NI)0;
4911 T31_ = len__ast_3198(n);
4912 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 182), ((NI) ((*dest))), x, ((NI) (T31_)));
4913 T32_ = (NI)0;
4914 T32_ = len__ast_3198(n);
4915 freeTempRange__vmgen_626(c, x, T32_);
4916 }
4917 LA1_: ;
4918 }
N_NIMCALL(void,genMagic__vmgen_1858)4919 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
4920 switch (m) {
4921 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
4922 {
4923 genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), dest);
4924 }
4925 break;
4926 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
4927 {
4928 genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), dest);
4929 }
4930 break;
4931 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4932 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4933 {
4934 genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31));
4935 }
4936 break;
4937 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4938 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4939 {
4940 genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29));
4941 }
4942 break;
4943 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4944 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4945 {
4946 NIM_BOOL isUnsigned;
4947 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4948 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
4949 NI d;
4950 unused__vmgen_1026(c, n, (*dest));
4951 T6_ = NIM_NIL;
4952 T6_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_39);
4953 isUnsigned = ((*T6_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T6_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4954 {
4955 if (!!(isUnsigned)) goto LA9_;
4956 {
4957 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA13_;
4958 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29);
4959 }
4960 goto LA11_;
4961 LA13_: ;
4962 {
4963 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31);
4964 }
4965 LA11_: ;
4966 }
4967 goto LA7_;
4968 LA9_: ;
4969 {
4970 {
4971 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA19_;
4972 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53);
4973 }
4974 goto LA17_;
4975 LA19_: ;
4976 {
4977 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54);
4978 }
4979 LA17_: ;
4980 }
4981 LA7_: ;
4982 d = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4983 {
4984 NIM_BOOL T24_;
4985 T24_ = (NIM_BOOL)0;
4986 T24_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
4987 if (!(T24_)) goto LA25_;
4988 T24_ = !(isUnsigned);
4989 LA25_: ;
4990 if (!T24_) goto LA26_;
4991 gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), d, d, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
4992 }
4993 goto LA22_;
4994 LA26_: ;
4995 {
4996 NI tmp;
4997 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4998 gABC__vmgen_312(c, n, opc, d, d, tmp);
4999 freeTemp__vmgen_550(c, tmp);
5000 }
5001 LA22_: ;
5002 genNarrow__vmgen_1427(c, (*n)._kind_6.sons->data[((NI) 1)], ((NI) (d)));
5003 genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d);
5004 freeTemp__vmgen_550(c, d);
5005 }
5006 break;
5007 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
5008 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 43):
5009 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144):
5010 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
5011 {
5012 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
5013 }
5014 break;
5015 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
5016 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154):
5017 {
5018 genCall__vmgen_1204(c, n, dest);
5019 }
5020 break;
5021 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
5022 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
5023 {
5024 unused__vmgen_1026(c, n, (*dest));
5025 genNew__vmgen_1350(c, n);
5026 }
5027 break;
5028 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34):
5029 {
5030 unused__vmgen_1026(c, n, (*dest));
5031 genNewSeq__vmgen_1364(c, n);
5032 }
5033 break;
5034 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 35):
5035 {
5036 genNewSeqOfCap__vmgen_1379(c, n, dest);
5037 }
5038 break;
5039 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 145):
5040 {
5041 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160));
5042 }
5043 break;
5044 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 146):
5045 {
5046 NI T36_;
5047 NI tmp_2;
5048 T36_ = (NI)0;
5049 T36_ = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5050 freeTemp__vmgen_550(c, T36_);
5051 tmp_2 = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5052 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp_2, ((NI) 0));
5053 {
5054 NI T41_;
5055 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA39_;
5056 T41_ = (NI)0;
5057 T41_ = getTemp__vmgen_541(c, (*n).typ);
5058 (*dest) = ((NI) (T41_));
5059 }
5060 LA39_: ;
5061 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160), ((NI) ((*dest))), tmp_2, ((NI) 0));
5062 freeTemp__vmgen_550(c, tmp_2);
5063 }
5064 break;
5065 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36):
5066 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38):
5067 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
5068 {
5069 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(0));
5070 }
5071 break;
5072 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37):
5073 {
5074 switch ((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind) {
5075 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5076 {
5077 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), IL64(0));
5078 }
5079 break;
5080 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5081 {
5082 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), IL64(0));
5083 }
5084 break;
5085 default:
5086 {
5087 {
5088 NimStringDesc* T51_;
5089 if (!NIM_TRUE) goto LA49_;
5090 T51_ = NIM_NIL;
5091 T51_ = rawNewString((reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 28);
5092 appendString(T51_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_50));
5093 appendString(T51_, reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5094 failedAssertImpl__systemZassertions_56(T51_);
5095 }
5096 LA49_: ;
5097 }
5098 break;
5099 }
5100 }
5101 break;
5102 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
5103 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
5104 {
5105 NI d_2;
5106 NI tmp_3;
5107 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T53_;
5108 unused__vmgen_1026(c, n, (*dest));
5109 d_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5110 tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5111 genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], d_2);
5112 T53_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5113 {
5114 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40))) goto LA56_;
5115 T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36);
5116 }
5117 goto LA54_;
5118 LA56_: ;
5119 {
5120 T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 38);
5121 }
5122 LA54_: ;
5123 gABC__vmgen_312(c, n, T53_, d_2, tmp_3, ((NI) 0));
5124 freeTemp__vmgen_550(c, d_2);
5125 freeTemp__vmgen_550(c, tmp_3);
5126 }
5127 break;
5128 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
5129 {
5130 genCard__vmgen_1621(c, n, dest);
5131 }
5132 break;
5133 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
5134 {
5135 genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 40));
5136 }
5137 break;
5138 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
5139 {
5140 genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 41));
5141 }
5142 break;
5143 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50):
5144 {
5145 genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 42));
5146 }
5147 break;
5148 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
5149 {
5150 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 43));
5151 }
5152 break;
5153 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
5154 {
5155 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 44));
5156 }
5157 break;
5158 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
5159 {
5160 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 45));
5161 }
5162 break;
5163 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
5164 {
5165 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 46));
5166 }
5167 break;
5168 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
5169 {
5170 NI tmp_4;
5171 NI tmp2;
5172 tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5173 genNarrowU__vmgen_1453(c, n, ((NI) (tmp_4)));
5174 tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5175 {
5176 NI T72_;
5177 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA70_;
5178 T72_ = (NI)0;
5179 T72_ = getTemp__vmgen_541(c, (*n).typ);
5180 (*dest) = ((NI) (T72_));
5181 }
5182 LA70_: ;
5183 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 47), ((NI) ((*dest))), tmp_4, tmp2);
5184 freeTemp__vmgen_550(c, tmp_4);
5185 freeTemp__vmgen_550(c, tmp2);
5186 }
5187 break;
5188 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
5189 {
5190 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5191 NI64 size;
5192 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 48));
5193 t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5194 size = getSize__types_3327((*c).config, t);
5195 {
5196 NIM_BOOL T76_;
5197 NIM_BOOL T78_;
5198 T76_ = (NIM_BOOL)0;
5199 T76_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5200 if (T76_) goto LA77_;
5201 T78_ = (NIM_BOOL)0;
5202 T78_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5203 if (!(T78_)) goto LA79_;
5204 T78_ = (size < IL64(8));
5205 LA79_: ;
5206 T76_ = T78_;
5207 LA77_: ;
5208 if (!T76_) goto LA80_;
5209 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5210 }
5211 goto LA74_;
5212 LA80_: ;
5213 {
5214 NIM_BOOL T83_;
5215 NIM_BOOL T85_;
5216 T83_ = (NIM_BOOL)0;
5217 T83_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
5218 if (T83_) goto LA84_;
5219 T85_ = (NIM_BOOL)0;
5220 T85_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5221 if (!(T85_)) goto LA86_;
5222 T85_ = (size < IL64(8));
5223 LA86_: ;
5224 T83_ = T85_;
5225 LA84_: ;
5226 if (!T83_) goto LA87_;
5227 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5228 }
5229 goto LA74_;
5230 LA87_: ;
5231 LA74_: ;
5232 }
5233 break;
5234 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
5235 {
5236 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 49));
5237 }
5238 break;
5239 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 60):
5240 {
5241 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 50));
5242 }
5243 break;
5244 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 61):
5245 {
5246 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 51));
5247 }
5248 break;
5249 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 62):
5250 {
5251 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 52));
5252 }
5253 break;
5254 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
5255 {
5256 genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53));
5257 }
5258 break;
5259 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
5260 {
5261 genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54));
5262 }
5263 break;
5264 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
5265 {
5266 genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 55));
5267 }
5268 break;
5269 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
5270 {
5271 genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 56));
5272 }
5273 break;
5274 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 69):
5275 {
5276 genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 57));
5277 }
5278 break;
5279 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
5280 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
5281 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
5282 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
5283 {
5284 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 58));
5285 }
5286 break;
5287 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
5288 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
5289 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
5290 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
5291 {
5292 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 59));
5293 }
5294 break;
5295 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
5296 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
5297 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
5298 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
5299 {
5300 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 60));
5301 }
5302 break;
5303 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
5304 {
5305 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 61));
5306 }
5307 break;
5308 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
5309 {
5310 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 62));
5311 }
5312 break;
5313 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
5314 {
5315 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 63));
5316 }
5317 break;
5318 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
5319 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
5320 {
5321 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 64));
5322 }
5323 break;
5324 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
5325 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
5326 {
5327 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 65));
5328 }
5329 break;
5330 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
5331 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
5332 {
5333 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 66));
5334 }
5335 break;
5336 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
5337 {
5338 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 69));
5339 }
5340 break;
5341 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
5342 {
5343 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 70));
5344 }
5345 break;
5346 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
5347 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 94):
5348 {
5349 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 71));
5350 genNarrow__vmgen_1427(c, n, (*dest));
5351 }
5352 break;
5353 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
5354 {
5355 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 72));
5356 }
5357 break;
5358 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
5359 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 99):
5360 {
5361 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
5362 }
5363 break;
5364 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 98):
5365 {
5366 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
5367 NI64 size_2;
5368 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 73));
5369 t_2 = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5370 size_2 = getSize__types_3327((*c).config, t_2);
5371 {
5372 NIM_BOOL T115_;
5373 NIM_BOOL T117_;
5374 T115_ = (NIM_BOOL)0;
5375 T115_ = ((*t_2).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t_2).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5376 if (T115_) goto LA116_;
5377 T117_ = (NIM_BOOL)0;
5378 T117_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5379 if (!(T117_)) goto LA118_;
5380 T117_ = (size_2 < IL64(8));
5381 LA118_: ;
5382 T115_ = T117_;
5383 LA116_: ;
5384 if (!T115_) goto LA119_;
5385 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size_2 * IL64(8)))), ((NI) 0));
5386 }
5387 LA119_: ;
5388 }
5389 break;
5390 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
5391 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
5392 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
5393 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
5394 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 105):
5395 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
5396 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
5397 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
5398 {
5399 genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
5400 }
5401 break;
5402 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
5403 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91):
5404 {
5405 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 74));
5406 }
5407 break;
5408 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
5409 {
5410 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 75));
5411 }
5412 break;
5413 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
5414 {
5415 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 76));
5416 }
5417 break;
5418 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
5419 {
5420 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 77));
5421 }
5422 break;
5423 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
5424 {
5425 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 78));
5426 }
5427 break;
5428 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
5429 {
5430 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 79));
5431 }
5432 break;
5433 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
5434 {
5435 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 80));
5436 }
5437 break;
5438 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
5439 {
5440 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 81));
5441 }
5442 break;
5443 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
5444 {
5445 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 82));
5446 }
5447 break;
5448 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 125):
5449 {
5450 genVarargsABC__vmgen_1533(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 83));
5451 }
5452 break;
5453 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
5454 {
5455 genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84));
5456 }
5457 break;
5458 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 135):
5459 {
5460 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 85));
5461 }
5462 break;
5463 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 136):
5464 {
5465 NI tmp_5;
5466 unused__vmgen_1026(c, n, (*dest));
5467 tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5468 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 95), tmp_5, ((NI) 0), ((NI) 0));
5469 freeTemp__vmgen_550(c, tmp_5);
5470 }
5471 break;
5472 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137):
5473 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
5474 {
5475 NI d_3;
5476 NI tmp_6;
5477 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
5478 unused__vmgen_1026(c, n, (*dest));
5479 d_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5480 tmp_6 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5481 T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5482 {
5483 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137))) goto LA139_;
5484 T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 86);
5485 }
5486 goto LA137_;
5487 LA139_: ;
5488 {
5489 T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 87);
5490 }
5491 LA137_: ;
5492 gABC__vmgen_312(c, n, T136_, d_3, tmp_6, ((NI) 0));
5493 genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_3);
5494 freeTemp__vmgen_550(c, tmp_6);
5495 freeTemp__vmgen_550(c, d_3);
5496 }
5497 break;
5498 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
5499 {
5500 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T143_;
5501 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
5502 unused__vmgen_1026(c, n, (*dest));
5503 T143_ = NIM_NIL;
5504 {
5505 NIM_BOOL T146_;
5506 T146_ = (NIM_BOOL)0;
5507 T146_ = ((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL));
5508 if (T146_) goto LA147_;
5509 T146_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
5510 LA147_: ;
5511 if (!T146_) goto LA148_;
5512 T143_ = (*c).module;
5513 }
5514 goto LA144_;
5515 LA148_: ;
5516 {
5517 T143_ = (*(*c).prc).sym;
5518 }
5519 LA144_: ;
5520 T151_ = NIM_NIL;
5521 T151_ = lowerSwap__lowerings_246((*c).graph, n, (*c).Sup.idgen, T143_);
5522 gen__vmgen_707(c, T151_, 0);
5523 }
5524 break;
5525 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
5526 {
5527 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 88));
5528 }
5529 break;
5530 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 147):
5531 {
5532 NI d2;
5533 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d2AsNode;
5534 NI tmp1;
5535 NI tmp3;
5536 {
5537 NI T158_;
5538 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA156_;
5539 T158_ = (NI)0;
5540 T158_ = getTemp__vmgen_541(c, (*n).typ);
5541 (*dest) = ((NI) (T158_));
5542 }
5543 LA156_: ;
5544 d2 = (NI)0;
5545 d2AsNode = (*(*n)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)];
5546 {
5547 NIM_BOOL T161_;
5548 tyObject_TType__facALICuu8zUj0hjvbTLFg* T164_;
5549 T161_ = (NIM_BOOL)0;
5550 T161_ = needsAsgnPatch__vmgen_1269(d2AsNode);
5551 if (!T161_) goto LA162_;
5552 T164_ = NIM_NIL;
5553 T164_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
5554 d2 = getTemp__vmgen_541(c, T164_);
5555 }
5556 goto LA159_;
5557 LA162_: ;
5558 {
5559 d2 = genx__vmgen_712(c, d2AsNode, 0);
5560 }
5561 LA159_: ;
5562 tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5563 tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
5564 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), ((NI) ((*dest))), tmp1, d2);
5565 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), tmp3, ((NI) 0), ((NI) 0));
5566 freeTemp__vmgen_550(c, tmp1);
5567 freeTemp__vmgen_550(c, tmp3);
5568 genAsgnPatch__vmgen_1321(c, d2AsNode, d2);
5569 freeTemp__vmgen_550(c, d2);
5570 }
5571 break;
5572 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 158):
5573 {
5574 NI d_4;
5575 NI T167_;
5576 unused__vmgen_1026(c, n, (*dest));
5577 d_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5578 T167_ = (NI)0;
5579 T167_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5580 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), d_4, T167_);
5581 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), d_4, ((NI) (d_4)));
5582 genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_4);
5583 }
5584 break;
5585 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
5586 {
5587 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T174_;
5588 NI T175_;
5589 {
5590 NI T173_;
5591 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA171_;
5592 T173_ = (NI)0;
5593 T173_ = getTemp__vmgen_541(c, (*n).typ);
5594 (*dest) = ((NI) (T173_));
5595 }
5596 LA171_: ;
5597 T174_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5598 T174_ = ldNullOpcode__vmgen_1836((*n).typ);
5599 T175_ = (NI)0;
5600 T175_ = genType__vmgen_1088(c, (*n).typ);
5601 gABx__vmgen_375(c, n, T174_, ((NI) ((*dest))), T175_);
5602 }
5603 break;
5604 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
5605 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
5606 {
5607 NI tmp_7;
5608 NI idx;
5609 tyObject_TType__facALICuu8zUj0hjvbTLFg* T182_;
5610 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5611 NI T187_;
5612 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T188_;
5613 {
5614 NI T181_;
5615 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA179_;
5616 T181_ = (NI)0;
5617 T181_ = getTemp__vmgen_541(c, (*n).typ);
5618 (*dest) = ((NI) (T181_));
5619 }
5620 LA179_: ;
5621 tmp_7 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5622 T182_ = NIM_NIL;
5623 T182_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5624 idx = getTemp__vmgen_541(c, T182_);
5625 typ = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
5626 {
5627 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA185_;
5628 typ = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_55);
5629 }
5630 LA185_: ;
5631 T187_ = (NI)0;
5632 T187_ = genType__vmgen_1088(c, typ);
5633 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), idx, T187_);
5634 T188_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5635 {
5636 if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA191_;
5637 T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89);
5638 }
5639 goto LA189_;
5640 LA191_: ;
5641 {
5642 T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 90);
5643 }
5644 LA189_: ;
5645 gABC__vmgen_312(c, n, T188_, ((NI) ((*dest))), tmp_7, idx);
5646 freeTemp__vmgen_550(c, tmp_7);
5647 freeTemp__vmgen_550(c, idx);
5648 }
5649 break;
5650 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
5651 {
5652 NI tmp_8;
5653 tyObject_TType__facALICuu8zUj0hjvbTLFg* T200_;
5654 {
5655 NI T199_;
5656 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA197_;
5657 T199_ = (NI)0;
5658 T199_ = getTemp__vmgen_541(c, (*n).typ);
5659 (*dest) = ((NI) (T199_));
5660 }
5661 LA197_: ;
5662 tmp_8 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5663 T200_ = NIM_NIL;
5664 T200_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5665 switch ((*T200_).kind) {
5666 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5667 {
5668 gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), ((NI) ((*dest))), tmp_8, IL64(1));
5669 }
5670 break;
5671 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5672 {
5673 gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), ((NI) ((*dest))), tmp_8, IL64(1));
5674 }
5675 break;
5676 default:
5677 {
5678 gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), ((NI) ((*dest))), tmp_8, IL64(1));
5679 }
5680 break;
5681 }
5682 freeTemp__vmgen_550(c, tmp_8);
5683 }
5684 break;
5685 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20):
5686 {
5687 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5688 unused__vmgen_1026(c, n, (*dest));
5689 n_2 = skipConv__types_3588((*n)._kind_6.sons->data[((NI) 1)]);
5690 {
5691 NI x;
5692 NI T209_;
5693 NI T213_;
5694 NI T214_;
5695 if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA207_;
5696 T209_ = (NI)0;
5697 T209_ = len__ast_3198(n_2);
5698 x = getTempRange__vmgen_559(c, T209_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
5699 {
5700 NI i;
5701 NI colontmp_;
5702 NI i_2;
5703 i = (NI)0;
5704 colontmp_ = (NI)0;
5705 colontmp_ = len__ast_3198(n_2);
5706 i_2 = ((NI) 0);
5707 {
5708 while (1) {
5709 NI r;
5710 if (!(i_2 < colontmp_)) goto LA212;
5711 i = i_2;
5712 r = ((NI) ((NI)(((NI) (x)) + i)));
5713 gen__vmgen_692(c, (*n_2)._kind_6.sons->data[i], r, 0);
5714 i_2 += ((NI) 1);
5715 } LA212: ;
5716 }
5717 }
5718 T213_ = (NI)0;
5719 T213_ = len__ast_3198(n_2);
5720 gABC__vmgen_312(c, n_2, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153), x, ((NI) (T213_)), ((NI) 0));
5721 T214_ = (NI)0;
5722 T214_ = len__ast_3198(n_2);
5723 freeTempRange__vmgen_626(c, x, T214_);
5724 }
5725 LA207_: ;
5726 }
5727 break;
5728 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
5729 {
5730 unused__vmgen_1026(c, n, (*dest));
5731 genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 100));
5732 }
5733 break;
5734 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
5735 {
5736 unused__vmgen_1026(c, n, (*dest));
5737 genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 101));
5738 }
5739 break;
5740 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
5741 {
5742 unused__vmgen_1026(c, n, (*dest));
5743 genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 102));
5744 }
5745 break;
5746 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 25):
5747 {
5748 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 141));
5749 }
5750 break;
5751 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 26):
5752 {
5753 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142));
5754 }
5755 break;
5756 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
5757 {
5758 NI tmp_9;
5759 NI T226_;
5760 tmp_9 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5761 {
5762 NI T225_;
5763 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA223_;
5764 T225_ = (NI)0;
5765 T225_ = getTemp__vmgen_541(c, (*n).typ);
5766 (*dest) = ((NI) (T225_));
5767 }
5768 LA223_: ;
5769 T226_ = (NI)0;
5770 T226_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5771 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), tmp_9, T226_);
5772 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 184), ((NI) ((*dest))), tmp_9, ((NI) 0));
5773 freeTemp__vmgen_550(c, tmp_9);
5774 }
5775 break;
5776 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 22):
5777 {
5778 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 139));
5779 }
5780 break;
5781 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 23):
5782 {
5783 genBinaryABCD__vmgen_1414(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 140));
5784 }
5785 break;
5786 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 212):
5787 {
5788 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(16));
5789 }
5790 break;
5791 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 255):
5792 {
5793 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 151));
5794 }
5795 break;
5796 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 272):
5797 {
5798 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 152));
5799 }
5800 break;
5801 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 270):
5802 {
5803 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 187));
5804 }
5805 break;
5806 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 273):
5807 {
5808 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 188));
5809 }
5810 break;
5811 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 213):
5812 {
5813 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 157));
5814 }
5815 break;
5816 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 214):
5817 {
5818 genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 158));
5819 }
5820 break;
5821 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 217):
5822 {
5823 genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 125));
5824 }
5825 break;
5826 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 215):
5827 {
5828 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 104));
5829 }
5830 break;
5831 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 216):
5832 {
5833 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 105));
5834 }
5835 break;
5836 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 218):
5837 {
5838 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 106));
5839 }
5840 break;
5841 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 219):
5842 {
5843 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 107));
5844 }
5845 break;
5846 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 220):
5847 {
5848 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 127));
5849 }
5850 break;
5851 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 221):
5852 {
5853 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 128));
5854 }
5855 break;
5856 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 222):
5857 {
5858 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 129));
5859 }
5860 break;
5861 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 223):
5862 {
5863 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 130));
5864 }
5865 break;
5866 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 224):
5867 {
5868 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 131));
5869 }
5870 break;
5871 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 225):
5872 {
5873 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 132));
5874 }
5875 break;
5876 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 226):
5877 {
5878 genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 133));
5879 }
5880 break;
5881 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 227):
5882 {
5883 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 134));
5884 }
5885 break;
5886 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 228):
5887 {
5888 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 135));
5889 }
5890 break;
5891 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 229):
5892 {
5893 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 136));
5894 }
5895 break;
5896 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 230):
5897 {
5898 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 137));
5899 }
5900 break;
5901 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 231):
5902 {
5903 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 108));
5904 }
5905 break;
5906 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 232):
5907 {
5908 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 109));
5909 }
5910 break;
5911 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 233):
5912 {
5913 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 110));
5914 }
5915 break;
5916 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 234):
5917 {
5918 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 111));
5919 }
5920 break;
5921 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 235):
5922 {
5923 NI tmp_10;
5924 NI rc;
5925 tmp_10 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5926 {
5927 NI T261_;
5928 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA259_;
5929 T261_ = (NI)0;
5930 T261_ = getTemp__vmgen_541(c, (*n).typ);
5931 (*dest) = ((NI) (T261_));
5932 }
5933 LA259_: ;
5934 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_56))) goto LA262_;
5935 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_57))) goto LA263_;
5936 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_58))) goto LA264_;
5937 goto LA265_;
5938 LA262_: ;
5939 {
5940 rc = ((NI) 0);
5941 }
5942 goto LA266_;
5943 LA263_: ;
5944 {
5945 rc = ((NI) 1);
5946 }
5947 goto LA266_;
5948 LA264_: ;
5949 {
5950 rc = ((NI) 2);
5951 }
5952 goto LA266_;
5953 LA265_: ;
5954 {
5955 rc = ((NI) 3);
5956 }
5957 LA266_: ;
5958 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 112), ((NI) ((*dest))), tmp_10, ((NI) (rc)));
5959 freeTemp__vmgen_550(c, tmp_10);
5960 }
5961 break;
5962 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 249):
5963 {
5964 NI imm;
5965 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_59))) goto LA272_;
5966 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_60))) goto LA273_;
5967 goto LA274_;
5968 LA272_: ;
5969 {
5970 imm = ((NI) 0);
5971 }
5972 goto LA275_;
5973 LA273_: ;
5974 {
5975 imm = ((NI) 1);
5976 }
5977 goto LA275_;
5978 LA274_: ;
5979 {
5980 imm = ((NI) 2);
5981 }
5982 LA275_: ;
5983 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 115), ((NI64) (imm)));
5984 }
5985 break;
5986 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 236):
5987 {
5988 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 113));
5989 }
5990 break;
5991 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 248):
5992 {
5993 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 114));
5994 }
5995 break;
5996 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 237):
5997 {
5998 unused__vmgen_1026(c, n, (*dest));
5999 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 116));
6000 }
6001 break;
6002 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 238):
6003 {
6004 unused__vmgen_1026(c, n, (*dest));
6005 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 117));
6006 }
6007 break;
6008 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 239):
6009 {
6010 unused__vmgen_1026(c, n, (*dest));
6011 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 118));
6012 }
6013 break;
6014 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 240):
6015 {
6016 unused__vmgen_1026(c, n, (*dest));
6017 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 119));
6018 }
6019 break;
6020 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 241):
6021 {
6022 unused__vmgen_1026(c, n, (*dest));
6023 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 120));
6024 }
6025 break;
6026 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 242):
6027 {
6028 unused__vmgen_1026(c, n, (*dest));
6029 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 121));
6030 }
6031 break;
6032 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 244):
6033 {
6034 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 122));
6035 }
6036 break;
6037 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 245):
6038 {
6039 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 123));
6040 }
6041 break;
6042 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 246):
6043 {
6044 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 124));
6045 }
6046 break;
6047 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
6048 {
6049 genBindSym__vmgen_1760(c, n, dest);
6050 }
6051 break;
6052 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 247):
6053 {
6054 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 150));
6055 }
6056 break;
6057 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 252):
6058 {
6059 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 149));
6060 }
6061 break;
6062 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 253):
6063 {
6064 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 67));
6065 }
6066 break;
6067 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 254):
6068 {
6069 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 68));
6070 }
6071 break;
6072 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 243):
6073 {
6074 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_63))) goto LA296_;
6075 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_64))) goto LA297_;
6076 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_65))) goto LA298_;
6077 if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_66))) goto LA299_;
6078 goto LA300_;
6079 LA296_: ;
6080 {
6081 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(0));
6082 }
6083 goto LA301_;
6084 LA297_: ;
6085 {
6086 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(1));
6087 }
6088 goto LA301_;
6089 LA298_: ;
6090 {
6091 genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(2));
6092 }
6093 goto LA301_;
6094 LA299_: ;
6095 {
6096 {
6097 NI T308_;
6098 NimStringDesc* argX60gensym324_;
6099 T308_ = (NI)0;
6100 T308_ = len__ast_3198(n);
6101 if (!!((T308_ == ((NI) 3)))) goto LA309_;
6102 argX60gensym324_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_67);
6103 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__24XApAWKNvaMkcyklm8bNA_67);
6104 }
6105 LA309_: ;
6106 unused__vmgen_1026(c, n, (*dest));
6107 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 148));
6108 }
6109 goto LA301_;
6110 LA300_: ;
6111 {
6112 {
6113 NimStringDesc* argX60gensym326_;
6114 if (!NIM_TRUE) goto LA314_;
6115 argX60gensym326_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_68);
6116 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym326_, TM__24XApAWKNvaMkcyklm8bNA_68);
6117 }
6118 LA314_: ;
6119 }
6120 LA301_: ;
6121 }
6122 break;
6123 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 257):
6124 {
6125 unused__vmgen_1026(c, n, (*dest));
6126 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 146));
6127 }
6128 break;
6129 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 258):
6130 {
6131 unused__vmgen_1026(c, n, (*dest));
6132 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 145));
6133 }
6134 break;
6135 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 259):
6136 {
6137 {
6138 NI T321_;
6139 T321_ = (NI)0;
6140 T321_ = len__ast_3198(n);
6141 if (!(T321_ <= ((NI) 1))) goto LA322_;
6142 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6143 }
6144 goto LA319_;
6145 LA322_: ;
6146 {
6147 unused__vmgen_1026(c, n, (*dest));
6148 genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144));
6149 }
6150 LA319_: ;
6151 }
6152 break;
6153 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 251):
6154 {
6155 {
6156 NI T330_;
6157 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA328_;
6158 T330_ = (NI)0;
6159 T330_ = getTemp__vmgen_541(c, (*n).typ);
6160 (*dest) = ((NI) (T330_));
6161 }
6162 LA328_: ;
6163 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 159), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6164 }
6165 break;
6166 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 256):
6167 {
6168 genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 126));
6169 }
6170 break;
6171 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
6172 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
6173 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
6174 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
6175 {
6176 genCall__vmgen_1204(c, n, dest);
6177 }
6178 break;
6179 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
6180 {
6181 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
6182 {
6183 NI T336_;
6184 T336_ = (NI)0;
6185 T336_ = len__ast_3198(n);
6186 if (!!((T336_ == ((NI) 2)))) goto LA337_;
6187 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_69), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_70, NIM_FALSE);
6188 }
6189 LA337_: ;
6190 arg = (*n)._kind_6.sons->data[((NI) 1)];
6191 {
6192 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA341_;
6193 {
6194 NI T347_;
6195 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA345_;
6196 T347_ = (NI)0;
6197 T347_ = getTemp__vmgen_541(c, (*n).typ);
6198 (*dest) = ((NI) (T347_));
6199 }
6200 LA345_: ;
6201 genCall__vmgen_1204(c, arg, dest);
6202 }
6203 goto LA339_;
6204 LA341_: ;
6205 {
6206 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_71), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_72, NIM_FALSE);
6207 }
6208 LA339_: ;
6209 }
6210 break;
6211 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
6212 {
6213 NimStringDesc* T350_;
6214 T350_ = NIM_NIL;
6215 T350_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_74, 1);
6216 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T350_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_76, NIM_FALSE);
6217 }
6218 break;
6219 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
6220 {
6221 NimStringDesc* T352_;
6222 T352_ = NIM_NIL;
6223 T352_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_77, 1);
6224 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T352_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_79, NIM_FALSE);
6225 }
6226 break;
6227 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
6228 {
6229 NimStringDesc* T354_;
6230 T354_ = NIM_NIL;
6231 T354_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_80, 1);
6232 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T354_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_82, NIM_FALSE);
6233 }
6234 break;
6235 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
6236 {
6237 }
6238 break;
6239 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
6240 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
6241 {
6242 }
6243 break;
6244 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148):
6245 {
6246 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg_2;
6247 NI a;
6248 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T363_;
6249 arg_2 = (*n)._kind_6.sons->data[((NI) 1)];
6250 a = genx__vmgen_712(c, arg_2, 0);
6251 {
6252 NI T362_;
6253 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA360_;
6254 T362_ = (NI)0;
6255 T362_ = getTemp__vmgen_541(c, (*arg_2).typ);
6256 (*dest) = ((NI) (T362_));
6257 }
6258 LA360_: ;
6259 T363_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6260 T363_ = whichAsgnOpc__vmgen_1846(arg_2, NIM_FALSE);
6261 gABC__vmgen_312(c, arg_2, T363_, ((NI) ((*dest))), a, ((NI) 0));
6262 freeTemp__vmgen_550(c, a);
6263 }
6264 break;
6265 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 274):
6266 {
6267 genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 138));
6268 }
6269 break;
6270 default:
6271 {
6272 NimStringDesc* T366_;
6273 T366_ = NIM_NIL;
6274 T366_ = rawNewString((reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)) ? reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_))->Sup.len : 0) + 26);
6275 appendString(T366_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
6276 appendString(T366_, reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)));
6277 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T366_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_83, NIM_FALSE);
6278 }
6279 break;
6280 }
6281 }
N_NIMCALL(void,genMarshalLoad__vmgen_2071)6282 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6283 NI tmp;
6284 NI T6_;
6285 {
6286 NI T5_;
6287 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6288 T5_ = (NI)0;
6289 T5_ = getTemp__vmgen_541(c, (*n).typ);
6290 (*dest) = ((NI) (T5_));
6291 }
6292 LA3_: ;
6293 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6294 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) ((*dest))), tmp, ((NI) 0));
6295 T6_ = (NI)0;
6296 T6_ = genType__vmgen_1088(c, (*n).typ);
6297 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) 0), T6_);
6298 freeTemp__vmgen_550(c, tmp);
6299 }
N_NIMCALL(void,genMarshalStore__vmgen_2077)6300 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6301 NI tmp;
6302 NI T6_;
6303 {
6304 NI T5_;
6305 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6306 T5_ = (NI)0;
6307 T5_ = getTemp__vmgen_541(c, (*n).typ);
6308 (*dest) = ((NI) (T5_));
6309 }
6310 LA3_: ;
6311 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6312 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) ((*dest))), tmp, ((NI) 0));
6313 T6_ = (NI)0;
6314 T6_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
6315 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) 0), T6_);
6316 freeTemp__vmgen_550(c, tmp);
6317 }
N_INLINE(void,clearDest__vmgen_718)6318 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6319 {
6320 NIM_BOOL T3_;
6321 NIM_BOOL T5_;
6322 T3_ = (NIM_BOOL)0;
6323 T3_ = (((NI) 0) <= ((NI) ((*dest))));
6324 if (!(T3_)) goto LA4_;
6325 T5_ = (NIM_BOOL)0;
6326 T5_ = ((*n).typ == 0);
6327 if (T5_) goto LA6_;
6328 T5_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
6329 LA6_: ;
6330 T3_ = T5_;
6331 LA4_: ;
6332 if (!T3_) goto LA7_;
6333 freeTemp__vmgen_550(c, ((NI) ((*dest))));
6334 (*dest) = ((NI) -1);
6335 }
6336 LA7_: ;
6337 }
N_NIMCALL(NIM_BOOL,isInt16Lit__vmgen_1573)6338 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6339 NIM_BOOL result;
6340 result = (NIM_BOOL)0;
6341 {
6342 NIM_BOOL T5_;
6343 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
6344 T5_ = (NIM_BOOL)0;
6345 T5_ = (IL64(-32768) <= (*n)._kind_1.intVal);
6346 if (!(T5_)) goto LA6_;
6347 T5_ = ((*n)._kind_1.intVal <= IL64(32767));
6348 LA6_: ;
6349 result = T5_;
6350 }
6351 LA3_: ;
6352 return result;
6353 }
N_NIMCALL(void,preventFalseAlias__vmgen_2315)6354 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
6355 {
6356 NIM_BOOL T3_;
6357 NIM_BOOL T4_;
6358 NIM_BOOL T6_;
6359 T3_ = (NIM_BOOL)0;
6360 T4_ = (NIM_BOOL)0;
6361 T4_ = isTemp__vmgen_929(c, ((NI) (dest)));
6362 T3_ = !(T4_);
6363 if (!(T3_)) goto LA5_;
6364 T6_ = (NIM_BOOL)0;
6365 T6_ = fitsRegister__vmgen_1814((*n).typ);
6366 T3_ = !(T6_);
6367 LA5_: ;
6368 if (!T3_) goto LA7_;
6369 genAdditionalCopy__vmgen_2307(c, n, opc, dest, idx, value);
6370 }
6371 goto LA1_;
6372 LA7_: ;
6373 {
6374 gABC__vmgen_312(c, n, opc, dest, idx, value);
6375 }
6376 LA1_: ;
6377 }
N_NIMCALL(void,genAsgn__vmgen_2329)6378 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
6379 switch ((*le).kind) {
6380 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
6381 {
6382 NI dest;
6383 NI idx;
6384 NI tmp;
6385 dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6386 idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
6387 tmp = genx__vmgen_712(c, ri, 0);
6388 {
6389 tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
6390 T4_ = NIM_NIL;
6391 T4_ = skipTypes__ast_3735((*(*le)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6392 if (!((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA5_;
6393 preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 26), dest, idx, tmp);
6394 }
6395 goto LA2_;
6396 LA5_: ;
6397 {
6398 preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, tmp);
6399 }
6400 LA2_: ;
6401 freeTemp__vmgen_550(c, tmp);
6402 freeTemp__vmgen_550(c, idx);
6403 freeTemp__vmgen_550(c, dest);
6404 }
6405 break;
6406 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
6407 {
6408 NI objR;
6409 NI idx_2;
6410 NI tmp_2;
6411 objR = ((NI) -1);
6412 genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
6413 idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
6414 tmp_2 = genx__vmgen_712(c, ri, 0);
6415 preventFalseAlias__vmgen_2315(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, tmp_2);
6416 freeTemp__vmgen_550(c, tmp_2);
6417 freeTemp__vmgen_550(c, ((NI) (objR)));
6418 }
6419 break;
6420 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
6421 {
6422 NI dest_2;
6423 NI idx_3;
6424 NI tmp_3;
6425 dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6426 idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
6427 tmp_3 = genx__vmgen_712(c, ri, 0);
6428 preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, tmp_3);
6429 freeTemp__vmgen_550(c, tmp_3);
6430 freeTemp__vmgen_550(c, dest_2);
6431 }
6432 break;
6433 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
6434 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
6435 {
6436 NI dest_3;
6437 NI tmp_4;
6438 dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6439 tmp_4 = genx__vmgen_712(c, ri, 0);
6440 preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), tmp_4);
6441 freeTemp__vmgen_550(c, dest_3);
6442 freeTemp__vmgen_550(c, tmp_4);
6443 }
6444 break;
6445 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6446 {
6447 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
6448 s = (*le)._kind_4.sym;
6449 checkCanEval__vmgen_2268(c, le);
6450 {
6451 NIM_BOOL T14_;
6452 NI tmp_5;
6453 NI val;
6454 T14_ = (NIM_BOOL)0;
6455 T14_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6456 if (!(T14_)) goto LA15_;
6457 T14_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6458 LA15_: ;
6459 if (!T14_) goto LA16_;
6460 tmp_5 = getTemp__vmgen_541(c, (*le).typ);
6461 gen__vmgen_692(c, le, tmp_5, 2);
6462 val = genx__vmgen_712(c, ri, 0);
6463 preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp_5, ((NI) 0), val);
6464 freeTemp__vmgen_550(c, val);
6465 freeTemp__vmgen_550(c, tmp_5);
6466 }
6467 goto LA12_;
6468 LA16_: ;
6469 {
6470 NI dest_4;
6471 {
6472 if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21))) goto LA21_;
6473 setSlot__vmgen_2224(c, s);
6474 }
6475 LA21_: ;
6476 {
6477 NIM_BOOL T25_;
6478 NIM_BOOL T27_;
6479 NimStringDesc* argX60gensym417_;
6480 T25_ = (NIM_BOOL)0;
6481 T25_ = (((NI) 0) < (*s).position);
6482 if (T25_) goto LA26_;
6483 T27_ = (NIM_BOOL)0;
6484 T27_ = ((*s).position == ((NI) 0));
6485 if (!(T27_)) goto LA28_;
6486 T27_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6487 LA28_: ;
6488 T25_ = T27_;
6489 LA26_: ;
6490 if (!!(T25_)) goto LA29_;
6491 argX60gensym417_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_90);
6492 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym417_, TM__24XApAWKNvaMkcyklm8bNA_90);
6493 }
6494 LA29_: ;
6495 dest_4 = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
6496 {
6497 NIM_BOOL T33_;
6498 NIM_BOOL T34_;
6499 NIM_BOOL T35_;
6500 NIM_BOOL T37_;
6501 NI cc;
6502 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T41_;
6503 T33_ = (NIM_BOOL)0;
6504 T34_ = (NIM_BOOL)0;
6505 T35_ = (NIM_BOOL)0;
6506 T35_ = isTemp__vmgen_929(c, ((NI) (dest_4)));
6507 T34_ = !(T35_);
6508 if (!(T34_)) goto LA36_;
6509 T37_ = (NIM_BOOL)0;
6510 T37_ = fitsRegister__vmgen_1814((*le).typ);
6511 T34_ = !(T37_);
6512 LA36_: ;
6513 T33_ = T34_;
6514 if (!(T33_)) goto LA38_;
6515 T33_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6516 LA38_: ;
6517 if (!T33_) goto LA39_;
6518 cc = getTemp__vmgen_541(c, (*le).typ);
6519 gen__vmgen_692(c, ri, cc, 0);
6520 T41_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6521 T41_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
6522 gABC__vmgen_312(c, le, T41_, dest_4, cc, ((NI) 0));
6523 freeTemp__vmgen_550(c, cc);
6524 }
6525 goto LA31_;
6526 LA39_: ;
6527 {
6528 gen__vmgen_692(c, ri, dest_4, 0);
6529 }
6530 LA31_: ;
6531 }
6532 LA12_: ;
6533 }
6534 break;
6535 default:
6536 {
6537 NI dest_5;
6538 dest_5 = genx__vmgen_712(c, le, 2);
6539 genAsgn__vmgen_2215(c, ((NI) (dest_5)), ri, requiresCopy);
6540 freeTemp__vmgen_550(c, dest_5);
6541 }
6542 break;
6543 }
6544 }
N_NIMCALL(void,genObjAccess__vmgen_2569)6545 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6546 NI a;
6547 NI b;
6548 a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6549 b = genField__vmgen_1288(c, (*n)._kind_6.sons->data[((NI) 1)]);
6550 {
6551 NI T5_;
6552 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6553 T5_ = (NI)0;
6554 T5_ = getTemp__vmgen_541(c, (*n).typ);
6555 (*dest) = ((NI) (T5_));
6556 }
6557 LA3_: ;
6558 {
6559 if (!!(((2 & flags) == 0))) goto LA8_;
6560 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), a, b);
6561 }
6562 goto LA6_;
6563 LA8_: ;
6564 {
6565 NIM_BOOL T11_;
6566 tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
6567 NI cc;
6568 T11_ = (NIM_BOOL)0;
6569 T11_ = ((3 & flags) == 0);
6570 if (!(T11_)) goto LA12_;
6571 T13_ = NIM_NIL;
6572 T13_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6573 T11_ = fitsRegister__vmgen_1814(T13_);
6574 LA12_: ;
6575 if (!T11_) goto LA14_;
6576 cc = getTemp__vmgen_541(c, (*n).typ);
6577 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, a, b);
6578 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6579 freeTemp__vmgen_550(c, cc);
6580 }
6581 goto LA6_;
6582 LA14_: ;
6583 {
6584 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), a, b);
6585 }
6586 LA6_: ;
6587 freeTemp__vmgen_550(c, a);
6588 }
N_NIMCALL(void,genCheckedObjAccess__vmgen_2646)6589 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6590 NI objR;
6591 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
6592 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
6593 NI fieldPos;
6594 objR = ((NI) -1);
6595 genCheckedObjAccessAux__vmgen_1316(c, n, (&objR), flags);
6596 accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
6597 field = (*accessExpr)._kind_6.sons->data[((NI) 1)];
6598 {
6599 NimStringDesc* argX60gensym473_;
6600 if (!!(((*(*field)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA3_;
6601 argX60gensym473_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_92);
6602 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym473_, TM__24XApAWKNvaMkcyklm8bNA_92);
6603 }
6604 LA3_: ;
6605 {
6606 NI T9_;
6607 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA7_;
6608 T9_ = (NI)0;
6609 T9_ = getTemp__vmgen_541(c, (*n).typ);
6610 (*dest) = ((NI) (T9_));
6611 }
6612 LA7_: ;
6613 fieldPos = genField__vmgen_1288(c, field);
6614 {
6615 if (!!(((2 & flags) == 0))) goto LA12_;
6616 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6617 }
6618 goto LA10_;
6619 LA12_: ;
6620 {
6621 NIM_BOOL T15_;
6622 tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
6623 NI cc;
6624 T15_ = (NIM_BOOL)0;
6625 T15_ = ((3 & flags) == 0);
6626 if (!(T15_)) goto LA16_;
6627 T17_ = NIM_NIL;
6628 T17_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6629 T15_ = fitsRegister__vmgen_1814(T17_);
6630 LA16_: ;
6631 if (!T15_) goto LA18_;
6632 cc = getTemp__vmgen_541(c, (*accessExpr).typ);
6633 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, ((NI) (objR)), fieldPos);
6634 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6635 freeTemp__vmgen_550(c, cc);
6636 }
6637 goto LA10_;
6638 LA18_: ;
6639 {
6640 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6641 }
6642 LA10_: ;
6643 freeTemp__vmgen_550(c, ((NI) (objR)));
6644 }
N_NIMCALL(void,genArrAccessOpcode__vmgen_2541)6645 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6646 NI a;
6647 NI b;
6648 a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6649 b = genIndex__vmgen_1305(c, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
6650 {
6651 NI T5_;
6652 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6653 T5_ = (NI)0;
6654 T5_ = getTemp__vmgen_541(c, (*n).typ);
6655 (*dest) = ((NI) (T5_));
6656 }
6657 LA3_: ;
6658 {
6659 NIM_BOOL T8_;
6660 T8_ = (NIM_BOOL)0;
6661 T8_ = (opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17) || opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28));
6662 if (!(T8_)) goto LA9_;
6663 T8_ = ((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0);
6664 LA9_: ;
6665 if (!T8_) goto LA10_;
6666 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6667 }
6668 goto LA6_;
6669 LA10_: ;
6670 {
6671 NIM_BOOL T13_;
6672 tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
6673 NI cc;
6674 T13_ = (NIM_BOOL)0;
6675 T13_ = ((3 & flags) == 0);
6676 if (!(T13_)) goto LA14_;
6677 T15_ = NIM_NIL;
6678 T15_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6679 T13_ = fitsRegister__vmgen_1814(T15_);
6680 LA14_: ;
6681 if (!T13_) goto LA16_;
6682 cc = getTemp__vmgen_541(c, (*n).typ);
6683 gABC__vmgen_312(c, n, opc, cc, a, b);
6684 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6685 freeTemp__vmgen_550(c, cc);
6686 }
6687 goto LA6_;
6688 LA16_: ;
6689 {
6690 gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6691 }
6692 LA6_: ;
6693 freeTemp__vmgen_550(c, a);
6694 freeTemp__vmgen_550(c, b);
6695 }
N_NIMCALL(void,genArrAccess__vmgen_2682)6696 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6697 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag arrayType;
6698 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6699 T1_ = NIM_NIL;
6700 T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6701 arrayType = (*T1_).kind;
6702 {
6703 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
6704 if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA4_;
6705 {
6706 if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA8_;
6707 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28);
6708 }
6709 goto LA6_;
6710 LA8_: ;
6711 {
6712 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 27);
6713 }
6714 LA6_: ;
6715 genArrAccessOpcode__vmgen_2541(c, n, dest, opc, flags);
6716 }
6717 goto LA2_;
6718 LA4_: ;
6719 {
6720 if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA12_;
6721 genTypeLit__vmgen_2407(c, (*n).typ, dest);
6722 }
6723 goto LA2_;
6724 LA12_: ;
6725 {
6726 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc_2;
6727 {
6728 if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA17_;
6729 opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17);
6730 }
6731 goto LA15_;
6732 LA17_: ;
6733 {
6734 opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 16);
6735 }
6736 LA15_: ;
6737 genArrAccessOpcode__vmgen_2541(c, n, dest, opc_2, flags);
6738 }
6739 LA2_: ;
6740 }
N_NIMCALL(NIM_BOOL,unneededIndirection__vmgen_2084)6741 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6742 NIM_BOOL result;
6743 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6744 result = (NIM_BOOL)0;
6745 T1_ = NIM_NIL;
6746 T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
6747 result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
6748 return result;
6749 }
N_NIMCALL(void,genDeref__vmgen_2181)6750 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6751 {
6752 NIM_BOOL T3_;
6753 T3_ = (NIM_BOOL)0;
6754 T3_ = unneededIndirection__vmgen_2084((*n)._kind_6.sons->data[((NI) 0)]);
6755 if (!T3_) goto LA4_;
6756 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, flags);
6757 {
6758 NIM_BOOL T8_;
6759 T8_ = (NIM_BOOL)0;
6760 T8_ = ((3 & flags) == 0);
6761 if (!(T8_)) goto LA9_;
6762 T8_ = fitsRegister__vmgen_1814((*n).typ);
6763 LA9_: ;
6764 if (!T8_) goto LA10_;
6765 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6766 }
6767 LA10_: ;
6768 }
6769 goto LA1_;
6770 LA4_: ;
6771 {
6772 NI tmp;
6773 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6774 {
6775 NI T17_;
6776 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA15_;
6777 T17_ = (NI)0;
6778 T17_ = getTemp__vmgen_541(c, (*n).typ);
6779 (*dest) = ((NI) (T17_));
6780 }
6781 LA15_: ;
6782 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 24), ((NI) ((*dest))), tmp, ((NI) 0));
6783 {
6784 NIM_BOOL T20_;
6785 T20_ = (NIM_BOOL)0;
6786 T20_ = ((3 & flags) == 0);
6787 if (!(T20_)) goto LA21_;
6788 T20_ = fitsRegister__vmgen_1814((*n).typ);
6789 LA21_: ;
6790 if (!T20_) goto LA22_;
6791 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6792 }
6793 LA22_: ;
6794 freeTemp__vmgen_550(c, tmp);
6795 }
6796 LA1_: ;
6797 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canElimAddr__vmgen_2095)6798 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6799 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
6800 { result = NIM_NIL;
6801 {
6802 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
6803 T3_ = NIM_NIL;
6804 T3_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
6805 if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA4_;
6806 result = (*n)._kind_6.sons->data[((NI) 0)];
6807 goto BeforeRet_;
6808 }
6809 LA4_: ;
6810 switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
6811 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6812 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6813 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
6814 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
6815 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
6816 {
6817 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6818 m = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6819 {
6820 if (!((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA9_;
6821 result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6822 add__ast_4797(result, (*m)._kind_6.sons->data[((NI) 0)]);
6823 }
6824 LA9_: ;
6825 }
6826 break;
6827 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6828 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6829 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6830 {
6831 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m_2;
6832 m_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
6833 {
6834 if (!((*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA14_;
6835 result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6836 add__ast_4797(result, (*m_2)._kind_6.sons->data[((NI) 0)]);
6837 }
6838 LA14_: ;
6839 }
6840 break;
6841 default:
6842 {
6843 {
6844 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA19_;
6845 result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6846 }
6847 LA19_: ;
6848 }
6849 break;
6850 }
6851 }BeforeRet_: ;
6852 return result;
6853 }
N_NIMCALL(NIM_BOOL,isGlobal__vmgen_1254)6854 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6855 NIM_BOOL result;
6856 NIM_BOOL T1_;
6857 NIM_BOOL T3_;
6858 result = (NIM_BOOL)0;
6859 T1_ = (NIM_BOOL)0;
6860 T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6861 if (!(T1_)) goto LA2_;
6862 T3_ = (NIM_BOOL)0;
6863 T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6864 if (!(T3_)) goto LA4_;
6865 T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6866 LA4_: ;
6867 T1_ = T3_;
6868 LA2_: ;
6869 result = T1_;
6870 return result;
6871 }
N_NIMCALL(void,genAddr__vmgen_2138)6872 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6873 tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ newflags;
6874 { {
6875 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6876 m = canElimAddr__vmgen_2095(n);
6877 if (!!((m == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
6878 gen__vmgen_687(c, m, dest, flags);
6879 goto BeforeRet_;
6880 }
6881 LA3_: ;
6882 newflags = ((flags & ~ 1) | 2);
6883 {
6884 NIM_BOOL T7_;
6885 T7_ = (NIM_BOOL)0;
6886 T7_ = isGlobal__vmgen_1254((*n)._kind_6.sons->data[((NI) 0)]);
6887 if (T7_) goto LA8_;
6888 T7_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
6889 LA8_: ;
6890 if (!T7_) goto LA9_;
6891 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, newflags);
6892 }
6893 goto LA5_;
6894 LA9_: ;
6895 {
6896 NI tmp;
6897 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], newflags);
6898 {
6899 NI T16_;
6900 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA14_;
6901 T16_ = (NI)0;
6902 T16_ = getTemp__vmgen_541(c, (*n).typ);
6903 (*dest) = ((NI) (T16_));
6904 }
6905 LA14_: ;
6906 {
6907 if (!(((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[tmp].Field1)) goto LA19_;
6908 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 23), ((NI) ((*dest))), tmp, ((NI) 0));
6909 (*(*c).prc).regInfo->data[tmp].Field1 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 8);
6910 }
6911 goto LA17_;
6912 LA19_: ;
6913 {
6914 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 22), ((NI) ((*dest))), tmp, ((NI) 0));
6915 }
6916 LA17_: ;
6917 freeTemp__vmgen_550(c, tmp);
6918 }
6919 LA5_: ;
6920 }BeforeRet_: ;
6921 }
N_NIMCALL(NIM_BOOL,isNotOpr__vmgen_729)6922 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6923 NIM_BOOL result;
6924 NIM_BOOL T1_;
6925 NIM_BOOL T2_;
6926 result = (NIM_BOOL)0;
6927 T1_ = (NIM_BOOL)0;
6928 T2_ = (NIM_BOOL)0;
6929 T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
6930 if (!(T2_)) goto LA3_;
6931 T2_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6932 LA3_: ;
6933 T1_ = T2_;
6934 if (!(T1_)) goto LA4_;
6935 T1_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
6936 LA4_: ;
6937 result = T1_;
6938 return result;
6939 }
N_NIMCALL(void,genIf__vmgen_883)6940 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6941 tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
6942 {
6943 NIM_BOOL T3_;
6944 NIM_BOOL T5_;
6945 NI T8_;
6946 T3_ = (NIM_BOOL)0;
6947 T3_ = (((NI) ((*dest))) < ((NI) 0));
6948 if (!(T3_)) goto LA4_;
6949 T5_ = (NIM_BOOL)0;
6950 T5_ = isEmptyType__ast_4779((*n).typ);
6951 T3_ = !(T5_);
6952 LA4_: ;
6953 if (!T3_) goto LA6_;
6954 T8_ = (NI)0;
6955 T8_ = getTemp__vmgen_541(c, (*n).typ);
6956 (*dest) = ((NI) (T8_));
6957 }
6958 LA6_: ;
6959 endings = NIM_NIL;
6960 {
6961 NI i;
6962 NI colontmp_;
6963 NI i_2;
6964 i = (NI)0;
6965 colontmp_ = (NI)0;
6966 colontmp_ = len__ast_3198(n);
6967 i_2 = ((NI) 0);
6968 {
6969 while (1) {
6970 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
6971 if (!(i_2 < colontmp_)) goto LA11;
6972 i = i_2;
6973 it = (*n)._kind_6.sons->data[i];
6974 {
6975 NI T14_;
6976 NI tmp;
6977 NI elsePos;
6978 T14_ = (NI)0;
6979 T14_ = len__ast_3198(it);
6980 if (!(T14_ == ((NI) 2))) goto LA15_;
6981 tmp = getTemp__vmgen_541(c, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
6982 elsePos = (NI)0;
6983 {
6984 NIM_BOOL T19_;
6985 T19_ = (NIM_BOOL)0;
6986 T19_ = isNotOpr__vmgen_729((*it)._kind_6.sons->data[((NI) 0)]);
6987 if (!T19_) goto LA20_;
6988 gen__vmgen_692(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], tmp, 0);
6989 elsePos = xjmp__vmgen_398(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
6990 }
6991 goto LA17_;
6992 LA20_: ;
6993 {
6994 gen__vmgen_692(c, (*it)._kind_6.sons->data[((NI) 0)], tmp, 0);
6995 elsePos = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
6996 }
6997 LA17_: ;
6998 freeTemp__vmgen_550(c, tmp);
6999 clearDest__vmgen_718(c, n, dest);
7000 gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 1)], dest, 0);
7001 {
7002 NI T25_;
7003 NI T28_;
7004 NI T29_;
7005 T25_ = (NI)0;
7006 T25_ = len__ast_3198(n);
7007 if (!(i < (NI)(T25_ - ((NI) 1)))) goto LA26_;
7008 T28_ = (NI)0;
7009 T28_ = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7010 endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7011 T29_ = endings->Sup.len++;
7012 endings->data[T29_] = T28_;
7013 }
7014 LA26_: ;
7015 patch__vmgen_434(c, elsePos);
7016 }
7017 goto LA12_;
7018 LA15_: ;
7019 {
7020 clearDest__vmgen_718(c, n, dest);
7021 gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
7022 }
7023 LA12_: ;
7024 i_2 += ((NI) 1);
7025 } LA11: ;
7026 }
7027 }
7028 {
7029 NI* endPos;
7030 NI i_3;
7031 NI L;
7032 NI T32_;
7033 endPos = (NI*)0;
7034 i_3 = ((NI) 0);
7035 T32_ = (endings ? endings->Sup.len : 0);
7036 L = T32_;
7037 {
7038 while (1) {
7039 if (!(i_3 < L)) goto LA34;
7040 endPos = (&endings->data[i_3]);
7041 patch__vmgen_434(c, (*endPos));
7042 i_3 += ((NI) 1);
7043 } LA34: ;
7044 }
7045 }
7046 clearDest__vmgen_718(c, n, dest);
7047 }
N_NIMCALL(void,genCase__vmgen_1030)7048 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7049 tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
7050 NI tmp;
7051 {
7052 NIM_BOOL T3_;
7053 T3_ = (NIM_BOOL)0;
7054 T3_ = isEmptyType__ast_4779((*n).typ);
7055 if (!!(T3_)) goto LA4_;
7056 {
7057 NI T10_;
7058 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
7059 T10_ = (NI)0;
7060 T10_ = getTemp__vmgen_541(c, (*n).typ);
7061 (*dest) = ((NI) (T10_));
7062 }
7063 LA8_: ;
7064 }
7065 goto LA1_;
7066 LA4_: ;
7067 {
7068 unused__vmgen_1026(c, n, (*dest));
7069 }
7070 LA1_: ;
7071 endings = NIM_NIL;
7072 tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
7073 gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 0)], tmp, 0);
7074 {
7075 NI i;
7076 NI colontmp_;
7077 NI i_2;
7078 i = (NI)0;
7079 colontmp_ = (NI)0;
7080 colontmp_ = len__ast_3198(n);
7081 i_2 = ((NI) 1);
7082 {
7083 while (1) {
7084 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7085 if (!(i_2 < colontmp_)) goto LA14;
7086 i = i_2;
7087 it = (*n)._kind_6.sons->data[i];
7088 {
7089 NI T17_;
7090 T17_ = (NI)0;
7091 T17_ = len__ast_3198(it);
7092 if (!(T17_ == ((NI) 1))) goto LA18_;
7093 {
7094 NIM_BOOL T22_;
7095 T22_ = (NIM_BOOL)0;
7096 T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
7097 if (T22_) goto LA23_;
7098 T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7099 LA23_: ;
7100 if (!T22_) goto LA24_;
7101 gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
7102 }
7103 LA24_: ;
7104 }
7105 goto LA15_;
7106 LA18_: ;
7107 {
7108 NI b;
7109 NI elsePos;
7110 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7111 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
7112 b = rawGenLiteral__vmgen_950(c, it);
7113 gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165), tmp, b);
7114 T27_ = NIM_NIL;
7115 T27_ = lastSon__ast_4832(it);
7116 elsePos = xjmp__vmgen_398(c, T27_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
7117 T28_ = NIM_NIL;
7118 T28_ = lastSon__ast_4832(it);
7119 gen__vmgen_687(c, T28_, dest, 0);
7120 {
7121 NI T31_;
7122 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
7123 NI T35_;
7124 NI T36_;
7125 T31_ = (NI)0;
7126 T31_ = len__ast_3198(n);
7127 if (!(i < (NI)(T31_ - ((NI) 1)))) goto LA32_;
7128 T34_ = NIM_NIL;
7129 T34_ = lastSon__ast_4832(it);
7130 T35_ = (NI)0;
7131 T35_ = xjmp__vmgen_398(c, T34_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7132 endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7133 T36_ = endings->Sup.len++;
7134 endings->data[T36_] = T35_;
7135 }
7136 LA32_: ;
7137 patch__vmgen_434(c, elsePos);
7138 }
7139 LA15_: ;
7140 clearDest__vmgen_718(c, n, dest);
7141 i_2 += ((NI) 1);
7142 } LA14: ;
7143 }
7144 }
7145 freeTemp__vmgen_550(c, tmp);
7146 {
7147 NI* endPos;
7148 NI i_3;
7149 NI L;
7150 NI T38_;
7151 endPos = (NI*)0;
7152 i_3 = ((NI) 0);
7153 T38_ = (endings ? endings->Sup.len : 0);
7154 L = T38_;
7155 {
7156 while (1) {
7157 if (!(i_3 < L)) goto LA40;
7158 endPos = (&endings->data[i_3]);
7159 patch__vmgen_434(c, (*endPos));
7160 i_3 += ((NI) 1);
7161 } LA40: ;
7162 }
7163 }
7164 }
N_NIMCALL(NI,genLabel__vmgen_416)7165 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7166 NI result;
7167 NI T1_;
7168 result = (NI)0;
7169 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7170 result = T1_;
7171 return result;
7172 }
N_NIMCALL(NIM_BOOL,isTrue__vmgen_746)7173 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7174 NIM_BOOL result;
7175 NIM_BOOL T1_;
7176 NIM_BOOL T2_;
7177 NIM_BOOL T3_;
7178 NIM_BOOL T7_;
7179 result = (NIM_BOOL)0;
7180 T1_ = (NIM_BOOL)0;
7181 T2_ = (NIM_BOOL)0;
7182 T3_ = (NIM_BOOL)0;
7183 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7184 if (!(T3_)) goto LA4_;
7185 T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
7186 LA4_: ;
7187 T2_ = T3_;
7188 if (!(T2_)) goto LA5_;
7189 T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
7190 LA5_: ;
7191 T1_ = T2_;
7192 if (T1_) goto LA6_;
7193 T7_ = (NIM_BOOL)0;
7194 T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
7195 if (!(T7_)) goto LA8_;
7196 T7_ = !(((*n)._kind_1.intVal == IL64(0)));
7197 LA8_: ;
7198 T1_ = T7_;
7199 LA6_: ;
7200 result = T1_;
7201 return result;
7202 }
N_NIMCALL(void,jmpBack__vmgen_422)7203 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p) {
7204 NI dist;
7205 NI T1_;
7206 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7207 dist = (NI)(p - T1_);
7208 {
7209 NIM_BOOL T4_;
7210 NimStringDesc* argX60gensym49_;
7211 T4_ = (NIM_BOOL)0;
7212 T4_ = (((NI) -8388607) < dist);
7213 if (!(T4_)) goto LA5_;
7214 T4_ = (dist < ((NI) 8388607));
7215 LA5_: ;
7216 if (!!(T4_)) goto LA6_;
7217 argX60gensym49_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_95);
7218 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym49_, TM__24XApAWKNvaMkcyklm8bNA_95);
7219 }
7220 LA6_: ;
7221 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164), ((NI) 0), dist);
7222 }
N_NIMCALL(void,popBlock__vmgen_639)7223 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen) {
7224 {
7225 NI* f;
7226 tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
7227 NI i;
7228 NI L;
7229 NI T2_;
7230 f = (NI*)0;
7231 colontmp_ = NIM_NIL;
7232 colontmp_ = (*(*c).prc).blocks->data[oldLen].fixups;
7233 i = ((NI) 0);
7234 T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
7235 L = T2_;
7236 {
7237 while (1) {
7238 if (!(i < L)) goto LA4;
7239 f = (&colontmp_->data[i]);
7240 patch__vmgen_434(c, (*f));
7241 i += ((NI) 1);
7242 } LA4: ;
7243 }
7244 }
7245 asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) setLengthSeqV2(&((*(*c).prc).blocks)->Sup, (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_), ((NI) (oldLen))));
7246 }
N_NIMCALL(void,genWhile__vmgen_761)7247 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7248 NI lab1;
7249 NI oldLen;
7250 NI T1_;
7251 NI T2_;
7252 lab1 = genLabel__vmgen_416(c);
7253 T1_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7254 oldLen = T1_;
7255 asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7256 T2_ = (*(*c).prc).blocks->Sup.len++;
7257 asgnRef((void**) (&(*(*c).prc).blocks->data[T2_].label), TM__24XApAWKNvaMkcyklm8bNA_93.label);
7258 genericSeqAssign((&(*(*c).prc).blocks->data[T2_].fixups), TM__24XApAWKNvaMkcyklm8bNA_93.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7259 {
7260 NIM_BOOL T5_;
7261 T5_ = (NIM_BOOL)0;
7262 T5_ = isTrue__vmgen_746((*n)._kind_6.sons->data[((NI) 0)]);
7263 if (!T5_) goto LA6_;
7264 gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7265 jmpBack__vmgen_422(c, n, lab1);
7266 }
7267 goto LA3_;
7268 LA6_: ;
7269 {
7270 NIM_BOOL T9_;
7271 NI tmp;
7272 NI lab2;
7273 T9_ = (NIM_BOOL)0;
7274 T9_ = isNotOpr__vmgen_729((*n)._kind_6.sons->data[((NI) 0)]);
7275 if (!T9_) goto LA10_;
7276 tmp = genx__vmgen_712(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], 0);
7277 lab2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
7278 freeTemp__vmgen_550(c, tmp);
7279 gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7280 jmpBack__vmgen_422(c, n, lab1);
7281 patch__vmgen_434(c, lab2);
7282 }
7283 goto LA3_;
7284 LA10_: ;
7285 {
7286 NI tmp_2;
7287 NI lab2_2;
7288 tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7289 lab2_2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp_2);
7290 freeTemp__vmgen_550(c, tmp_2);
7291 gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7292 jmpBack__vmgen_422(c, n, lab1);
7293 patch__vmgen_434(c, lab2_2);
7294 }
7295 LA3_: ;
7296 popBlock__vmgen_639(c, oldLen);
7297 }
N_NIMCALL(void,genBlock__vmgen_799)7298 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7299 NI oldRegisterCount;
7300 NI T1_;
7301 NI oldLen;
7302 NI T2_;
7303 tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ T3_;
7304 NI T4_;
7305 T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7306 oldRegisterCount = T1_;
7307 T2_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7308 oldLen = T2_;
7309 nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7310 nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7311 T3_.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7312 T3_.fixups = NIM_NIL;
7313 asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7314 T4_ = (*(*c).prc).blocks->Sup.len++;
7315 asgnRef((void**) (&(*(*c).prc).blocks->data[T4_].label), T3_.label);
7316 genericSeqAssign((&(*(*c).prc).blocks->data[T4_].fixups), T3_.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7317 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
7318 popBlock__vmgen_639(c, oldLen);
7319 {
7320 NI i;
7321 NI colontmp_;
7322 NI T6_;
7323 NI i_2;
7324 i = (NI)0;
7325 colontmp_ = (NI)0;
7326 T6_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7327 colontmp_ = T6_;
7328 i_2 = oldRegisterCount;
7329 {
7330 while (1) {
7331 if (!(i_2 < colontmp_)) goto LA8;
7332 i = i_2;
7333 {
7334 NIM_BOOL colontmp__2;
7335 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
7336 if (!!((i == ((NI) ((*dest)))))) goto LA11_;
7337 colontmp__2 = NIM_FALSE;
7338 colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 0);
7339 (*(*c).prc).regInfo->data[i].Field0 = colontmp__2;
7340 (*(*c).prc).regInfo->data[i].Field1 = colontmp__3;
7341 }
7342 LA11_: ;
7343 i_2 += ((NI) 1);
7344 } LA8: ;
7345 }
7346 }
7347 clearDest__vmgen_718(c, n, dest);
7348 }
N_NIMCALL(void,genReturn__vmgen_1190)7349 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7350 {
7351 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
7352 gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7353 }
7354 LA3_: ;
7355 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
7356 }
N_NIMCALL(void,genRaise__vmgen_1185)7357 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7358 NI dest;
7359 dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7360 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 156), dest, ((NI) 0), ((NI) 0));
7361 freeTemp__vmgen_550(c, dest);
7362 }
N_NIMCALL(void,genBreak__vmgen_831)7363 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7364 NI lab1;
7365 { lab1 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7366 {
7367 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
7368 {
7369 NI i;
7370 NI colontmp_;
7371 NI T6_;
7372 NI res;
7373 i = (NI)0;
7374 colontmp_ = (NI)0;
7375 T6_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7376 colontmp_ = (NI)(T6_ - ((NI) 1));
7377 res = colontmp_;
7378 {
7379 while (1) {
7380 if (!(((NI) 0) <= res)) goto LA8;
7381 i = res;
7382 {
7383 NI T13_;
7384 if (!((*(*c).prc).blocks->data[i].label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym)) goto LA11_;
7385 asgnRef((void**) (&(*(*c).prc).blocks->data[i].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[i].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7386 T13_ = (*(*c).prc).blocks->data[i].fixups->Sup.len++;
7387 (*(*c).prc).blocks->data[i].fixups->data[T13_] = lab1;
7388 goto BeforeRet_;
7389 }
7390 LA11_: ;
7391 res -= ((NI) 1);
7392 } LA8: ;
7393 }
7394 }
7395 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_96), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_97, NIM_FALSE);
7396 }
7397 goto LA1_;
7398 LA3_: ;
7399 {
7400 NI T15_;
7401 NI T16_;
7402 T15_ = (((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0)-1);
7403 asgnRef((void**) (&(*(*c).prc).blocks->data[T15_].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[T15_].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7404 T16_ = (*(*c).prc).blocks->data[T15_].fixups->Sup.len++;
7405 (*(*c).prc).blocks->data[T15_].fixups->data[T16_] = lab1;
7406 }
7407 LA1_: ;
7408 }BeforeRet_: ;
7409 }
N_NIMCALL(void,genTry__vmgen_1110)7410 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7411 tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
7412 NI ehPos;
7413 NI jumpToFinally;
7414 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
7415 {
7416 NIM_BOOL T3_;
7417 NIM_BOOL T5_;
7418 NI T8_;
7419 T3_ = (NIM_BOOL)0;
7420 T3_ = (((NI) ((*dest))) < ((NI) 0));
7421 if (!(T3_)) goto LA4_;
7422 T5_ = (NIM_BOOL)0;
7423 T5_ = isEmptyType__ast_4779((*n).typ);
7424 T3_ = !(T5_);
7425 LA4_: ;
7426 if (!T3_) goto LA6_;
7427 T8_ = (NI)0;
7428 T8_ = getTemp__vmgen_541(c, (*n).typ);
7429 (*dest) = ((NI) (T8_));
7430 }
7431 LA6_: ;
7432 endings = NIM_NIL;
7433 ehPos = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166), ((NI) 0));
7434 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
7435 clearDest__vmgen_718(c, n, dest);
7436 jumpToFinally = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7437 patch__vmgen_434(c, ehPos);
7438 {
7439 NI i;
7440 NI colontmp_;
7441 NI i_2;
7442 i = (NI)0;
7443 colontmp_ = (NI)0;
7444 colontmp_ = len__ast_3198(n);
7445 i_2 = ((NI) 1);
7446 {
7447 while (1) {
7448 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7449 if (!(i_2 < colontmp_)) goto LA11;
7450 i = i_2;
7451 it = (*n)._kind_6.sons->data[i];
7452 {
7453 NI endExcept;
7454 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
7455 if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA14_;
7456 endExcept = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0));
7457 {
7458 NI j;
7459 NI colontmp__2;
7460 NI T17_;
7461 NI i_3;
7462 j = (NI)0;
7463 colontmp__2 = (NI)0;
7464 T17_ = (NI)0;
7465 T17_ = len__ast_3198(it);
7466 colontmp__2 = (NI)(T17_ - ((NI) 1));
7467 i_3 = ((NI) 0);
7468 {
7469 while (1) {
7470 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
7471 NI T20_;
7472 if (!(i_3 < colontmp__2)) goto LA19;
7473 j = i_3;
7474 typ = skipTypes__ast_3735((*(*it)._kind_6.sons->data[j]).typ, TM__24XApAWKNvaMkcyklm8bNA_98);
7475 T20_ = (NI)0;
7476 T20_ = genType__vmgen_1088(c, typ);
7477 gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), T20_);
7478 i_3 += ((NI) 1);
7479 } LA19: ;
7480 }
7481 }
7482 {
7483 NI T23_;
7484 T23_ = (NI)0;
7485 T23_ = len__ast_3198(it);
7486 if (!(T23_ == ((NI) 1))) goto LA24_;
7487 gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), ((NI) 0));
7488 }
7489 LA24_: ;
7490 T26_ = NIM_NIL;
7491 T26_ = lastSon__ast_4832(it);
7492 gen__vmgen_687(c, T26_, dest, 0);
7493 clearDest__vmgen_718(c, n, dest);
7494 {
7495 NI T29_;
7496 NI T32_;
7497 NI T33_;
7498 T29_ = (NI)0;
7499 T29_ = len__ast_3198(n);
7500 if (!(i < T29_)) goto LA30_;
7501 T32_ = (NI)0;
7502 T32_ = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7503 endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7504 T33_ = endings->Sup.len++;
7505 endings->data[T33_] = T32_;
7506 }
7507 LA30_: ;
7508 patch__vmgen_434(c, endExcept);
7509 }
7510 LA14_: ;
7511 i_2 += ((NI) 1);
7512 } LA11: ;
7513 }
7514 }
7515 fin = lastSon__ast_4832(n);
7516 patch__vmgen_434(c, jumpToFinally);
7517 gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 168), ((NI) 0), ((NI) 0));
7518 {
7519 NI* endPos;
7520 NI i_4;
7521 NI L;
7522 NI T35_;
7523 endPos = (NI*)0;
7524 i_4 = ((NI) 0);
7525 T35_ = (endings ? endings->Sup.len : 0);
7526 L = T35_;
7527 {
7528 while (1) {
7529 if (!(i_4 < L)) goto LA37;
7530 endPos = (&endings->data[i_4]);
7531 patch__vmgen_434(c, (*endPos));
7532 i_4 += ((NI) 1);
7533 } LA37: ;
7534 }
7535 }
7536 {
7537 if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA40_;
7538 gen__vmgen_707(c, (*fin)._kind_6.sons->data[((NI) 0)], 0);
7539 clearDest__vmgen_718(c, n, dest);
7540 }
7541 LA40_: ;
7542 gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 169), ((NI) 0), ((NI) 0));
7543 }
N_INLINE(NI,safeLen__ast_3191)7544 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7545 NI result;
7546 result = (NI)0;
7547 {
7548 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7549 result = ((NI) 0);
7550 }
7551 goto LA1_;
7552 LA3_: ;
7553 {
7554 result = len__ast_3198(n);
7555 }
7556 LA1_: ;
7557 return result;
7558 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOwner__vmgen_2251)7559 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7560 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
7561 result = NIM_NIL;
7562 result = (*(*c).prc).sym;
7563 {
7564 if (!(result == 0)) goto LA3_;
7565 result = (*c).module;
7566 }
7567 LA3_: ;
7568 return result;
7569 }
N_NIMCALL(void,genVarSection__vmgen_2831)7570 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7571 {
7572 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
7573 a = NIM_NIL;
7574 {
7575 NI i;
7576 NI colontmp_;
7577 NI i_2;
7578 i = (NI)0;
7579 colontmp_ = (NI)0;
7580 colontmp_ = safeLen__ast_3191(n);
7581 i_2 = ((NI) 0);
7582 {
7583 while (1) {
7584 if (!(i_2 < colontmp_)) goto LA4;
7585 i = i_2;
7586 a = (*n)._kind_6.sons->data[i];
7587 {
7588 {
7589 if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8_;
7590 goto LA5;
7591 }
7592 LA8_: ;
7593 {
7594 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
7595 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
7596 if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA12_;
7597 {
7598 NI i_3;
7599 NI colontmp__2;
7600 NI T15_;
7601 NI i_4;
7602 i_3 = (NI)0;
7603 colontmp__2 = (NI)0;
7604 T15_ = (NI)0;
7605 T15_ = len__ast_3198(a);
7606 colontmp__2 = (NI)(T15_ - ((NI) 2));
7607 i_4 = ((NI) 0);
7608 {
7609 while (1) {
7610 if (!(i_4 < colontmp__2)) goto LA17;
7611 i_3 = i_4;
7612 {
7613 if (!((*(*a)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA20_;
7614 {
7615 NIM_BOOL T24_;
7616 T24_ = (NIM_BOOL)0;
7617 T24_ = (((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7618 if (!(T24_)) goto LA25_;
7619 T24_ = !(((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7620 LA25_: ;
7621 if (!!(T24_)) goto LA26_;
7622 setSlot__vmgen_2224(c, (*(*a)._kind_6.sons->data[i_3])._kind_4.sym);
7623 }
7624 LA26_: ;
7625 checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[i_3]);
7626 }
7627 LA20_: ;
7628 i_4 += ((NI) 1);
7629 } LA17: ;
7630 }
7631 }
7632 T28_ = NIM_NIL;
7633 T28_ = getOwner__vmgen_2251(c);
7634 T29_ = NIM_NIL;
7635 T29_ = lowerTupleUnpacking__lowerings_116((*c).graph, a, (*c).Sup.idgen, T28_);
7636 gen__vmgen_707(c, T29_, 0);
7637 }
7638 goto LA10_;
7639 LA12_: ;
7640 {
7641 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7642 if (!((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA31_;
7643 s = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7644 checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[((NI) 0)]);
7645 {
7646 NIM_BOOL T35_;
7647 T35_ = (NIM_BOOL)0;
7648 T35_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7649 if (!(T35_)) goto LA36_;
7650 T35_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7651 LA36_: ;
7652 if (!T35_) goto LA37_;
7653 {
7654 if (!((*s).position == ((NI) 0))) goto LA41_;
7655 {
7656 NIM_BOOL T45_;
7657 T45_ = (NIM_BOOL)0;
7658 T45_ = importcCond__vmgen_2412(c, s);
7659 if (!T45_) goto LA46_;
7660 importcSym__vmgen_2428(c, (*a).info, s);
7661 }
7662 goto LA43_;
7663 LA46_: ;
7664 {
7665 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sa;
7666 sa = getNullValue__vmgen_2432((*s).typ, (*a).info, (*c).config);
7667 add__ast_4797((*c).globals, sa);
7668 (*s).position = len__ast_3198((*c).globals);
7669 }
7670 LA43_: ;
7671 }
7672 LA41_: ;
7673 {
7674 NI tmp;
7675 NI val;
7676 if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA51_;
7677 tmp = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 2);
7678 val = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 2)], 0);
7679 genAdditionalCopy__vmgen_2307(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp, ((NI) 0), val);
7680 freeTemp__vmgen_550(c, val);
7681 freeTemp__vmgen_550(c, tmp);
7682 }
7683 LA51_: ;
7684 }
7685 goto LA33_;
7686 LA37_: ;
7687 {
7688 setSlot__vmgen_2224(c, s);
7689 {
7690 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T58_;
7691 NI T59_;
7692 if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA56_;
7693 T58_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7694 T58_ = ldNullOpcode__vmgen_1836((*s).typ);
7695 T59_ = (NI)0;
7696 T59_ = genType__vmgen_1088(c, (*s).typ);
7697 gABx__vmgen_375(c, a, T58_, ((NI) ((*s).position)), T59_);
7698 }
7699 goto LA54_;
7700 LA56_: ;
7701 {
7702 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
7703 {
7704 NIM_BOOL T63_;
7705 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T66_;
7706 NI T67_;
7707 T63_ = (NIM_BOOL)0;
7708 T63_ = fitsRegister__vmgen_1814((*s).typ);
7709 if (!!(T63_)) goto LA64_;
7710 T66_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7711 T66_ = ldNullOpcode__vmgen_1836((*s).typ);
7712 T67_ = (NI)0;
7713 T67_ = genType__vmgen_1088(c, (*s).typ);
7714 gABx__vmgen_375(c, a, T66_, ((NI) ((*s).position)), T67_);
7715 }
7716 LA64_: ;
7717 le = (*a)._kind_6.sons->data[((NI) 0)];
7718 {
7719 NIM_BOOL T70_;
7720 NIM_BOOL T71_;
7721 NI cc;
7722 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T75_;
7723 T70_ = (NIM_BOOL)0;
7724 T71_ = (NIM_BOOL)0;
7725 T71_ = fitsRegister__vmgen_1814((*le).typ);
7726 T70_ = !(T71_);
7727 if (!(T70_)) goto LA72_;
7728 T70_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
7729 LA72_: ;
7730 if (!T70_) goto LA73_;
7731 cc = getTemp__vmgen_541(c, (*le).typ);
7732 gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], cc, 0);
7733 T75_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7734 T75_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
7735 gABC__vmgen_312(c, le, T75_, ((NI) ((*s).position)), cc, ((NI) 0));
7736 freeTemp__vmgen_550(c, cc);
7737 }
7738 goto LA68_;
7739 LA73_: ;
7740 {
7741 gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], ((NI) ((*s).position)), 0);
7742 }
7743 LA68_: ;
7744 }
7745 LA54_: ;
7746 }
7747 LA33_: ;
7748 }
7749 goto LA10_;
7750 LA31_: ;
7751 {
7752 {
7753 NI tmp_2;
7754 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T82_;
7755 NI T83_;
7756 if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA80_;
7757 tmp_2 = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 0);
7758 T82_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7759 T82_ = ldNullOpcode__vmgen_1836((*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7760 T83_ = (NI)0;
7761 T83_ = genType__vmgen_1088(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7762 gABx__vmgen_375(c, a, T82_, tmp_2, T83_);
7763 freeTemp__vmgen_550(c, tmp_2);
7764 }
7765 goto LA78_;
7766 LA80_: ;
7767 {
7768 genAsgn__vmgen_2329(c, (*a)._kind_6.sons->data[((NI) 0)], (*a)._kind_6.sons->data[((NI) 2)], NIM_TRUE);
7769 }
7770 LA78_: ;
7771 }
7772 LA10_: ;
7773 } LA5: ;
7774 i_2 += ((NI) 1);
7775 } LA4: ;
7776 }
7777 }
7778 }
7779 }
N_NIMCALL(void,genArrayConstr__vmgen_2947)7780 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7781 NI T6_;
7782 tyObject_TType__facALICuu8zUj0hjvbTLFg* intType;
7783 tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
7784 {
7785 NI T5_;
7786 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7787 T5_ = (NI)0;
7788 T5_ = getTemp__vmgen_541(c, (*n).typ);
7789 (*dest) = ((NI) (T5_));
7790 }
7791 LA3_: ;
7792 T6_ = (NI)0;
7793 T6_ = genType__vmgen_1088(c, (*n).typ);
7794 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7795 intType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
7796 seqType = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
7797 {
7798 NI tmp;
7799 NI T11_;
7800 NI T12_;
7801 if (!((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA9_;
7802 tmp = getTemp__vmgen_541(c, intType);
7803 T11_ = (NI)0;
7804 T11_ = len__ast_3198(n);
7805 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, T11_);
7806 T12_ = (NI)0;
7807 T12_ = genType__vmgen_1088(c, seqType);
7808 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T12_);
7809 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
7810 freeTemp__vmgen_550(c, tmp);
7811 }
7812 LA9_: ;
7813 {
7814 NI T15_;
7815 NI tmp_2;
7816 NI T18_;
7817 T15_ = (NI)0;
7818 T15_ = len__ast_3198(n);
7819 if (!(((NI) 0) < T15_)) goto LA16_;
7820 tmp_2 = getTemp__vmgen_541(c, intType);
7821 T18_ = (NI)0;
7822 T18_ = genType__vmgen_1088(c, intType);
7823 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173), tmp_2, T18_);
7824 {
7825 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7826 x = NIM_NIL;
7827 {
7828 NI i;
7829 NI colontmp_;
7830 NI i_2;
7831 i = (NI)0;
7832 colontmp_ = (NI)0;
7833 colontmp_ = safeLen__ast_3191(n);
7834 i_2 = ((NI) 0);
7835 {
7836 while (1) {
7837 NI a;
7838 if (!(i_2 < colontmp_)) goto LA22;
7839 i = i_2;
7840 x = (*n)._kind_6.sons->data[i];
7841 a = genx__vmgen_712(c, x, 0);
7842 preventFalseAlias__vmgen_2315(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), ((NI) ((*dest))), tmp_2, a);
7843 gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 30), tmp_2, tmp_2, IL64(1));
7844 freeTemp__vmgen_550(c, a);
7845 i_2 += ((NI) 1);
7846 } LA22: ;
7847 }
7848 }
7849 }
7850 freeTemp__vmgen_550(c, tmp_2);
7851 }
7852 LA16_: ;
7853 }
N_NIMCALL(void,genSetConstr__vmgen_2971)7854 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7855 NI T6_;
7856 {
7857 NI T5_;
7858 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7859 T5_ = (NI)0;
7860 T5_ = getTemp__vmgen_541(c, (*n).typ);
7861 (*dest) = ((NI) (T5_));
7862 }
7863 LA3_: ;
7864 T6_ = (NI)0;
7865 T6_ = genType__vmgen_1088(c, (*n).typ);
7866 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7867 {
7868 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7869 x = NIM_NIL;
7870 {
7871 NI i;
7872 NI colontmp_;
7873 NI i_2;
7874 i = (NI)0;
7875 colontmp_ = (NI)0;
7876 colontmp_ = safeLen__ast_3191(n);
7877 i_2 = ((NI) 0);
7878 {
7879 while (1) {
7880 if (!(i_2 < colontmp_)) goto LA10;
7881 i = i_2;
7882 x = (*n)._kind_6.sons->data[i];
7883 {
7884 NI a;
7885 NI b;
7886 if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA13_;
7887 a = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
7888 b = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 1)], 0);
7889 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 37), ((NI) ((*dest))), a, b);
7890 freeTemp__vmgen_550(c, b);
7891 freeTemp__vmgen_550(c, a);
7892 }
7893 goto LA11_;
7894 LA13_: ;
7895 {
7896 NI a_2;
7897 a_2 = genx__vmgen_712(c, x, 0);
7898 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36), ((NI) ((*dest))), a_2, ((NI) 0));
7899 freeTemp__vmgen_550(c, a_2);
7900 }
7901 LA11_: ;
7902 i_2 += ((NI) 1);
7903 } LA10: ;
7904 }
7905 }
7906 }
7907 }
N_NIMCALL(void,genObjConstr__vmgen_2985)7908 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7909 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7910 {
7911 NI T5_;
7912 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7913 T5_ = (NI)0;
7914 T5_ = getTemp__vmgen_541(c, (*n).typ);
7915 (*dest) = ((NI) (T5_));
7916 }
7917 LA3_: ;
7918 t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
7919 {
7920 NI T10_;
7921 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA8_;
7922 T10_ = (NI)0;
7923 T10_ = genType__vmgen_1088(c, (*t).sons->data[((NI) 0)]);
7924 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), ((NI) ((*dest))), T10_);
7925 }
7926 goto LA6_;
7927 LA8_: ;
7928 {
7929 NI T12_;
7930 T12_ = (NI)0;
7931 T12_ = genType__vmgen_1088(c, (*n).typ);
7932 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T12_);
7933 }
7934 LA6_: ;
7935 {
7936 NI i;
7937 NI colontmp_;
7938 NI i_2;
7939 i = (NI)0;
7940 colontmp_ = (NI)0;
7941 colontmp_ = len__ast_3198(n);
7942 i_2 = ((NI) 1);
7943 {
7944 while (1) {
7945 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7946 if (!(i_2 < colontmp_)) goto LA15;
7947 i = i_2;
7948 it = (*n)._kind_6.sons->data[i];
7949 {
7950 NIM_BOOL T18_;
7951 NI idx;
7952 NI tmp;
7953 T18_ = (NIM_BOOL)0;
7954 T18_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
7955 if (!(T18_)) goto LA19_;
7956 T18_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7957 LA19_: ;
7958 if (!T18_) goto LA20_;
7959 idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
7960 tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
7961 preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
7962 freeTemp__vmgen_550(c, tmp);
7963 }
7964 goto LA16_;
7965 LA20_: ;
7966 {
7967 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_99), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_100, NIM_FALSE);
7968 }
7969 LA16_: ;
7970 i_2 += ((NI) 1);
7971 } LA15: ;
7972 }
7973 }
7974 }
N_NIMCALL(void,genTupleConstr__vmgen_3027)7975 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7976 {
7977 NI T5_;
7978 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7979 T5_ = (NI)0;
7980 T5_ = getTemp__vmgen_541(c, (*n).typ);
7981 (*dest) = ((NI) (T5_));
7982 }
7983 LA3_: ;
7984 {
7985 NI T10_;
7986 if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA8_;
7987 T10_ = (NI)0;
7988 T10_ = genType__vmgen_1088(c, (*n).typ);
7989 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T10_);
7990 {
7991 NI i;
7992 NI colontmp_;
7993 NI i_2;
7994 i = (NI)0;
7995 colontmp_ = (NI)0;
7996 colontmp_ = len__ast_3198(n);
7997 i_2 = ((NI) 0);
7998 {
7999 while (1) {
8000 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
8001 if (!(i_2 < colontmp_)) goto LA13;
8002 i = i_2;
8003 it = (*n)._kind_6.sons->data[i];
8004 {
8005 NI idx;
8006 NI tmp;
8007 if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA16_;
8008 idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
8009 tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
8010 preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
8011 freeTemp__vmgen_550(c, tmp);
8012 }
8013 goto LA14_;
8014 LA16_: ;
8015 {
8016 NI tmp_2;
8017 tmp_2 = genx__vmgen_712(c, it, 0);
8018 preventFalseAlias__vmgen_2315(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), ((NI) (i)), tmp_2);
8019 freeTemp__vmgen_550(c, tmp_2);
8020 }
8021 LA14_: ;
8022 i_2 += ((NI) 1);
8023 } LA13: ;
8024 }
8025 }
8026 }
8027 LA8_: ;
8028 }
N_NIMCALL(void,genCastIntFloat__vmgen_1628)8029 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
8030 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag signedIntegers;
8031 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag unsignedIntegers;
8032 tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
8033 tyObject_TType__facALICuu8zUj0hjvbTLFg* dst;
8034 NI64 srcSize;
8035 NI64 dstSize;
8036 nimZeroMem((void*)signedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
8037 nimCopyMem((void*)signedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_101, 9);
8038 nimZeroMem((void*)unsignedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
8039 nimCopyMem((void*)unsignedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_102, 9);
8040 src = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
8041 dst = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
8042 srcSize = getSize__types_3327((*c).config, src);
8043 dstSize = getSize__types_3327((*c).config, dst);
8044 {
8045 NIM_BOOL T3_;
8046 NI tmp;
8047 T3_ = (NIM_BOOL)0;
8048 T3_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8049 if (!(T3_)) goto LA4_;
8050 T3_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8051 LA4_: ;
8052 if (!T3_) goto LA5_;
8053 tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8054 {
8055 NI T11_;
8056 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
8057 T11_ = (NI)0;
8058 T11_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8059 (*dest) = ((NI) (T11_));
8060 }
8061 LA9_: ;
8062 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
8063 {
8064 if (!!((dstSize == IL64(8)))) goto LA14_;
8065 {
8066 if (!((signedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA18_;
8067 {
8068 if (!(dstSize <= srcSize)) goto LA22_;
8069 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8070 }
8071 LA22_: ;
8072 }
8073 goto LA16_;
8074 LA18_: ;
8075 {
8076 if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA25_;
8077 {
8078 NIM_BOOL T29_;
8079 T29_ = (NIM_BOOL)0;
8080 T29_ = ((signedIntegers[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0);
8081 if (T29_) goto LA30_;
8082 T29_ = (dstSize < srcSize);
8083 LA30_: ;
8084 if (!T29_) goto LA31_;
8085 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8086 }
8087 LA31_: ;
8088 }
8089 goto LA16_;
8090 LA25_: ;
8091 LA16_: ;
8092 }
8093 LA14_: ;
8094 freeTemp__vmgen_550(c, tmp);
8095 }
8096 goto LA1_;
8097 LA5_: ;
8098 {
8099 NIM_BOOL T34_;
8100 NIM_BOOL T35_;
8101 NI tmp_2;
8102 T34_ = (NIM_BOOL)0;
8103 T35_ = (NIM_BOOL)0;
8104 T35_ = (srcSize == dstSize);
8105 if (!(T35_)) goto LA36_;
8106 T35_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8107 LA36_: ;
8108 T34_ = T35_;
8109 if (!(T34_)) goto LA37_;
8110 T34_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8111 LA37_: ;
8112 if (!T34_) goto LA38_;
8113 tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8114 {
8115 NI T44_;
8116 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA42_;
8117 T44_ = (NI)0;
8118 T44_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8119 (*dest) = ((NI) (T44_));
8120 }
8121 LA42_: ;
8122 {
8123 if (!((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA47_;
8124 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 8), ((NI) ((*dest))), tmp_2, ((NI) 0));
8125 }
8126 goto LA45_;
8127 LA47_: ;
8128 {
8129 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 9), ((NI) ((*dest))), tmp_2, ((NI) 0));
8130 }
8131 LA45_: ;
8132 freeTemp__vmgen_550(c, tmp_2);
8133 }
8134 goto LA1_;
8135 LA38_: ;
8136 {
8137 NIM_BOOL T51_;
8138 NIM_BOOL T52_;
8139 NI tmp_3;
8140 T51_ = (NIM_BOOL)0;
8141 T52_ = (NIM_BOOL)0;
8142 T52_ = (srcSize == dstSize);
8143 if (!(T52_)) goto LA53_;
8144 T52_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8145 LA53_: ;
8146 T51_ = T52_;
8147 if (!(T51_)) goto LA54_;
8148 T51_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8149 LA54_: ;
8150 if (!T51_) goto LA55_;
8151 tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8152 {
8153 NI T61_;
8154 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA59_;
8155 T61_ = (NI)0;
8156 T61_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8157 (*dest) = ((NI) (T61_));
8158 }
8159 LA59_: ;
8160 {
8161 if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA64_;
8162 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 10), ((NI) ((*dest))), tmp_3, ((NI) 0));
8163 {
8164 if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA68_;
8165 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) 32), ((NI) 0));
8166 }
8167 LA68_: ;
8168 }
8169 goto LA62_;
8170 LA64_: ;
8171 {
8172 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 11), ((NI) ((*dest))), tmp_3, ((NI) 0));
8173 }
8174 LA62_: ;
8175 freeTemp__vmgen_550(c, tmp_3);
8176 }
8177 goto LA1_;
8178 LA55_: ;
8179 {
8180 NIM_BOOL T72_;
8181 NI tmp_4;
8182 NI64 imm;
8183 NI T81_;
8184 T72_ = (NIM_BOOL)0;
8185 T72_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8186 if (!(T72_)) goto LA73_;
8187 T72_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8188 LA73_: ;
8189 if (!T72_) goto LA74_;
8190 tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8191 {
8192 NI T80_;
8193 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA78_;
8194 T80_ = (NI)0;
8195 T80_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8196 (*dest) = ((NI) (T80_));
8197 }
8198 LA78_: ;
8199 T81_ = (NI)0;
8200 {
8201 if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA84_;
8202 T81_ = ((NI) 1);
8203 }
8204 goto LA82_;
8205 LA84_: ;
8206 {
8207 T81_ = ((NI) 2);
8208 }
8209 LA82_: ;
8210 imm = ((NI64) (T81_));
8211 gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 12), ((NI) ((*dest))), tmp_4, imm);
8212 freeTemp__vmgen_550(c, tmp_4);
8213 }
8214 goto LA1_;
8215 LA74_: ;
8216 {
8217 NIM_BOOL T88_;
8218 NI tmp_5;
8219 NI T97_;
8220 T88_ = (NIM_BOOL)0;
8221 T88_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8222 if (!(T88_)) goto LA89_;
8223 T88_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
8224 LA89_: ;
8225 if (!T88_) goto LA90_;
8226 tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8227 {
8228 NI T96_;
8229 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA94_;
8230 T96_ = (NI)0;
8231 T96_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8232 (*dest) = ((NI) (T96_));
8233 }
8234 LA94_: ;
8235 T97_ = (NI)0;
8236 T97_ = genType__vmgen_1088(c, dst);
8237 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), ((NI) ((*dest))), T97_);
8238 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 13), ((NI) ((*dest))), tmp_5, ((NI) 0));
8239 freeTemp__vmgen_550(c, tmp_5);
8240 }
8241 goto LA1_;
8242 LA90_: ;
8243 {
8244 NIM_BOOL T99_;
8245 T99_ = (NIM_BOOL)0;
8246 T99_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8247 if (!(T99_)) goto LA100_;
8248 T99_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
8249 LA100_: ;
8250 if (!T99_) goto LA101_;
8251 {
8252 NI T107_;
8253 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA105_;
8254 T107_ = (NI)0;
8255 T107_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8256 (*dest) = ((NI) (T107_));
8257 }
8258 LA105_: ;
8259 genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
8260 }
8261 goto LA1_;
8262 LA101_: ;
8263 {
8264 NimStringDesc* T109_;
8265 T109_ = NIM_NIL;
8266 T109_ = rawNewString((reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + (reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 36);
8267 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_104));
8268 appendString(T109_, reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8269 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_105));
8270 appendString(T109_, reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8271 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T109_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_106, NIM_FALSE);
8272 }
8273 LA1_: ;
8274 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3519)8275 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3519)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8276 NIM_BOOL result;
8277 result = (NIM_BOOL)0;
8278 result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
8279 return result;
8280 }
N_NIMCALL(void,gen__vmgen_687)8281 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8282 switch ((*n).kind) {
8283 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8284 {
8285 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
8286 s = (*n)._kind_4.sym;
8287 checkCanEval__vmgen_2268(c, n);
8288 switch ((*s).kind) {
8289 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
8290 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
8291 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
8292 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
8293 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
8294 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
8295 {
8296 genRdVar__vmgen_2453(c, n, dest, flags);
8297 }
8298 break;
8299 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
8300 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
8301 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
8302 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
8303 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
8304 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
8305 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
8306 {
8307 {
8308 NIM_BOOL T6_;
8309 T6_ = (NIM_BOOL)0;
8310 T6_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
8311 if (!(T6_)) goto LA7_;
8312 T6_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
8313 LA7_: ;
8314 if (!T6_) goto LA8_;
8315 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_25), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_26, NIM_FALSE);
8316 }
8317 LA8_: ;
8318 {
8319 NIM_BOOL T12_;
8320 T12_ = (NIM_BOOL)0;
8321 T12_ = procIsCallback__vmgen_3104(c, s);
8322 if (!T12_) goto LA13_;
8323 }
8324 goto LA10_;
8325 LA13_: ;
8326 {
8327 NIM_BOOL T16_;
8328 T16_ = (NIM_BOOL)0;
8329 T16_ = importcCond__vmgen_2412(c, s);
8330 if (!T16_) goto LA17_;
8331 importcSym__vmgen_2428(c, (*n).info, s);
8332 }
8333 goto LA10_;
8334 LA17_: ;
8335 LA10_: ;
8336 genLit__vmgen_1199(c, n, dest);
8337 }
8338 break;
8339 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
8340 {
8341 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constVal;
8342 {
8343 if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA22_;
8344 constVal = (*s).ast;
8345 }
8346 goto LA20_;
8347 LA22_: ;
8348 {
8349 constVal = (*(*s).typ).n;
8350 }
8351 LA20_: ;
8352 gen__vmgen_687(c, constVal, dest, 0);
8353 }
8354 break;
8355 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
8356 {
8357 {
8358 NI T30_;
8359 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA28_;
8360 T30_ = (NI)0;
8361 T30_ = getTemp__vmgen_541(c, (*n).typ);
8362 (*dest) = ((NI) (T30_));
8363 }
8364 LA28_: ;
8365 {
8366 NIM_BOOL T33_;
8367 T33_ = (NIM_BOOL)0;
8368 T33_ = (((NI) -32768) <= (*s).position);
8369 if (!(T33_)) goto LA34_;
8370 T33_ = ((*s).position <= ((NI) 32767));
8371 LA34_: ;
8372 if (!T33_) goto LA35_;
8373 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), (*s).position);
8374 }
8375 goto LA31_;
8376 LA35_: ;
8377 {
8378 NI lit;
8379 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
8380 T38_ = NIM_NIL;
8381 T38_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*s).position)));
8382 lit = genLiteral__vmgen_1013(c, T38_);
8383 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
8384 }
8385 LA31_: ;
8386 }
8387 break;
8388 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
8389 {
8390 genTypeLit__vmgen_2407(c, (*s).typ, dest);
8391 }
8392 break;
8393 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
8394 {
8395 {
8396 NIM_BOOL T43_;
8397 T43_ = (NIM_BOOL)0;
8398 T43_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8399 if (!(T43_)) goto LA44_;
8400 T43_ = ((*(*(*c).prc).sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
8401 LA44_: ;
8402 if (!T43_) goto LA45_;
8403 genRdVar__vmgen_2453(c, n, dest, flags);
8404 }
8405 goto LA41_;
8406 LA45_: ;
8407 {
8408 NimStringDesc* T48_;
8409 T48_ = NIM_NIL;
8410 T48_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8411 appendString(T48_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8412 appendString(T48_, (*(*s).name).s);
8413 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_31, NIM_FALSE);
8414 }
8415 LA41_: ;
8416 }
8417 break;
8418 default:
8419 {
8420 NimStringDesc* T50_;
8421 T50_ = NIM_NIL;
8422 T50_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8423 appendString(T50_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8424 appendString(T50_, (*(*s).name).s);
8425 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_32, NIM_FALSE);
8426 }
8427 break;
8428 }
8429 }
8430 break;
8431 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
8432 {
8433 {
8434 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
8435 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA54_;
8436 s_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
8437 {
8438 if (!!(((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA58_;
8439 genMagic__vmgen_1858(c, n, dest, (*s_2).magic);
8440 }
8441 goto LA56_;
8442 LA58_: ;
8443 {
8444 NimStringDesc* T63_;
8445 if (!((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA61_;
8446 T63_ = NIM_NIL;
8447 T63_ = rawNewString(((*(*s_2).name).s ? (*(*s_2).name).s->Sup.len : 0) + 35);
8448 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_84));
8449 appendString(T63_, (*(*s_2).name).s);
8450 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_85));
8451 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T63_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_86, NIM_FALSE);
8452 }
8453 goto LA56_;
8454 LA61_: ;
8455 {
8456 NIM_BOOL T65_;
8457 T65_ = (NIM_BOOL)0;
8458 T65_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_87));
8459 if (!T65_) goto LA66_;
8460 genMarshalLoad__vmgen_2071(c, n, dest);
8461 }
8462 goto LA56_;
8463 LA66_: ;
8464 {
8465 NIM_BOOL T69_;
8466 T69_ = (NIM_BOOL)0;
8467 T69_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_88));
8468 if (!T69_) goto LA70_;
8469 genMarshalStore__vmgen_2077(c, n, dest);
8470 }
8471 goto LA56_;
8472 LA70_: ;
8473 {
8474 genCall__vmgen_1204(c, n, dest);
8475 clearDest__vmgen_718(c, n, dest);
8476 }
8477 LA56_: ;
8478 }
8479 goto LA52_;
8480 LA54_: ;
8481 {
8482 genCall__vmgen_1204(c, n, dest);
8483 clearDest__vmgen_718(c, n, dest);
8484 }
8485 LA52_: ;
8486 }
8487 break;
8488 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
8489 {
8490 {
8491 NIM_BOOL T77_;
8492 T77_ = (NIM_BOOL)0;
8493 T77_ = isInt16Lit__vmgen_1573(n);
8494 if (!T77_) goto LA78_;
8495 {
8496 NI T84_;
8497 if (!(((NI) ((*dest))) < ((NI) 0))) goto LA82_;
8498 T84_ = (NI)0;
8499 T84_ = getTemp__vmgen_541(c, (*n).typ);
8500 (*dest) = ((NI) (T84_));
8501 }
8502 LA82_: ;
8503 gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), ((NI) ((*n)._kind_1.intVal)));
8504 }
8505 goto LA75_;
8506 LA78_: ;
8507 {
8508 genLit__vmgen_1199(c, n, dest);
8509 }
8510 LA75_: ;
8511 }
8512 break;
8513 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
8514 {
8515 genLit__vmgen_1199(c, n, dest);
8516 }
8517 break;
8518 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
8519 {
8520 {
8521 NIM_BOOL T90_;
8522 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T93_;
8523 T90_ = (NIM_BOOL)0;
8524 T90_ = isEmptyType__ast_4779((*n).typ);
8525 if (!!(T90_)) goto LA91_;
8526 T93_ = NIM_NIL;
8527 T93_ = getNullValue__vmgen_2432((*n).typ, (*n).info, (*c).config);
8528 genLit__vmgen_1199(c, T93_, dest);
8529 }
8530 goto LA88_;
8531 LA91_: ;
8532 {
8533 unused__vmgen_1026(c, n, (*dest));
8534 }
8535 LA88_: ;
8536 }
8537 break;
8538 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
8539 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
8540 {
8541 unused__vmgen_1026(c, n, (*dest));
8542 genAsgn__vmgen_2329(c, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73)));
8543 }
8544 break;
8545 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
8546 {
8547 genObjAccess__vmgen_2569(c, n, dest, flags);
8548 }
8549 break;
8550 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
8551 {
8552 genCheckedObjAccess__vmgen_2646(c, n, dest, flags);
8553 }
8554 break;
8555 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
8556 {
8557 genArrAccess__vmgen_2682(c, n, dest, flags);
8558 }
8559 break;
8560 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
8561 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
8562 {
8563 genDeref__vmgen_2181(c, n, dest, flags);
8564 }
8565 break;
8566 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
8567 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
8568 {
8569 genAddr__vmgen_2138(c, n, dest, flags);
8570 }
8571 break;
8572 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8573 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8574 {
8575 genIf__vmgen_883(c, n, dest);
8576 }
8577 break;
8578 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
8579 {
8580 gen__vmgen_687(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], dest, 0);
8581 }
8582 break;
8583 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8584 {
8585 genCase__vmgen_1030(c, n, dest);
8586 }
8587 break;
8588 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8589 {
8590 unused__vmgen_1026(c, n, (*dest));
8591 genWhile__vmgen_761(c, n);
8592 }
8593 break;
8594 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8595 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8596 {
8597 genBlock__vmgen_799(c, n, dest);
8598 }
8599 break;
8600 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
8601 {
8602 genReturn__vmgen_1190(c, n);
8603 }
8604 break;
8605 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
8606 {
8607 genRaise__vmgen_1185(c, n);
8608 }
8609 break;
8610 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
8611 {
8612 genBreak__vmgen_831(c, n);
8613 }
8614 break;
8615 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8616 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
8617 {
8618 genTry__vmgen_1110(c, n, dest);
8619 }
8620 break;
8621 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8622 {
8623 {
8624 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
8625 x = NIM_NIL;
8626 {
8627 NI i;
8628 NI colontmp_;
8629 NI i_2;
8630 i = (NI)0;
8631 colontmp_ = (NI)0;
8632 colontmp_ = safeLen__ast_3191(n);
8633 i_2 = ((NI) 0);
8634 {
8635 while (1) {
8636 if (!(i_2 < colontmp_)) goto LA114;
8637 i = i_2;
8638 x = (*n)._kind_6.sons->data[i];
8639 gen__vmgen_707(c, x, 0);
8640 i_2 += ((NI) 1);
8641 } LA114: ;
8642 }
8643 }
8644 }
8645 }
8646 break;
8647 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8648 {
8649 NI T120_;
8650 {
8651 NI i_3;
8652 NI colontmp__2;
8653 NI T117_;
8654 NI i_4;
8655 i_3 = (NI)0;
8656 colontmp__2 = (NI)0;
8657 T117_ = (NI)0;
8658 T117_ = len__ast_3198(n);
8659 colontmp__2 = (NI)(T117_ - ((NI) 1));
8660 i_4 = ((NI) 0);
8661 {
8662 while (1) {
8663 if (!(i_4 < colontmp__2)) goto LA119;
8664 i_3 = i_4;
8665 gen__vmgen_707(c, (*n)._kind_6.sons->data[i_3], 0);
8666 i_4 += ((NI) 1);
8667 } LA119: ;
8668 }
8669 }
8670 T120_ = (NI)0;
8671 T120_ = len__ast_3198(n);
8672 gen__vmgen_687(c, (*n)._kind_6.sons->data[(NI)(T120_ - ((NI) 1))], dest, flags);
8673 }
8674 break;
8675 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
8676 {
8677 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
8678 T122_ = NIM_NIL;
8679 T122_ = lastSon__ast_4832(n);
8680 gen__vmgen_687(c, T122_, dest, flags);
8681 }
8682 break;
8683 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
8684 {
8685 unused__vmgen_1026(c, n, (*dest));
8686 gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8687 }
8688 break;
8689 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
8690 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
8691 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
8692 {
8693 genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8694 }
8695 break;
8696 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
8697 {
8698 genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8699 }
8700 break;
8701 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
8702 {
8703 genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8704 }
8705 break;
8706 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
8707 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
8708 {
8709 unused__vmgen_1026(c, n, (*dest));
8710 genVarSection__vmgen_2831(c, n);
8711 }
8712 break;
8713 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
8714 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
8715 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
8716 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
8717 {
8718 unused__vmgen_1026(c, n, (*dest));
8719 }
8720 break;
8721 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
8722 {
8723 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8724 T130_ = NIM_NIL;
8725 T130_ = newSymNode__ast_3716((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
8726 genLit__vmgen_1199(c, T130_, dest);
8727 }
8728 break;
8729 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
8730 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
8731 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
8732 {
8733 NI tmp0;
8734 NI tmp1;
8735 NI tmp2;
8736 tmp0 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8737 tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8738 tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
8739 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 103), tmp0, tmp1, tmp2);
8740 freeTemp__vmgen_550(c, tmp1);
8741 freeTemp__vmgen_550(c, tmp2);
8742 {
8743 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
8744 if (!(((NI) 0) <= ((NI) ((*dest))))) goto LA134_;
8745 T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
8746 T136_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
8747 gABC__vmgen_312(c, n, T136_, ((NI) ((*dest))), tmp0, ((NI) 0));
8748 freeTemp__vmgen_550(c, tmp0);
8749 }
8750 goto LA132_;
8751 LA134_: ;
8752 {
8753 (*dest) = ((NI) (tmp0));
8754 }
8755 LA132_: ;
8756 }
8757 break;
8758 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
8759 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
8760 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
8761 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
8762 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
8763 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
8764 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
8765 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
8766 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
8767 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
8768 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
8769 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
8770 {
8771 unused__vmgen_1026(c, n, (*dest));
8772 }
8773 break;
8774 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
8775 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
8776 {
8777 gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
8778 }
8779 break;
8780 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
8781 {
8782 genArrayConstr__vmgen_2947(c, n, dest);
8783 }
8784 break;
8785 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
8786 {
8787 genSetConstr__vmgen_2971(c, n, dest);
8788 }
8789 break;
8790 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
8791 {
8792 genObjConstr__vmgen_2985(c, n, dest);
8793 }
8794 break;
8795 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
8796 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
8797 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
8798 {
8799 genTupleConstr__vmgen_3027(c, n, dest);
8800 }
8801 break;
8802 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
8803 {
8804 {
8805 if (!(((*c).features &((NU8)1<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 0))&7U)))!=0)) goto LA147_;
8806 genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 94));
8807 }
8808 goto LA145_;
8809 LA147_: ;
8810 {
8811 genCastIntFloat__vmgen_1628(c, n, dest);
8812 }
8813 LA145_: ;
8814 }
8815 break;
8816 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
8817 {
8818 genTypeLit__vmgen_2407(c, (*n).typ, dest);
8819 }
8820 break;
8821 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
8822 {
8823 }
8824 break;
8825 default:
8826 {
8827 {
8828 NIM_BOOL T155_;
8829 T155_ = (NIM_BOOL)0;
8830 T155_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8831 if (!(T155_)) goto LA156_;
8832 T155_ = isCompileTimeOnly__types_3519((*n).typ);
8833 LA156_: ;
8834 if (!T155_) goto LA157_;
8835 genTypeLit__vmgen_2407(c, (*n).typ, dest);
8836 }
8837 goto LA153_;
8838 LA157_: ;
8839 {
8840 NimStringDesc* T160_;
8841 NimStringDesc* T161_;
8842 T160_ = NIM_NIL;
8843 T161_ = NIM_NIL;
8844 T161_ = dollar___renderer_2106(n);
8845 T160_ = rawNewString((T161_ ? T161_->Sup.len : 0) + 28);
8846 appendString(T160_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_107));
8847 appendString(T160_, T161_);
8848 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T160_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_108, NIM_FALSE);
8849 }
8850 LA153_: ;
8851 }
8852 break;
8853 }
8854 }
N_NIMCALL(void,gen__vmgen_707)8855 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8856 NI tmp;
8857 tmp = ((NI) -1);
8858 gen__vmgen_687(c, n, (&tmp), flags);
8859 {
8860 if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
8861 freeTemp__vmgen_550(c, ((NI) (tmp)));
8862 }
8863 LA3_: ;
8864 }
N_NIMCALL(void,finalJumpTarget__vmgen_3340)8865 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff) {
8866 NU64 oldInstr;
8867 {
8868 NIM_BOOL T3_;
8869 NimStringDesc* argX60gensym608_;
8870 T3_ = (NIM_BOOL)0;
8871 T3_ = (((NI) -8388607) < diff);
8872 if (!(T3_)) goto LA4_;
8873 T3_ = (diff < ((NI) 8388607));
8874 LA4_: ;
8875 if (!!(T3_)) goto LA5_;
8876 argX60gensym608_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_109);
8877 internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym608_, TM__24XApAWKNvaMkcyklm8bNA_109);
8878 }
8879 LA5_: ;
8880 oldInstr = (*c).code->data[pc];
8881 (*c).code->data[pc] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
8882 }
N_NIMCALL(void,optimizeJumps__vmgen_3387)8883 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start) {
8884 {
8885 NI i;
8886 NI colontmp_;
8887 NI T2_;
8888 NI i_2;
8889 i = (NI)0;
8890 colontmp_ = (NI)0;
8891 T2_ = ((*c).code ? (*c).code->Sup.len : 0);
8892 colontmp_ = T2_;
8893 i_2 = start;
8894 {
8895 while (1) {
8896 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
8897 if (!(i_2 < colontmp_)) goto LA4;
8898 i = i_2;
8899 opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(0ULL)) & 255ULL)));
8900 switch (opc) {
8901 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8902 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8903 {
8904 NI reg;
8905 NI d;
8906 reg = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(8ULL)) & 65535ULL)));
8907 d = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8908 {
8909 NI iters;
8910 NI res;
8911 iters = (NI)0;
8912 res = ((NI) 10);
8913 {
8914 while (1) {
8915 if (!(((NI) 0) <= res)) goto LA8;
8916 iters = res;
8917 switch (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL)))) {
8918 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8919 {
8920 d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8921 }
8922 break;
8923 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8924 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8925 {
8926 {
8927 if (!!((((NI) (((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(8ULL)) & 65535ULL))))) == ((NI) (reg))))) goto LA13_;
8928 goto LA6;
8929 }
8930 LA13_: ;
8931 {
8932 if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL))) == opc)) goto LA17_;
8933 d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8934 }
8935 goto LA15_;
8936 LA17_: ;
8937 {
8938 d += ((NI) 1);
8939 }
8940 LA15_: ;
8941 }
8942 break;
8943 default:
8944 {
8945 goto LA6;
8946 }
8947 break;
8948 }
8949 res -= ((NI) 1);
8950 } LA8: ;
8951 }
8952 } LA6: ;
8953 {
8954 if (!!((d == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA23_;
8955 finalJumpTarget__vmgen_3340(c, i, (NI)(d - i));
8956 }
8957 LA23_: ;
8958 }
8959 break;
8960 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8961 case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164):
8962 {
8963 NI d_2;
8964 NI iters_2;
8965 d_2 = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8966 iters_2 = ((NI) 10);
8967 {
8968 while (1) {
8969 NIM_BOOL T28_;
8970 T28_ = (NIM_BOOL)0;
8971 T28_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163));
8972 if (!(T28_)) goto LA29_;
8973 T28_ = (((NI) 0) < iters_2);
8974 LA29_: ;
8975 if (!T28_) goto LA27;
8976 d_2 += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8977 iters_2 -= ((NI) 1);
8978 } LA27: ;
8979 }
8980 {
8981 if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1))) goto LA32_;
8982 (*c).code->data[i] = (*c).code->data[d_2];
8983 }
8984 goto LA30_;
8985 LA32_: ;
8986 {
8987 if (!!((d_2 == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA35_;
8988 finalJumpTarget__vmgen_3340(c, i, (NI)(d_2 - i));
8989 }
8990 goto LA30_;
8991 LA35_: ;
8992 LA30_: ;
8993 }
8994 break;
8995 default:
8996 {
8997 }
8998 break;
8999 }
9000 i_2 += ((NI) 1);
9001 } LA4: ;
9002 }
9003 }
9004 }
N_NIMCALL(NI,genProc__vmgen_3055)9005 N_LIB_PRIVATE N_NIMCALL(NI, genProc__vmgen_3055)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9006 NI result;
9007 NI pos;
9008 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym636_;
9009 NIM_BOOL wasNotGenProcBefore;
9010 NIM_BOOL noRegistersAllocated;
9011 result = (NI)0;
9012 xX60gensym636_ = s;
9013 pos = getOrDefault__vmgen_3597((*c).procToCodePos, (NI)((NI)((NU32)(((NI) ((*xX60gensym636_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym636_).Sup.itemId.item))));
9014 wasNotGenProcBefore = (pos == ((NI) 0));
9015 noRegistersAllocated = ((*s).offset == ((NI) -1));
9016 {
9017 NIM_BOOL T3_;
9018 NI last;
9019 NI T7_;
9020 NU64 eofInstr;
9021 NI T14_;
9022 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym641_;
9023 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
9024 NIM_BOOL T15_;
9025 NI procStart;
9026 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* p;
9027 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* T16_;
9028 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* oldPrc;
9029 NI T28_;
9030 T3_ = (NIM_BOOL)0;
9031 T3_ = wasNotGenProcBefore;
9032 if (T3_) goto LA4_;
9033 T3_ = noRegistersAllocated;
9034 LA4_: ;
9035 if (!T3_) goto LA5_;
9036 T7_ = ((*c).code ? (*c).code->Sup.len : 0);
9037 last = (NI)(T7_ - ((NI) 1));
9038 eofInstr = (NU64)0;
9039 {
9040 NIM_BOOL T10_;
9041 T10_ = (NIM_BOOL)0;
9042 T10_ = (((NI) 0) <= last);
9043 if (!(T10_)) goto LA11_;
9044 T10_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
9045 LA11_: ;
9046 if (!T10_) goto LA12_;
9047 eofInstr = (*c).code->data[last];
9048 asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
9049 asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
9050 }
9051 LA12_: ;
9052 T14_ = ((*c).code ? (*c).code->Sup.len : 0);
9053 result = (NI)(T14_ + ((NI) 1));
9054 xX60gensym641_ = s;
9055 X5BX5Deq___importer_2284((&(*c).procToCodePos), (NI)((NI)((NU32)(((NI) ((*xX60gensym641_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym641_).Sup.itemId.item))), result);
9056 T15_ = (NIM_BOOL)0;
9057 T15_ = isCompileTimeProc__ast_4683(s);
9058 body = transformBody__transf_16((*c).graph, (*c).Sup.idgen, s, !(T15_));
9059 procStart = xjmp__vmgen_398(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
9060 T16_ = NIM_NIL;
9061 T16_ = (tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) newObj((&NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_), sizeof(tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ));
9062 if ((*T16_).blocks) { nimGCunrefRC1((*T16_).blocks); (*T16_).blocks = NIM_NIL; }
9063 asgnRef((void**) (&(*T16_).sym), s);
9064 p = T16_;
9065 oldPrc = (*c).prc;
9066 asgnRef((void**) (&(*c).prc), p);
9067 genParams__vmgen_3318(c, (*(*s).typ).n);
9068 {
9069 NIM_BOOL T19_;
9070 T19_ = (NIM_BOOL)0;
9071 T19_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
9072 if (!(T19_)) goto LA20_;
9073 T19_ = isGenericRoutineStrict__ast_4639(s);
9074 LA20_: ;
9075 if (!T19_) goto LA21_;
9076 genGenericParams__vmgen_3361(c, (*(*s).ast)._kind_6.sons->data[((NI) 2)]);
9077 }
9078 LA21_: ;
9079 {
9080 NI T27_;
9081 if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12))&63U)))!=0)) goto LA25_;
9082 asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) incrSeqV3((TGenericSeq*)((*(*c).prc).regInfo), (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_)));
9083 T27_ = (*(*c).prc).regInfo->Sup.len++;
9084 (*(*c).prc).regInfo->data[T27_] = TM__24XApAWKNvaMkcyklm8bNA_5;
9085 }
9086 LA25_: ;
9087 gen__vmgen_707(c, body, 0);
9088 gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
9089 patch__vmgen_434(c, procStart);
9090 gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) ((NU64)((NU64)((NU64)(eofInstr) >> (NU64)(8ULL)) & 65535ULL))), ((NI) 0), ((NI) 0));
9091 optimizeJumps__vmgen_3387(c, result);
9092 T28_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
9093 (*s).offset = T28_;
9094 asgnRef((void**) (&(*c).prc), oldPrc);
9095 }
9096 goto LA1_;
9097 LA5_: ;
9098 {
9099 asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((*s).offset))));
9100 result = pos;
9101 }
9102 LA1_: ;
9103 return result;
9104 }
N_NIMCALL(void,removeLastEof__vmgen_3268)9105 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
9106 NI last;
9107 NI T1_;
9108 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9109 last = (NI)(T1_ - ((NI) 1));
9110 {
9111 NIM_BOOL T4_;
9112 T4_ = (NIM_BOOL)0;
9113 T4_ = (((NI) 0) <= last);
9114 if (!(T4_)) goto LA5_;
9115 T4_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
9116 LA5_: ;
9117 if (!T4_) goto LA6_;
9118 asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
9119 asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
9120 }
9121 LA6_: ;
9122 }
N_NIMCALL(NI,genExpr__vmgen_3309)9123 N_LIB_PRIVATE N_NIMCALL(NI, genExpr__vmgen_3309)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresValue) {
9124 NI result;
9125 NI T1_;
9126 NI d;
9127 result = (NI)0;
9128 removeLastEof__vmgen_3268(c);
9129 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9130 result = T1_;
9131 d = ((NI) -1);
9132 gen__vmgen_687(c, n, (&d), 0);
9133 {
9134 if (!(((NI) (d)) < ((NI) 0))) goto LA4_;
9135 {
9136 if (!requiresValue) goto LA8_;
9137 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_110), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_111, NIM_FALSE);
9138 }
9139 LA8_: ;
9140 d = ((NI) 0);
9141 }
9142 LA4_: ;
9143 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) (d)), ((NI) 0), ((NI) 0));
9144 return result;
9145 }
N_NIMCALL(NI,genStmt__vmgen_3301)9146 N_LIB_PRIVATE N_NIMCALL(NI, genStmt__vmgen_3301)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9147 NI result;
9148 NI T1_;
9149 NI d;
9150 result = (NI)0;
9151 removeLastEof__vmgen_3268(c);
9152 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9153 result = T1_;
9154 d = ((NI) -1);
9155 gen__vmgen_687(c, n, (&d), 0);
9156 gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) 0), ((NI) 0), ((NI) 0));
9157 {
9158 if (!(((NI) 0) <= ((NI) (d)))) goto LA4_;
9159 liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_112), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_113, NIM_FALSE);
9160 }
9161 LA4_: ;
9162 return result;
9163 }
N_NIMCALL(void,compiler_vmgenDatInit000)9164 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmgenDatInit000)(void) {
9165 static TNimNode* TM__24XApAWKNvaMkcyklm8bNA_52_5[5];
9166 static TNimNode TM__24XApAWKNvaMkcyklm8bNA_0[6];
9167 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9168 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9169 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.kind = 17;
9170 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
9171 TM__24XApAWKNvaMkcyklm8bNA_52_5[0] = &TM__24XApAWKNvaMkcyklm8bNA_0[1];
9172 TM__24XApAWKNvaMkcyklm8bNA_0[1].kind = 1;
9173 TM__24XApAWKNvaMkcyklm8bNA_0[1].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, colonstate_);
9174 TM__24XApAWKNvaMkcyklm8bNA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
9175 TM__24XApAWKNvaMkcyklm8bNA_0[1].name = ":state";
9176 TM__24XApAWKNvaMkcyklm8bNA_52_5[1] = &TM__24XApAWKNvaMkcyklm8bNA_0[2];
9177 TM__24XApAWKNvaMkcyklm8bNA_0[2].kind = 1;
9178 TM__24XApAWKNvaMkcyklm8bNA_0[2].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, t21);
9179 TM__24XApAWKNvaMkcyklm8bNA_0[2].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9180 TM__24XApAWKNvaMkcyklm8bNA_0[2].name = "t21";
9181 TM__24XApAWKNvaMkcyklm8bNA_52_5[2] = &TM__24XApAWKNvaMkcyklm8bNA_0[3];
9182 TM__24XApAWKNvaMkcyklm8bNA_0[3].kind = 1;
9183 TM__24XApAWKNvaMkcyklm8bNA_0[3].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, targ22);
9184 TM__24XApAWKNvaMkcyklm8bNA_0[3].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9185 TM__24XApAWKNvaMkcyklm8bNA_0[3].name = "targ22";
9186 TM__24XApAWKNvaMkcyklm8bNA_52_5[3] = &TM__24XApAWKNvaMkcyklm8bNA_0[4];
9187 TM__24XApAWKNvaMkcyklm8bNA_0[4].kind = 1;
9188 TM__24XApAWKNvaMkcyklm8bNA_0[4].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, n3);
9189 TM__24XApAWKNvaMkcyklm8bNA_0[4].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9190 TM__24XApAWKNvaMkcyklm8bNA_0[4].name = "n3";
9191 TM__24XApAWKNvaMkcyklm8bNA_52_5[4] = &TM__24XApAWKNvaMkcyklm8bNA_0[5];
9192 TM__24XApAWKNvaMkcyklm8bNA_0[5].kind = 1;
9193 TM__24XApAWKNvaMkcyklm8bNA_0[5].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, arg4);
9194 TM__24XApAWKNvaMkcyklm8bNA_0[5].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9195 TM__24XApAWKNvaMkcyklm8bNA_0[5].name = "arg4";
9196 TM__24XApAWKNvaMkcyklm8bNA_0[0].len = 5; TM__24XApAWKNvaMkcyklm8bNA_0[0].kind = 2; TM__24XApAWKNvaMkcyklm8bNA_0[0].sons = &TM__24XApAWKNvaMkcyklm8bNA_52_5[0];
9197 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.node = &TM__24XApAWKNvaMkcyklm8bNA_0[0];
9198 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9199 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9200 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.kind = 22;
9201 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.base = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
9202 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.marker = Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw;
9203 }
9204
9205