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