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