/* Generated by Nim Compiler v1.6.2 */ #define NIM_INTBITS 64 #include "nimbase.h" #include #include #include #include #include #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct Exception Exception; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ; typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA; typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w; typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g; typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg; typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ; typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg; typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw; typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA; typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw; typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw; typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg; typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg; typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg; typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ; typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg; typedef struct tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w; typedef struct tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ; typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct TSafePoint TSafePoint; typedef struct RootObj RootObj; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; typedef struct GcFrameHeader GcFrameHeader; typedef struct tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g; typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA; typedef struct tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ; typedef struct tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA; typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA; typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw; typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag; typedef struct tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ; typedef struct tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g; typedef struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ; typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA; typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw; typedef struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg; typedef struct tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA; typedef struct tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w; typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9axCnCRMUx32AHzFgBrzSMg) (Exception* e); typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void); typedef N_NIMCALL_PTR(void, tyProc__NFmM6mqUOVW3cJg4yvk8Fw) (Exception* e); typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ; typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op); typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p); struct TNimType { NI size; NI align; tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind; tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags; TNimType* base; TNimNode* node; void* finalizer; tyProc__ojoeKfW4VYIm36I9cpDTQIg marker; tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct tyObject_GcStack__7fytPA5bBsob6See21YMRA { void* bottom; }; struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256]; typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24]; typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32]; typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24]; typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256]; struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA { tyArray__lh2A89ahMmYg9bCmpVaplLbA data; }; typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2]; struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw { tyArray__0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperBound; NI level; }; struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0; NI Field1; }; typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30]; struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg { NI len; tyArray__LzOv2eCDGiceMKQstCLmhw chunks; tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next; }; struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg { NI minLargeObj; NI maxLargeObj; tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks; NU32 flBitmap; tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap; tyArray__B6durA4ZCi1xjJvRtyYxMg matrix; tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem; NI currMem; NI maxMem; NI freeMem; NI occ; NI lastSize; tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes; NIM_BOOL locked; NIM_BOOL blockChunkSizeIncrease; NI nextChunkSize; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData; tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks; }; struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg { NI stackScans; NI cycleCollections; NI maxThreshold; NI maxStackSize; NI maxStackCells; NI cycleTableSize; NI64 maxPause; }; struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data; }; struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ { tyObject_GcStack__7fytPA5bBsob6See21YMRA stack; NI cycleThreshold; NI zctThreshold; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack; NI recGcLock; tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region; tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat; tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots; NI gcThreadId; }; typedef tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* tyUncheckedArray__qYl1ErvQvkPpq9bTvm2UvTg[1]; struct tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w { NI prevSize; NI size; }; struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ { tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w Sup; tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* next; tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* prev; tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* freeList; NI free; NI acc; NIM_ALIGN(16) NU8 data[SEQ_DECL_SIZE]; }; typedef NI8 tyArray__mkmEeKAWtk2yS9bBb1lUWXA[256]; struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg { tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w Sup; tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* next; tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* prev; NIM_ALIGN(16) NU8 data[SEQ_DECL_SIZE]; }; struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* next; }; typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8]; struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw { tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; tyArray__VqSA39cBDWnwnJySTumCdjw bits; }; struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ { NI Field0; NI Field1; }; struct tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ { tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* next; NI zeroField; }; typedef tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* tyUncheckedArray__xm0FYDlyTP1z2D1LZJL9bqQ[1]; typedef NI tyArray__OQPb4glXtXQGOV29cAX1uQg[4]; struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg { tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* next; NU key; tyArray__OQPb4glXtXQGOV29cAX1uQg bits; }; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef N_NIMCALL_PTR(void, tyProc__W6IXMh2CA4X1rFYGjUb4yg) (NimStringDesc* msg); struct RootObj { TNimType* m_type; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringDesc* message; tySequence__uB9b75OUPRENsBAu4AnoePA* trace; Exception* up; }; struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; typedef NU8 tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ; struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; typedef NU8 tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ; typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ; struct TNimNode { tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct TSafePoint { TSafePoint* prev; NI status; jmp_buf context; }; typedef N_NIMCALL_PTR(void, Finalizer) (void* self); struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA { Exception Sup; }; struct tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; struct tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; struct tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ { tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA Sup; }; typedef NIM_CHAR tyArray__gpc2RrLEcWgv7ONpLYNHOw[2001]; typedef N_NOCONV_PTR(void, tyProc__ZEo3s9cIqJYP74f7GMZM2FA) (int a); typedef tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ tyArray__9aTRall1siQT9bXabu2aKXUg[3500]; struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA { Exception Sup; }; struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw { tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup; }; struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag { tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup; }; struct tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; typedef NIM_CHAR tyArray__eVNFTutn6un5gcq48fQLdg[65]; struct tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA { tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup; NI32 errorCode; }; struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw { tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup; }; struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg { tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw Sup; }; typedef NF tyArray__yp9a149boki9cCCWgfXI0Ip4A[23]; typedef NIM_CHAR tyArray__PGLh8drTnaWr3s1qUUSq2Q[500]; struct tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA { tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup; }; typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1]; struct tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w { tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA Sup; }; struct tySequence__uB9b75OUPRENsBAu4AnoePA { TGenericSeq Sup; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE]; }; static N_INLINE(void, initStackBottom)(void); N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom); N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5404)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position); N_LIB_PRIVATE N_NIMCALL(void, initGC__system_2398)(void); N_LIB_PRIVATE N_NIMCALL(void, init__system_4886)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, NI cap); N_LIB_PRIVATE N_NOCONV(void*, alloc0Impl__system_1745)(NI size); N_LIB_PRIVATE N_NIMCALL(void*, alloc0__system_4780)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size); N_LIB_PRIVATE N_NIMCALL(void*, alloc__system_4776)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size); N_LIB_PRIVATE N_NIMCALL(void*, rawAlloc__system_4560)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI requestedSize); static N_INLINE(NI, roundup__system_3696)(NI x, NI v); N_LIB_PRIVATE N_NIMCALL(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*, getSmallChunk__system_4539)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a); N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getBigChunk__system_4516)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size); static N_INLINE(void, mappingSearch__system_3844)(NI* r, NI* fl, NI* sl); static N_INLINE(NI, msbit__system_3819)(NU32 x); static N_INLINE(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, findSuitableBlock__system_3876)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI* fl, NI* sl); static N_INLINE(NI, lsbit__system_3827)(NU32 x); N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, requestOsChunks__system_4439)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size); static N_INLINE(void*, osAllocPages__system_3716)(NI size); N_LIB_PRIVATE N_NOINLINE(void, raiseOutOfMem__system_3691)(void); static N_INLINE(void, rawWrite)(FILE* f, NCSTRING s); static N_INLINE(NI, nimCStrLen)(NCSTRING a); static N_INLINE(void*, osTryAllocPages__system_3719)(NI size); static N_INLINE(void, incCurrMem__system_3959)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes); N_LIB_PRIVATE N_NIMCALL(void, addHeapLink__system_4043)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* p, NI size); N_LIB_PRIVATE N_NIMCALL(void*, llAlloc__system_3976)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size); static N_INLINE(void, zeroMem__system_1724)(void* p, NI size); static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); static N_INLINE(NI, pluspercent___system_696)(NI x, NI y); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4225)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key); N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetGet__system_4186)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key); static N_INLINE(NI, pageIndex__system_4421)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c); static N_INLINE(NI, minuspercent___system_716)(NI x, NI y); N_LIB_PRIVATE N_NIMCALL(void, splitChunk__system_4490)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size); N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, splitChunk2__system_4485)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size); static N_INLINE(void, updatePrevSize__system_4480)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI prevSize); static N_INLINE(NIM_BOOL, isAccessible__system_4462)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p); static N_INLINE(NI, pageIndex__system_4428)(void* p); N_LIB_PRIVATE N_NIMCALL(void, incl__system_4256)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key); N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetPut__system_4208)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key); N_LIB_PRIVATE N_NIMCALL(void, addChunkToMatrix__system_3950)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b); static N_INLINE(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, mappingInsert__system_3862)(NI r); static N_INLINE(void, setBit__system_3830)(NI nr, NU32* dest); N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix2__system_3941)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b, NI fl, NI sl); static N_INLINE(void, clearBit__system_3837)(NI nr, NU32* dest); static N_INLINE(void, listAdd__system_4577)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c); static N_INLINE(void, listRemove__system_4630)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c); N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getHugeChunk__system_4531)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size); N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, getBottom__system_4002)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a); N_LIB_PRIVATE N_NIMCALL(void, add__system_4149)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI key, NI upperBound); N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, allocAvlNode__system_4018)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI key, NI upperBound); static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y); N_LIB_PRIVATE N_NIMCALL(void, skew__system_4139)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t); N_LIB_PRIVATE N_NIMCALL(void, split__system_4142)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t); N_LIB_PRIVATE N_NIMCALL(void, init__system_4892)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s); static N_INLINE(NI, atomicInc__system_2172)(NI* memLoc, NI x); static N_NIMCALL(void, Marker_tySequence__uB9b75OUPRENsBAu4AnoePA)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op); N_LIB_PRIVATE N_NIMCALL(void, doOperation__system_5302)(void* p, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op); static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr); static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(void, add__system_4860)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1743)(NI size); static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p); N_LIB_PRIVATE N_NOCONV(void, deallocImpl__system_1747)(void* p); N_LIB_PRIVATE N_NIMCALL(void, dealloc__system_4784)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, void* p); N_LIB_PRIVATE N_NIMCALL(void, rawDealloc__system_4689)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p); static N_INLINE(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*, pageAddr__system_4435)(void* p); static N_INLINE(NIM_BOOL, isSmallChunk__system_4346)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c); N_LIB_PRIVATE N_NIMCALL(void, freeBigChunk__system_4495)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c); static N_INLINE(NIM_BOOL, chunkUnused__system_4352)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c); N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix__system_3911)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b); N_LIB_PRIVATE N_NIMCALL(void, excl__system_4278)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key); N_LIB_PRIVATE N_NIMCALL(void, del__system_4158)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI x); static N_INLINE(void, deallocAvlNode__system_4040)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n); N_LIB_PRIVATE N_NIMCALL(void, freeHugeChunk__system_4535)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c); static N_INLINE(void, decCurrMem__system_3966)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes); static N_INLINE(void, osDeallocPages__system_3722)(void* p, NI size); N_LIB_PRIVATE N_NIMCALL(void, markS__system_5720)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NIMCALL(void, incl__system_5017)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell); N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetPut__system_4963)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, NU key); static N_INLINE(NI, nextTry__system_4920)(NI h, NI maxHash); N_LIB_PRIVATE N_NIMCALL(void, cellSetEnlarge__system_4950)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t); N_LIB_PRIVATE N_NIMCALL(void, cellSetRawInsert__system_4933)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* desc); N_LIB_PRIVATE N_NIMCALL(void, forAllChildren__system_5299)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op); static N_INLINE(void*, cellToUsr__system_5268)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell); N_LIB_PRIVATE N_NIMCALL(void, forAllChildrenAux__system_5305)(void* dest, TNimType* mt, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op); N_LIB_PRIVATE N_NIMCALL(void, forAllSlotsAux__system_5536)(void* dest, TNimNode* n, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op); N_LIB_PRIVATE N_NIMCALL(TNimNode*, selectBranch__system_3645)(void* aa, TNimNode* n); N_LIB_PRIVATE N_NIMCALL(NU, getDiscriminant__system_3607)(void* aa, TNimNode* n); static N_INLINE(NI, starpercent___system_736)(NI x, NI y); N_LIB_PRIVATE N_NIMCALL(NI, align__system_1624)(NI address, NI alignment); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__system_5063)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell); N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetGet__system_4924)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, NU key); static N_NIMCALL(void, Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw)(void* p, NI op); static N_NIMCALL(void, TM__Q5wkpxktOdTGvlSRo9bzt9aw_4)(void); N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc); N_LIB_PRIVATE N_NOCONV(void, signalHandler)(int sign); N_LIB_PRIVATE N_NIMCALL(void, showErrorMessage__system_2536)(NCSTRING data, NI length); static N_INLINE(void, pushSafePoint)(TSafePoint* s); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toNimStr)(NCSTRING str, NI len); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewStringNoInit)(NI space); N_LIB_PRIVATE N_NIMCALL(void*, newObjNoInit)(TNimType* typ, NI size); N_LIB_PRIVATE N_NIMCALL(void*, rawNewObj__system_5648)(TNimType* typ, NI size, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); N_LIB_PRIVATE N_NIMCALL(void, collectCT__system_5295)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); static N_INLINE(NI, getOccupiedMem__system_4820)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a); N_LIB_PRIVATE N_NIMCALL(void, collectCTBody__system_5840)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5389)(void); N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5385)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack); static N_INLINE(void, prepareForInteriorPointerChecking__system_4741)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a); N_LIB_PRIVATE N_NIMCALL(NI, lowGauge__system_4099)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n); N_LIB_PRIVATE N_NIMCALL(NI, highGauge__system_4107)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n); CLANG_NO_SANITIZE_ADDRESS N_LIB_PRIVATE void markStackAndRegisters__system_5778(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5401)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position); N_LIB_PRIVATE N_NIMCALL(tyObject_GcStack__7fytPA5bBsob6See21YMRA*, getActiveStack__system_5407)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); static N_INLINE(void, gcMark__system_5769)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, void* p); N_LIB_PRIVATE N_NIMCALL(void*, interiorAllocatedPtr__system_4743)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p); static N_INLINE(NI, percentpercent___system_776)(NI x, NI y); static N_INLINE(NIM_BOOL, lteqpercent___system_985)(NI x, NI y); N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, inRange__system_4127)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root, NI key); static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, collectZCT__system_5759)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); N_LIB_PRIVATE N_NIMCALL(void, prepareDealloc__system_5431)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell); N_LIB_PRIVATE N_NIMCALL(void, collectCycles__system_5761)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); N_LIB_PRIVATE N_NIMCALL(void, cellsetReset__system_5534)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s); N_LIB_PRIVATE N_NIMCALL(void, deinit__system_4912)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s); N_LIB_PRIVATE N_NIMCALL(void, markGlobals__system_5728)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); N_LIB_PRIVATE N_NIMCALL(void, sweep__system_5716)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); static N_INLINE(NIM_BOOL, isCell__system_4409)(void* p); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4985)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell); N_LIB_PRIVATE N_NIMCALL(void, freeCyclicCell__system_5712)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NIMCALL(NI, getOccupiedMem__system_1936)(void); N_LIB_PRIVATE N_NIMCALL(void, unmarkStackAndRegisters__system_5832)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); static N_INLINE(void, addNewObjToZCT__system_5633)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch); static N_INLINE(void, popSafePoint)(void); static N_INLINE(void, popCurrentException)(void); static N_INLINE(void, asgnRef)(void** dest, void* src); N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void); static N_INLINE(void, sysFatal__system_2898)(NimStringDesc* message) __attribute__((noreturn)); static N_NIMCALL(void, Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ)(void* p, NI op); N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src); N_LIB_PRIVATE N_NOINLINE(void*, newObjRC1)(TNimType* typ, NI size); static N_INLINE(void, nimGCunrefNoCycle)(void* p); N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line); N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ); N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len); N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void); static N_INLINE(void, sysFatal__system_3375)(NimStringDesc* message) __attribute__((noreturn)); static N_NIMCALL(void, Marker_tyRef__r8GBEWywN07B3Rat3azS4Q)(void* p, NI op); static N_INLINE(NI, resize__system_5895)(NI old); N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5885)(TGenericSeq* a, NI elemAlign); N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionAux__system_2866)(Exception* e); static N_INLINE(void, pushCurrentException)(Exception* e); N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledError__system_2855)(Exception* e); N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledErrorAux__system_2752)(Exception* e); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_2723)(tySequence__uB9b75OUPRENsBAu4AnoePA* stackTraceEntries); N_NIMCALL(NimStringDesc*, rawNewString)(NI cap); static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen); N_LIB_PRIVATE N_NIMCALL(void, add__system_2308)(NimStringDesc** x, NCSTRING y); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c); N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src); N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isOnStack__system_5297)(void* p); static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x); N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mnewString)(NI len); static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___systemZassertions_23)(NimStringDesc** dest); N_LIB_PRIVATE N_NIMCALL(void, writeToStdErr__system_2531)(NCSTRING msg, NI length); static N_INLINE(void, rawWriteString)(FILE* f, NCSTRING s, NI length); N_LIB_PRIVATE N_NIMCALL(void, registerSignalHandler__system_2992)(void); N_LIB_PRIVATE N_NIMCALL(NI, getRefcount)(void* p); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x); static N_NIMCALL(void, Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5889)(TGenericSeq* a, NI elemAlign, NI elemSize, NI index); N_LIB_PRIVATE N_NIMCALL(TNimType*, extGetCellType)(void* c); static N_NIMCALL(void, Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ)(void* p, NI op); N_NIMCALL(NimStringDesc*, mnewString)(NI len); N_LIB_PRIVATE N_NIMCALL(NI, writeFloatToBufferRoundtrip__systemZformatfloat_13)(NIM_CHAR* buf, NF value); N_LIB_PRIVATE N_NIMCALL(void, addCstringN__systemZformatfloat_5)(NimStringDesc** result, NCSTRING buf, NI buflen); N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt); N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6406)(void* dest, void* src, TNimType* mt, NIM_BOOL shallow); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src); N_LIB_PRIVATE N_NIMCALL(void*, nimNewSeqOfCap)(TNimType* typ, NI cap); N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6411)(void* dest, void* src, TNimNode* n, NIM_BOOL shallow); N_LIB_PRIVATE N_NIMCALL(void, genericResetAux__system_6403)(void* dest, TNimNode* n); N_LIB_PRIVATE N_NIMCALL(void, genericReset)(void* dest, TNimType* mt); static N_INLINE(void, chckObjAsgn)(TNimType* a, TNimType* b); static N_INLINE(void, sysFatal__system_3290)(NimStringDesc* message) __attribute__((noreturn)); static N_NIMCALL(void, Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw)(void* p, NI op); static N_NIMCALL(void, Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7744)(NimStringDesc* s, NI first, NI last); static N_NIMCALL(void, Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw)(void* p, NI op); static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size); static N_NIMCALL(void, Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg)(void* p, NI op); static N_NIMCALL(void, Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ)(void* p, NI op); static N_INLINE(void, showErrorMessage2__system_2544)(NimStringDesc* data); static N_NIMCALL(void, Marker_tyRef__LEclZrWX2FQAodlapxGITw)(void* p, NI op); static N_NIMCALL(void, Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA)(void* p, NI op); static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x); N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x); N_LIB_PRIVATE N_NIMCALL(void, objectInitAux__system_6521)(void* dest, TNimNode* n); N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ); static N_NIMCALL(void, Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(NI, writeFloatToBufferRoundtrip__systemZformatfloat_44)(NIM_CHAR* buf, NF32 value); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen); N_LIB_PRIVATE N_NIMCALL(NI, getMaxMem__system_3973)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a); N_LIB_PRIVATE N_NIMCALL(NI, getTotalMem__system_1938)(void); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_6)(NI64 x); static N_INLINE(void, initStackBottomWith)(void* locals); N_LIB_PRIVATE NIM_CONST tyArray__mkmEeKAWtk2yS9bBb1lUWXA fsLookupTable__system_3818 = {((NI8) -1), ((NI8) 0), ((NI8) 1), ((NI8) 1), ((NI8) 2), ((NI8) 2), ((NI8) 2), ((NI8) 2), ((NI8) 3), ((NI8) 3), ((NI8) 3), ((NI8) 3), ((NI8) 3), ((NI8) 3), ((NI8) 3), ((NI8) 3), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 4), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 5), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 6), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7), ((NI8) 7)} ; N_LIB_PRIVATE TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_; N_LIB_PRIVATE TNimType NTIexception__XEycrCsme5C8CVWAYEcdBQ_; N_LIB_PRIVATE TNimType NTIcstring__S9agCYBinaYZnGWcjTdxclg_; N_LIB_PRIVATE TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_; N_LIB_PRIVATE TNimType NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_; N_LIB_PRIVATE TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_; N_LIB_PRIVATE TNimType NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_; N_LIB_PRIVATE TNimType NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_; N_LIB_PRIVATE TNimType NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_; N_LIB_PRIVATE TNimType NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_; N_LIB_PRIVATE TNimType NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_; N_LIB_PRIVATE TNimType NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_; N_LIB_PRIVATE TNimType NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_; N_LIB_PRIVATE TNimType NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_; STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_7, "over- or underflow", 18); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_9, "[[reraised from:\012", 17); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_10, "]]\012", 3); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_11, "(", 1); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_12, ", ", 2); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_13, ")", 1); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_14, "\012", 1); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_15, "no exception to reraise", 23); N_LIB_PRIVATE TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_; STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_16, " (invalid data!)", 16); N_LIB_PRIVATE TNimType NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_; N_LIB_PRIVATE TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_; N_LIB_PRIVATE TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_; N_LIB_PRIVATE TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_; N_LIB_PRIVATE TNimType NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_; N_LIB_PRIVATE TNimType NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_; N_LIB_PRIVATE TNimType NTIuint4954__M4na42GvebBMnI5wV9cYMxg_; N_LIB_PRIVATE TNimType NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_; N_LIB_PRIVATE TNimType NTIint5150__sVg18TP9cLifHyygRe9cro9aA_; N_LIB_PRIVATE TNimType NTIint56__chXunH2dwinSkhpA6JnsXw_; N_LIB_PRIVATE TNimType NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_; N_LIB_PRIVATE TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_; N_LIB_PRIVATE TNimType NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_; N_LIB_PRIVATE TNimType NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_; STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_21, "invalid object assignment", 25); N_LIB_PRIVATE TNimType NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_; N_LIB_PRIVATE TNimType NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_; N_LIB_PRIVATE TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_; N_LIB_PRIVATE TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_; N_LIB_PRIVATE TNimType NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_; N_LIB_PRIVATE TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_; N_LIB_PRIVATE TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_; STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_22, "No stack traceback available\012", 29); N_LIB_PRIVATE TNimType NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_; N_LIB_PRIVATE TNimType NTIrefeoferror__LEclZrWX2FQAodlapxGITw_; N_LIB_PRIVATE TNimType NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_; N_LIB_PRIVATE TNimType NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_; N_LIB_PRIVATE TNimType NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_; N_LIB_PRIVATE TNimType NTIuint56__k3HXouOuhqAKq0dx450lXQ_; N_LIB_PRIVATE NIM_CONST tyArray__yp9a149boki9cCCWgfXI0Ip4A powtens__system_6153 = {1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 10000000.0, 100000000.0, 1000000000.0, 10000000000.0, 100000000000.0, 1000000000000.0, 10000000000000.0, 100000000000000.0, 1000000000000000.0, 10000000000000000.0, 1e+17, 1e+18, 1e+19, 1e+20, 1e+21, 1e+22} ; N_LIB_PRIVATE TNimType NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_; N_LIB_PRIVATE TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_; N_LIB_PRIVATE TNimType NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_; N_LIB_PRIVATE TNimType NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_; N_LIB_PRIVATE TNimType NTIcint__nlCscttRCss70IBTyuBqnA_; N_LIB_PRIVATE TNimType NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_; N_LIB_PRIVATE TNimType NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_; N_LIB_PRIVATE TNimType NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_; STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_23, "true", 4); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_24, "false", 5); N_LIB_PRIVATE TNimType NTIint__hLlQjbV9bLNq5PFxYcqacsA_; STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_25, "[GC] total memory: ", 19); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_26, "\012[GC] occupied memory: ", 23); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_27, "\012[GC] stack scans: ", 19); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_28, "\012[GC] stack cells: ", 19); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_29, "\012[GC] cycle collections: ", 25); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_30, "\012[GC] max threshold: ", 21); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_31, "\012[GC] zct capacity: ", 20); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_32, "\012[GC] max cycle table size: ", 28); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_33, "\012[GC] max pause time [ms]: ", 27); STRING_LITERAL(TM__Q5wkpxktOdTGvlSRo9bzt9aw_34, "[GC] max stack size: ", 21); N_LIB_PRIVATE NI nim_program_result; N_LIB_PRIVATE tyProc__9axCnCRMUx32AHzFgBrzSMg globalRaiseHook__system_2291; N_LIB_PRIVATE tyProc__9axCnCRMUx32AHzFgBrzSMg localRaiseHook__system_2294; N_LIB_PRIVATE tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ outOfMemHook__system_2296; N_LIB_PRIVATE tyProc__NFmM6mqUOVW3cJg4yvk8Fw unhandledExceptionHook__system_2299; N_LIB_PRIVATE TNimType strDesc__system_2412 = {((NI) 8), 0, ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28), 2, NIM_NIL, NIM_NIL, NIM_NIL, NIM_NIL, NIM_NIL} ; N_LIB_PRIVATE tyProc__W6IXMh2CA4X1rFYGjUb4yg errorMessageWriter__system_2528; N_LIB_PRIVATE TFrame* framePtr__system_2564; N_LIB_PRIVATE TSafePoint* excHandler__system_2565; N_LIB_PRIVATE Exception* currException__system_2566; N_LIB_PRIVATE GcFrameHeader* gcFramePtr__system_2567; N_LIB_PRIVATE tyProc__W6IXMh2CA4X1rFYGjUb4yg onUnhandledException__system_2751; N_LIB_PRIVATE tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218; N_LIB_PRIVATE NI globalMarkersLen; N_LIB_PRIVATE tyArray__9aTRall1siQT9bXabu2aKXUg globalMarkers; N_LIB_PRIVATE NI threadLocalMarkersLen; N_LIB_PRIVATE tyArray__9aTRall1siQT9bXabu2aKXUg threadLocalMarkers; N_LIB_PRIVATE NI gHeapidGenerator__system_5485; N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5404)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position) { } N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom) { { if (!(gch__system_5218.stack.bottom == NIM_NIL)) goto LA3_; gch__system_5218.stack.bottom = theStackBottom; } goto LA1_; LA3_: ; { NI a; NI b; if (!!((theStackBottom == gch__system_5218.stack.bottom))) goto LA6_; a = ((NI) (ptrdiff_t) (theStackBottom)); b = ((NI) (ptrdiff_t) (gch__system_5218.stack.bottom)); gch__system_5218.stack.bottom = ((void*) (((a >= b) ? a : b))); } goto LA1_; LA6_: ; LA1_: ; setPosition__system_5404((&gch__system_5218.stack), theStackBottom); } static N_INLINE(void, initStackBottom)(void) { void* volatile locals; locals = ((void*) ((&locals))); nimGC_setStackBottom(locals); } static N_INLINE(NI, roundup__system_3696)(NI x, NI v) { NI result; result = (NI)0; result = (NI)((NI)(x + (NI)(v - ((NI) 1))) & (NI)((NU64) ~((NI)(v - ((NI) 1))))); return result; } static N_INLINE(NI, msbit__system_3819)(NU32 x) { NI result; NI a; result = (NI)0; { if (!((NU32)(x) <= (NU32)(((NU32) 65535)))) goto LA3_; { if (!((NU32)(x) <= (NU32)(((NU32) 255)))) goto LA7_; a = ((NI) 0); } goto LA5_; LA7_: ; { a = ((NI) 8); } LA5_: ; } goto LA1_; LA3_: ; { { if (!((NU32)(x) <= (NU32)(((NU32) 16777215)))) goto LA13_; a = ((NI) 16); } goto LA11_; LA13_: ; { a = ((NI) 24); } LA11_: ; } LA1_: ; result = (NI)(((NI) (fsLookupTable__system_3818[((NU32)((NU32)(x) >> (NU64)(a)))- 0])) + a); return result; } static N_INLINE(void, mappingSearch__system_3844)(NI* r, NI* fl, NI* sl) { NI t; NI T1_; NI T2_; T1_ = (NI)0; T1_ = msbit__system_3819(((NU32) ((*r)))); T2_ = (NI)0; T2_ = roundup__system_3696((NI)((NU64)(((NI) 1)) << (NU64)((NI)(T1_ - ((NI) 5)))), ((NI) 4096)); t = (NI)(T2_ - ((NI) 1)); (*r) = (NI)((*r) + t); (*r) = (NI)((*r) & (NI)((NU64) ~(t))); (*r) = (((*r) <= ((NI) 1056964608)) ? (*r) : ((NI) 1056964608)); (*fl) = msbit__system_3819(((NU32) ((*r)))); (*sl) = (NI)((NI)((NI64)((*r)) >> (NU64)((NI)((*fl) - ((NI) 5)))) - ((NI) 32)); (*fl) -= ((NI) 6); } static N_INLINE(NI, lsbit__system_3827)(NU32 x) { NI result; result = (NI)0; result = msbit__system_3819((NU32)(x & (NU32)((NU32)((NU32)((NU32) ~(x))) + (NU32)(((NU32) 1))))); return result; } static N_INLINE(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, findSuitableBlock__system_3876)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI* fl, NI* sl) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result; NU32 tmp; result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0; tmp = (NU32)((*a).slBitmap[((*fl))- 0] & (NU32)((NU64)(((NU32) IL64(4294967295))) << (NU64)((*sl)))); result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); { if (!!((tmp == ((NU32) 0)))) goto LA3_; (*sl) = lsbit__system_3827(tmp); result = (*a).matrix[((*fl))- 0][((*sl))- 0]; } goto LA1_; LA3_: ; { (*fl) = lsbit__system_3827((NU32)((*a).flBitmap & (NU32)((NU64)(((NU32) IL64(4294967295))) << (NU64)((NI)((*fl) + ((NI) 1)))))); { if (!(((NI) 0) < (*fl))) goto LA8_; (*sl) = lsbit__system_3827((*a).slBitmap[((*fl))- 0]); result = (*a).matrix[((*fl))- 0][((*sl))- 0]; } LA8_: ; } LA1_: ; return result; } static N_INLINE(NI, nimCStrLen)(NCSTRING a) { NI result; size_t T1_; result = (NI)0; T1_ = (size_t)0; T1_ = strlen(a); result = ((NI) (T1_)); return result; } static N_INLINE(void, rawWrite)(FILE* f, NCSTRING s) { int T1_; int T2_; T1_ = (int)0; T1_ = fwrite(((void*) (s)), ((size_t) 1), ((size_t) ((s ? nimCStrLen(s) : 0))), f); (void)(T1_); T2_ = (int)0; T2_ = fflush(f); (void)(T2_); } N_LIB_PRIVATE N_NOINLINE(void, raiseOutOfMem__system_3691)(void) { { if (!!((outOfMemHook__system_2296 == NIM_NIL))) goto LA3_; outOfMemHook__system_2296(); } LA3_: ; rawWrite(__stderrp, "out of memory\012"); exit(((NI) 1)); } static N_INLINE(void*, osAllocPages__system_3716)(NI size) { void* result; result = (void*)0; result = mmap(NIM_NIL, ((size_t) (size)), ((int) 3), ((int) 4098), ((int) -1), ((NI) 0)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (result == NIM_NIL); if (T3_) goto LA4_; T3_ = (result == ((void*) (((NI) -1)))); LA4_: ; if (!T3_) goto LA5_; raiseOutOfMem__system_3691(); } LA5_: ; return result; } static N_INLINE(void*, osTryAllocPages__system_3719)(NI size) { void* result; result = (void*)0; result = mmap(NIM_NIL, ((size_t) (size)), ((int) 3), ((int) 4098), ((int) -1), ((NI) 0)); { if (!(result == ((void*) (((NI) -1))))) goto LA3_; result = NIM_NIL; } LA3_: ; return result; } static N_INLINE(void, incCurrMem__system_3959)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes) { (*a).currMem += bytes; } static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__systemZmemory_7(p, ((int) 0), size); } static N_INLINE(void, zeroMem__system_1724)(void* p, NI size) { nimZeroMem(p, size); } N_LIB_PRIVATE N_NIMCALL(void*, llAlloc__system_3976)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) { void* result; result = (void*)0; { NIM_BOOL T3_; tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* old; void* T7_; T3_ = (NIM_BOOL)0; T3_ = ((*a).llmem == ((tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw*) NIM_NIL)); if (T3_) goto LA4_; T3_ = ((*(*a).llmem).size < size); LA4_: ; if (!T3_) goto LA5_; old = (*a).llmem; T7_ = (void*)0; T7_ = osAllocPages__system_3716(((NI) 4096)); (*a).llmem = ((tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw*) (T7_)); incCurrMem__system_3959(a, ((NI) 4096)); (*(*a).llmem).size = ((NI) 4072); (*(*a).llmem).acc = ((NI) 24); (*(*a).llmem).next = old; } LA5_: ; result = ((void*) ((NI)(((NI) (ptrdiff_t) ((*a).llmem)) + (*(*a).llmem).acc))); (*(*a).llmem).size -= size; (*(*a).llmem).acc += size; zeroMem__system_1724(result, ((NI) (size))); return result; } N_LIB_PRIVATE N_NIMCALL(void, addHeapLink__system_4043)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* p, NI size) { tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* it; it = (&(*a).heapLinks); { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !((it == ((tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = (((NI) 30) <= (*it).len); LA4_: ; if (!T3_) goto LA2; it = (*it).next; } LA2: ; } { tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* n; void* T9_; tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* colontmp_; NI colontmp__2; if (!(it == ((tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg*) NIM_NIL))) goto LA7_; T9_ = (void*)0; T9_ = llAlloc__system_3976(a, ((NI) 496)); n = ((tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg*) (T9_)); (*n).next = (*a).heapLinks.next; (*a).heapLinks.next = n; colontmp_ = p; colontmp__2 = size; (*n).chunks[(((NI) 0))- 0].Field0 = colontmp_; (*n).chunks[(((NI) 0))- 0].Field1 = colontmp__2; (*n).len = ((NI) 1); } goto LA5_; LA7_: ; { NI L; tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* colontmp__3; NI colontmp__4; L = (*it).len; colontmp__3 = p; colontmp__4 = size; (*it).chunks[(L)- 0].Field0 = colontmp__3; (*it).chunks[(L)- 0].Field1 = colontmp__4; (*it).len += ((NI) 1); } LA5_: ; } static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y)))))); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetGet__system_4186)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key) { tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* result; tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* it; { result = (tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*)0; it = (*t).data[((NI)(key & ((NI) 255)))- 0]; { while (1) { if (!!((it == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA2; { if (!((*it).key == key)) goto LA5_; result = it; goto BeforeRet_; } LA5_: ; it = (*it).next; } LA2: ; } result = ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4225)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key) { NIM_BOOL result; tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* t; result = (NIM_BOOL)0; t = intSetGet__system_4186(s, (NI)((NI64)(key) >> (NU64)(((NI) 9)))); { NI u; if (!!((t == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA3_; u = (NI)(key & ((NI) 511)); result = !(((NU)((*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] & (NU)((NU64)(((NU) 1)) << (NU64)((NI)(u & ((NI) 63))))) == ((NU) 0))); } goto LA1_; LA3_: ; { result = NIM_FALSE; } LA1_: ; return result; } static N_INLINE(NI, pageIndex__system_4421)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c) { NI result; result = (NI)0; result = (NI)((NI64)(((NI) (ptrdiff_t) (c))) >> (NU64)(((NI) 12))); return result; } static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y)))))); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, requestOsChunks__system_4439)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result; NI size_2; NI nxt; tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* next; NI lastSize; NI prv; tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* prev; result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0; { NI usedMem; if (!!((*a).blockChunkSizeIncrease)) goto LA3_; usedMem = (*a).occ; { if (!(usedMem < ((NI) 65536))) goto LA7_; (*a).nextChunkSize = ((NI) 16384); } goto LA5_; LA7_: ; { NI T10_; T10_ = (NI)0; T10_ = roundup__system_3696((NI)((NI64)(usedMem) >> (NU64)(((NI) 2))), ((NI) 4096)); (*a).nextChunkSize = ((T10_ <= (NI)((*a).nextChunkSize * ((NI) 2))) ? T10_ : (NI)((*a).nextChunkSize * ((NI) 2))); (*a).nextChunkSize = (((*a).nextChunkSize <= ((NI) 1056964608)) ? (*a).nextChunkSize : ((NI) 1056964608)); } LA5_: ; } LA3_: ; size_2 = size; { void* T15_; if (!((*a).nextChunkSize < size_2)) goto LA13_; T15_ = (void*)0; T15_ = osAllocPages__system_3716(size_2); result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T15_)); } goto LA11_; LA13_: ; { void* T17_; T17_ = (void*)0; T17_ = osTryAllocPages__system_3719((*a).nextChunkSize); result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T17_)); { void* T22_; if (!(result == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL))) goto LA20_; T22_ = (void*)0; T22_ = osAllocPages__system_3716(size_2); result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T22_)); (*a).blockChunkSizeIncrease = NIM_TRUE; } goto LA18_; LA20_: ; { size_2 = (*a).nextChunkSize; } LA18_: ; } LA11_: ; incCurrMem__system_3959(a, size_2); (*a).freeMem += size_2; addHeapLink__system_4043(a, result, size_2); (*result).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*result).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*result).Sup.size = size_2; nxt = pluspercent___system_696(((NI) (ptrdiff_t) (result)), size_2); next = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (nxt)); { NI T26_; NIM_BOOL T27_; T26_ = (NI)0; T26_ = pageIndex__system_4421(next); T27_ = (NIM_BOOL)0; T27_ = contains__system_4225((&(*a).chunkStarts), T26_); if (!T27_) goto LA28_; (*next).prevSize = (NI)(size_2 | (NI)((*next).prevSize & ((NI) 1))); } LA28_: ; { if (!!(((*a).lastSize == ((NI) 0)))) goto LA32_; lastSize = (*a).lastSize; } goto LA30_; LA32_: ; { lastSize = ((NI) 4096); } LA30_: ; prv = minuspercent___system_716(((NI) (ptrdiff_t) (result)), lastSize); prev = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (prv)); { NIM_BOOL T37_; NI T38_; T37_ = (NIM_BOOL)0; T38_ = (NI)0; T38_ = pageIndex__system_4421(prev); T37_ = contains__system_4225((&(*a).chunkStarts), T38_); if (!(T37_)) goto LA39_; T37_ = ((*prev).size == lastSize); LA39_: ; if (!T37_) goto LA40_; (*result).Sup.prevSize = (NI)(lastSize | (NI)((*result).Sup.prevSize & ((NI) 1))); } goto LA35_; LA40_: ; { (*result).Sup.prevSize = (NI)(((NI) 0) | (NI)((*result).Sup.prevSize & ((NI) 1))); } LA35_: ; (*a).lastSize = size_2; return result; } static N_INLINE(NI, pageIndex__system_4428)(void* p) { NI result; result = (NI)0; result = (NI)((NI64)(((NI) (ptrdiff_t) (p))) >> (NU64)(((NI) 12))); return result; } static N_INLINE(NIM_BOOL, isAccessible__system_4462)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p) { NIM_BOOL result; NI T1_; result = (NIM_BOOL)0; T1_ = (NI)0; T1_ = pageIndex__system_4428(p); result = contains__system_4225((&(*a).chunkStarts), T1_); return result; } static N_INLINE(void, updatePrevSize__system_4480)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI prevSize) { tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* ri; NI T1_; T1_ = (NI)0; T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (c)), (*c).Sup.size); ri = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (T1_)); { NIM_BOOL T4_; T4_ = (NIM_BOOL)0; T4_ = isAccessible__system_4462((&(*a)), ((void*) (ri))); if (!T4_) goto LA5_; (*ri).prevSize = (NI)(prevSize | (NI)((*ri).prevSize & ((NI) 1))); } LA5_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*, intSetPut__system_4208)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* t, NI key) { tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* result; result = (tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*)0; result = intSetGet__system_4186((&(*t)), key); { void* T5_; if (!(result == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL))) goto LA3_; T5_ = (void*)0; T5_ = llAlloc__system_3976(a, ((NI) 80)); result = ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) (T5_)); (*result).next = (*t).data[((NI)(key & ((NI) 255)))- 0]; (*t).data[((NI)(key & ((NI) 255)))- 0] = result; (*result).key = key; } LA3_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, incl__system_4256)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key) { tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* t; NI u; t = intSetPut__system_4208(a, s, (NI)((NI64)(key) >> (NU64)(((NI) 9)))); u = (NI)(key & ((NI) 511)); (*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] = (NU)((*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] | (NU)((NU64)(((NU) 1)) << (NU64)((NI)(u & ((NI) 63))))); } N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, splitChunk2__system_4485)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result; NI T1_; NI T2_; result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0; T1_ = (NI)0; T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (c)), size); result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T1_)); (*result).Sup.size = (NI)((*c).Sup.size - size); (*result).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*result).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*result).Sup.prevSize = size; updatePrevSize__system_4480(a, c, (*result).Sup.size); (*c).Sup.size = size; T2_ = (NI)0; T2_ = pageIndex__system_4421((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(result))))); incl__system_4256(a, (&(*a).chunkStarts), T2_); return result; } static N_INLINE(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, mappingInsert__system_3862)(NI r) { tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ result; nimZeroMem((void*)(&result), sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ)); result.Field0 = msbit__system_3819(((NU32) (r))); result.Field1 = (NI)((NI)((NI64)(r) >> (NU64)((NI)(result.Field0 - ((NI) 5)))) - ((NI) 32)); result.Field0 -= ((NI) 6); return result; } static N_INLINE(void, setBit__system_3830)(NI nr, NU32* dest) { (*dest) = (NU32)((*dest) | (NU32)((NU64)(((NU32) 1)) << (NU64)((NI)(nr & ((NI) 31))))); } N_LIB_PRIVATE N_NIMCALL(void, addChunkToMatrix__system_3950)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b) { tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T1_; NI fl; NI sl; T1_ = mappingInsert__system_3862((*b).Sup.size); fl = T1_.Field0; sl = T1_.Field1; (*b).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*b).next = (*a).matrix[(fl)- 0][(sl)- 0]; { if (!!(((*a).matrix[(fl)- 0][(sl)- 0] == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA4_; (*(*a).matrix[(fl)- 0][(sl)- 0]).prev = b; } LA4_: ; (*a).matrix[(fl)- 0][(sl)- 0] = b; setBit__system_3830(sl, (&(*a).slBitmap[(fl)- 0])); setBit__system_3830(fl, (&(*a).flBitmap)); } N_LIB_PRIVATE N_NIMCALL(void, splitChunk__system_4490)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c, NI size) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* rest; rest = splitChunk2__system_4485(a, c, size); addChunkToMatrix__system_3950(a, rest); } static N_INLINE(void, clearBit__system_3837)(NI nr, NU32* dest) { (*dest) = (NU32)((*dest) & (NU32)((NU32) ~((NU32)((NU64)(((NU32) 1)) << (NU64)((NI)(nr & ((NI) 31))))))); } N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix2__system_3941)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b, NI fl, NI sl) { (*a).matrix[(fl)- 0][(sl)- 0] = (*b).next; { if (!!(((*a).matrix[(fl)- 0][(sl)- 0] == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA3_; (*(*a).matrix[(fl)- 0][(sl)- 0]).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); } goto LA1_; LA3_: ; { clearBit__system_3837(sl, (&(*a).slBitmap[(fl)- 0])); { if (!((*a).slBitmap[(fl)- 0] == ((NU32) 0))) goto LA8_; clearBit__system_3837(fl, (&(*a).flBitmap)); } LA8_: ; } LA1_: ; (*b).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*b).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); } N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getBigChunk__system_4516)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result; NI size_2; NI fl; NI sl; NI T19_; result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0; size_2 = size; fl = ((NI) 0); sl = ((NI) 0); mappingSearch__system_3844((&size_2), (&fl), (&sl)); result = findSuitableBlock__system_3876((&(*a)), (&fl), (&sl)); { if (!(result == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL))) goto LA3_; { if (!(size_2 < ((NI) 524288))) goto LA7_; result = requestOsChunks__system_4439(a, ((NI) 524288)); splitChunk__system_4490(a, result, size_2); } goto LA5_; LA7_: ; { result = requestOsChunks__system_4439(a, size_2); { if (!(size_2 < (*result).Sup.size)) goto LA12_; splitChunk__system_4490(a, result, size_2); } LA12_: ; } LA5_: ; } goto LA1_; LA3_: ; { removeChunkFromMatrix2__system_3941(a, result, fl, sl); { if (!((NI)(size_2 + ((NI) 4096)) <= (*result).Sup.size)) goto LA17_; splitChunk__system_4490(a, result, size_2); } LA17_: ; } LA1_: ; (*result).Sup.prevSize = ((NI) 1); T19_ = (NI)0; T19_ = pageIndex__system_4421((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(result))))); incl__system_4256(a, (&(*a).chunkStarts), T19_); (*a).freeMem -= size_2; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*, getSmallChunk__system_4539)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) { tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* result; tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* res; result = (tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*)0; res = getBigChunk__system_4516(a, ((NI) 4096)); result = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (res)); return result; } static N_INLINE(void, listAdd__system_4577)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c) { (*c).next = (*head); { if (!!(((*head) == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL)))) goto LA3_; (*(*head)).prev = c; } LA3_: ; (*head) = c; } static N_INLINE(void, listRemove__system_4630)(tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ** head, tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c) { { if (!(c == (*head))) goto LA3_; (*head) = (*c).next; { if (!!(((*head) == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL)))) goto LA7_; (*(*head)).prev = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL); } LA7_: ; } goto LA1_; LA3_: ; { (*(*c).prev).next = (*c).next; { if (!!(((*c).next == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL)))) goto LA12_; (*(*c).next).prev = (*c).prev; } LA12_: ; } LA1_: ; (*c).next = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL); (*c).prev = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL); } N_LIB_PRIVATE N_NIMCALL(tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*, getHugeChunk__system_4531)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI size) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* result; void* T1_; NI T2_; result = (tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*)0; T1_ = (void*)0; T1_ = osAllocPages__system_3716(size); result = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T1_)); incCurrMem__system_3959(a, size); (*result).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*result).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*result).Sup.size = size; (*result).Sup.prevSize = ((NI) 1); T2_ = (NI)0; T2_ = pageIndex__system_4421((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(result))))); incl__system_4256(a, (&(*a).chunkStarts), T2_); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, getBottom__system_4002)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) { tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* result; result = (tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*)0; result = (&(*a).bottomData); { if (!((*result).link[(((NI) 0))- 0] == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL))) goto LA3_; (*result).link[(((NI) 0))- 0] = result; (*result).link[(((NI) 1))- 0] = result; } LA3_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, allocAvlNode__system_4018)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI key, NI upperBound) { tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* result; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* bottom; result = (tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*)0; { if (!!(((*a).freeAvlNodes == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL)))) goto LA3_; result = (*a).freeAvlNodes; (*a).freeAvlNodes = (*(*a).freeAvlNodes).link[(((NI) 0))- 0]; } goto LA1_; LA3_: ; { void* T6_; T6_ = (void*)0; T6_ = llAlloc__system_3976(a, ((NI) 40)); result = ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) (T6_)); } LA1_: ; (*result).key = key; (*result).upperBound = upperBound; bottom = getBottom__system_4002(a); (*result).link[(((NI) 0))- 0] = bottom; (*result).link[(((NI) 1))- 0] = bottom; (*result).level = ((NI) 1); return result; } static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) { NIM_BOOL result; result = (NIM_BOOL)0; result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y)))); return result; } N_LIB_PRIVATE N_NIMCALL(void, skew__system_4139)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t) { { tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* temp; if (!((*(*(*t)).link[(((NI) 0))- 0]).level == (*(*t)).level)) goto LA3_; temp = (*t); (*t) = (*(*t)).link[(((NI) 0))- 0]; (*temp).link[(((NI) 0))- 0] = (*(*t)).link[(((NI) 1))- 0]; (*(*t)).link[(((NI) 1))- 0] = temp; } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, split__system_4142)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t) { { tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* temp; if (!((*(*(*(*t)).link[(((NI) 1))- 0]).link[(((NI) 1))- 0]).level == (*(*t)).level)) goto LA3_; temp = (*t); (*t) = (*(*t)).link[(((NI) 1))- 0]; (*temp).link[(((NI) 1))- 0] = (*(*t)).link[(((NI) 0))- 0]; (*(*t)).link[(((NI) 0))- 0] = temp; (*(*t)).level += ((NI) 1); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, add__system_4149)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI key, NI upperBound) { { if (!((*(*t)).link[(((NI) 0))- 0] == (*t))) goto LA3_; (*t) = allocAvlNode__system_4018(a, key, upperBound); } goto LA1_; LA3_: ; { { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = ltpercent___system_1005(key, (*(*t)).key); if (!T8_) goto LA9_; add__system_4149(a, &(*(*t)).link[(((NI) 0))- 0], key, upperBound); } goto LA6_; LA9_: ; { NIM_BOOL T12_; T12_ = (NIM_BOOL)0; T12_ = ltpercent___system_1005((*(*t)).key, key); if (!T12_) goto LA13_; add__system_4149(a, &(*(*t)).link[(((NI) 1))- 0], key, upperBound); } goto LA6_; LA13_: ; { } LA6_: ; skew__system_4139(t); split__system_4142(t); } LA1_: ; } N_LIB_PRIVATE N_NIMCALL(void*, rawAlloc__system_4560)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI requestedSize) { void* result; NI size; result = (void*)0; size = roundup__system_3696(requestedSize, ((NI) 16)); { NI s; tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c; if (!(size <= ((NI) 4032))) goto LA3_; s = (NI)(size / ((NI) 16)); c = (*a).freeSmallChunks[(s)- 0]; { if (!(c == ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL))) goto LA7_; c = getSmallChunk__system_4539(a); (*c).freeList = ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) NIM_NIL); (*c).Sup.size = size; (*c).acc = size; (*c).free = (NI)(((NI) 4032) - size); (*c).next = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL); (*c).prev = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) NIM_NIL); listAdd__system_4577(&(*a).freeSmallChunks[(s)- 0], c); result = ((void*) ((*c).data)); } goto LA5_; LA7_: ; { { NI T14_; if (!((*c).freeList == ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) NIM_NIL))) goto LA12_; T14_ = (NI)0; T14_ = pluspercent___system_696(((NI) (ptrdiff_t) ((*c).data)), (*c).acc); result = ((void*) (T14_)); (*c).acc += size; } goto LA10_; LA12_: ; { result = ((void*) ((*c).freeList)); (*c).freeList = (*(*c).freeList).next; } LA10_: ; (*c).free -= size; } LA5_: ; { if (!((*c).free < size)) goto LA18_; listRemove__system_4630(&(*a).freeSmallChunks[(s)- 0], c); } LA18_: ; (*a).occ += size; } goto LA1_; LA3_: ; { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_2; NI T30_; size = (NI)(requestedSize + ((NI) 32)); { if (!(((NI) 1056964609) <= size)) goto LA23_; c_2 = getHugeChunk__system_4531(a, size); } goto LA21_; LA23_: ; { c_2 = getBigChunk__system_4516(a, size); } LA21_: ; result = ((void*) ((*c_2).data)); { if (!((*a).root == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL))) goto LA28_; (*a).root = getBottom__system_4002(a); } LA28_: ; T30_ = (NI)0; T30_ = pluspercent___system_696(((NI) (ptrdiff_t) (result)), size); add__system_4149(a, &(*a).root, ((NI) (ptrdiff_t) (result)), T30_); (*a).occ += (*c_2).Sup.size; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void*, alloc__system_4776)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size) { void* result; NI T1_; result = (void*)0; result = rawAlloc__system_4560(allocator, (NI)(((NI) (size)) + ((NI) 16))); (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (result))).zeroField = ((NI) 1); T1_ = (NI)0; T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (result)), ((NI) 16)); result = ((void*) (T1_)); return result; } N_LIB_PRIVATE N_NIMCALL(void*, alloc0__system_4780)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, NI size) { void* result; result = (void*)0; result = alloc__system_4776(allocator, size); zeroMem__system_1724(result, size); return result; } N_LIB_PRIVATE N_NOCONV(void*, alloc0Impl__system_1745)(NI size) { void* result; result = (void*)0; result = alloc0__system_4780((&gch__system_5218.region), size); return result; } N_LIB_PRIVATE N_NIMCALL(void, init__system_4886)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, NI cap) { void* T1_; (*s).len = ((NI) 0); (*s).cap = cap; T1_ = (void*)0; T1_ = alloc0Impl__system_1745(((NI) ((NI)(cap * ((NI) 8))))); (*s).d = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g**) (T1_)); } N_LIB_PRIVATE N_NIMCALL(void, init__system_4892)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s) { void* T1_; T1_ = (void*)0; T1_ = alloc0Impl__system_1745(((NI) 8192)); (*s).data = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg**) (T1_)); (*s).max = ((NI) 1023); (*s).counter = ((NI) 0); (*s).head = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL); } static N_INLINE(NI, atomicInc__system_2172)(NI* memLoc, NI x) { NI result; result = (NI)0; (*memLoc) += x; result = (*memLoc); return result; } N_LIB_PRIVATE N_NIMCALL(void, initGC__system_2398)(void) { NI T1_; gch__system_5218.cycleThreshold = ((NI) 4194304); gch__system_5218.zctThreshold = ((NI) 500); gch__system_5218.stat.stackScans = ((NI) 0); gch__system_5218.stat.cycleCollections = ((NI) 0); gch__system_5218.stat.maxThreshold = ((NI) 0); gch__system_5218.stat.maxStackSize = ((NI) 0); gch__system_5218.stat.maxStackCells = ((NI) 0); gch__system_5218.stat.cycleTableSize = ((NI) 0); init__system_4886((&gch__system_5218.zct), ((NI) 1024)); init__system_4886((&gch__system_5218.tempStack), ((NI) 1024)); init__system_4886((&gch__system_5218.decStack), ((NI) 1024)); init__system_4892((&gch__system_5218.marked)); init__system_4886((&gch__system_5218.additionalRoots), ((NI) 1024)); T1_ = (NI)0; T1_ = atomicInc__system_2172((&gHeapidGenerator__system_5485), ((NI) 1)); gch__system_5218.gcThreadId = (NI)(T1_ - ((NI) 1)); } static N_NIMCALL(void, Marker_tySequence__uB9b75OUPRENsBAu4AnoePA)(void* p, NI op) { tySequence__uB9b75OUPRENsBAu4AnoePA* a; NI T1_; a = (tySequence__uB9b75OUPRENsBAu4AnoePA*)p; T1_ = (NI)0; } static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result; NI T1_; result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = (NI)0; T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16)); result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_)); return result; } N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1743)(NI size) { void* result; result = (void*)0; result = alloc__system_4776((&gch__system_5218.region), size); return result; } static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_; T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size))); } static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*, pageAddr__system_4435)(void* p) { tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* result; result = (tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*)0; result = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) ((NI)(((NI) (ptrdiff_t) (p)) & ((NI) -4096)))); return result; } static N_INLINE(NIM_BOOL, isSmallChunk__system_4346)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c) { NIM_BOOL result; result = (NIM_BOOL)0; result = ((*c).size <= ((NI) 4032)); return result; } static N_INLINE(NIM_BOOL, chunkUnused__system_4352)(tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c) { NIM_BOOL result; result = (NIM_BOOL)0; result = ((NI)((*c).prevSize & ((NI) 1)) == ((NI) 0)); return result; } N_LIB_PRIVATE N_NIMCALL(void, removeChunkFromMatrix__system_3911)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* b) { tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T1_; NI fl; NI sl; T1_ = mappingInsert__system_3862((*b).Sup.size); fl = T1_.Field0; sl = T1_.Field1; { if (!!(((*b).next == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA4_; (*(*b).next).prev = (*b).prev; } LA4_: ; { if (!!(((*b).prev == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL)))) goto LA8_; (*(*b).prev).next = (*b).next; } LA8_: ; { if (!((*a).matrix[(fl)- 0][(sl)- 0] == b)) goto LA12_; (*a).matrix[(fl)- 0][(sl)- 0] = (*b).next; { if (!((*a).matrix[(fl)- 0][(sl)- 0] == ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL))) goto LA16_; clearBit__system_3837(sl, (&(*a).slBitmap[(fl)- 0])); { if (!((*a).slBitmap[(fl)- 0] == ((NU32) 0))) goto LA20_; clearBit__system_3837(fl, (&(*a).flBitmap)); } LA20_: ; } LA16_: ; } LA12_: ; (*b).prev = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); (*b).next = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) NIM_NIL); } N_LIB_PRIVATE N_NIMCALL(void, excl__system_4278)(tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA* s, NI key) { tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* t; t = intSetGet__system_4186((&(*s)), (NI)((NI64)(key) >> (NU64)(((NI) 9)))); { NI u; if (!!((t == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA3_; u = (NI)(key & ((NI) 511)); (*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] = (NU)((*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] & (NU)((NU64) ~((NU)((NU64)(((NU) 1)) << (NU64)((NI)(u & ((NI) 63))))))); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, freeBigChunk__system_4495)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c) { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_2; NI prevSize; tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* ri; NI T24_; c_2 = c; (*a).freeMem += (*c_2).Sup.size; (*c_2).Sup.prevSize = (NI)((*c_2).Sup.prevSize & ((NI) -2)); prevSize = (*c_2).Sup.prevSize; { tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* le; NI T5_; if (!!((prevSize == ((NI) 0)))) goto LA3_; T5_ = (NI)0; T5_ = minuspercent___system_716(((NI) (ptrdiff_t) (c_2)), prevSize); le = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (T5_)); { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = isAccessible__system_4462((&(*a)), ((void*) (le))); if (!(T8_)) goto LA9_; T8_ = chunkUnused__system_4352(le); LA9_: ; if (!T8_) goto LA10_; { NIM_BOOL T14_; NIM_BOOL T15_; NI T19_; T14_ = (NIM_BOOL)0; T15_ = (NIM_BOOL)0; T15_ = isSmallChunk__system_4346(le); T14_ = !(T15_); if (!(T14_)) goto LA16_; T14_ = ((*le).size < ((NI) 1056964608)); LA16_: ; if (!T14_) goto LA17_; removeChunkFromMatrix__system_3911(a, ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (le))); (*le).size += (*c_2).Sup.size; T19_ = (NI)0; T19_ = pageIndex__system_4421((*((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w**) (&(c_2))))); excl__system_4278((&(*a).chunkStarts), T19_); c_2 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (le)); { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* rest; if (!(((NI) 1056964608) < (*c_2).Sup.size)) goto LA22_; rest = splitChunk2__system_4485(a, c_2, ((NI) 1056964608)); addChunkToMatrix__system_3950(a, c_2); c_2 = rest; } LA22_: ; } LA17_: ; } LA10_: ; } LA3_: ; T24_ = (NI)0; T24_ = pluspercent___system_696(((NI) (ptrdiff_t) (c_2)), (*c_2).Sup.size); ri = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) (T24_)); { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = isAccessible__system_4462((&(*a)), ((void*) (ri))); if (!(T27_)) goto LA28_; T27_ = chunkUnused__system_4352(ri); LA28_: ; if (!T27_) goto LA29_; { NIM_BOOL T33_; NIM_BOOL T34_; NI T38_; T33_ = (NIM_BOOL)0; T34_ = (NIM_BOOL)0; T34_ = isSmallChunk__system_4346(ri); T33_ = !(T34_); if (!(T33_)) goto LA35_; T33_ = ((*c_2).Sup.size < ((NI) 1056964608)); LA35_: ; if (!T33_) goto LA36_; removeChunkFromMatrix__system_3911(a, ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (ri))); (*c_2).Sup.size += (*ri).size; T38_ = (NI)0; T38_ = pageIndex__system_4421(ri); excl__system_4278((&(*a).chunkStarts), T38_); { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* rest_2; if (!(((NI) 1056964608) < (*c_2).Sup.size)) goto LA41_; rest_2 = splitChunk2__system_4485(a, c_2, ((NI) 1056964608)); addChunkToMatrix__system_3950(a, rest_2); } LA41_: ; } LA36_: ; } LA29_: ; addChunkToMatrix__system_3950(a, c_2); } static N_INLINE(void, deallocAvlNode__system_4040)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n) { (*n).link[(((NI) 0))- 0] = (*a).freeAvlNodes; (*a).freeAvlNodes = n; } N_LIB_PRIVATE N_NIMCALL(void, del__system_4158)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw** t, NI x) { { { if (!((*(*t)).link[(((NI) 0))- 0] == (*t))) goto LA3_; goto BeforeRet_; } LA3_: ; (*a).last = (*t); { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = ltpercent___system_1005(x, (*(*t)).key); if (!T7_) goto LA8_; del__system_4158(a, &(*(*t)).link[(((NI) 0))- 0], x); } goto LA5_; LA8_: ; { (*a).deleted = (*t); del__system_4158(a, &(*(*t)).link[(((NI) 1))- 0], x); } LA5_: ; { NIM_BOOL T13_; NIM_BOOL T14_; T13_ = (NIM_BOOL)0; T14_ = (NIM_BOOL)0; T14_ = ((*t) == (*a).last); if (!(T14_)) goto LA15_; T14_ = !(((*(*a).deleted).link[(((NI) 0))- 0] == (*a).deleted)); LA15_: ; T13_ = T14_; if (!(T13_)) goto LA16_; T13_ = (x == (*(*a).deleted).key); LA16_: ; if (!T13_) goto LA17_; (*(*a).deleted).key = (*(*t)).key; (*(*a).deleted).upperBound = (*(*t)).upperBound; (*a).deleted = getBottom__system_4002(a); (*t) = (*(*t)).link[(((NI) 1))- 0]; deallocAvlNode__system_4040(a, (*a).last); } goto LA11_; LA17_: ; { NIM_BOOL T20_; T20_ = (NIM_BOOL)0; T20_ = ((*(*(*t)).link[(((NI) 0))- 0]).level < (NI)((*(*t)).level - ((NI) 1))); if (T20_) goto LA21_; T20_ = ((*(*(*t)).link[(((NI) 1))- 0]).level < (NI)((*(*t)).level - ((NI) 1))); LA21_: ; if (!T20_) goto LA22_; (*(*t)).level -= ((NI) 1); { if (!((*(*t)).level < (*(*(*t)).link[(((NI) 1))- 0]).level)) goto LA26_; (*(*(*t)).link[(((NI) 1))- 0]).level = (*(*t)).level; } LA26_: ; skew__system_4139(t); skew__system_4139(&(*(*t)).link[(((NI) 1))- 0]); skew__system_4139(&(*(*(*t)).link[(((NI) 1))- 0]).link[(((NI) 1))- 0]); split__system_4142(t); split__system_4142(&(*(*t)).link[(((NI) 1))- 0]); } goto LA11_; LA22_: ; LA11_: ; }BeforeRet_: ; } static N_INLINE(void, decCurrMem__system_3966)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, NI bytes) { (*a).maxMem = (((*a).maxMem >= (*a).currMem) ? (*a).maxMem : (*a).currMem); (*a).currMem -= bytes; } static N_INLINE(void, osDeallocPages__system_3722)(void* p, NI size) { int T1_; T1_ = (int)0; T1_ = munmap(p, ((size_t) (size))); (void)(T1_); } N_LIB_PRIVATE N_NIMCALL(void, freeHugeChunk__system_4535)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c) { NI size; NI T1_; size = (*c).Sup.size; T1_ = (NI)0; T1_ = pageIndex__system_4421(&c->Sup); excl__system_4278((&(*a).chunkStarts), T1_); decCurrMem__system_3966(a, size); osDeallocPages__system_3722(((void*) (c)), size); } N_LIB_PRIVATE N_NIMCALL(void, rawDealloc__system_4689)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p) { tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c; c = pageAddr__system_4435(p); { NIM_BOOL T3_; tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c_2; NI s; tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* f; T3_ = (NIM_BOOL)0; T3_ = isSmallChunk__system_4346(c); if (!T3_) goto LA4_; c_2 = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (c)); s = (*c_2).Sup.size; (*a).occ -= s; f = ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (p)); (*f).zeroField = ((NI) 0); (*f).next = (*c_2).freeList; (*c_2).freeList = f; { if (!((*c_2).free < s)) goto LA8_; listAdd__system_4577(&(*a).freeSmallChunks[((NI)(s / ((NI) 16)))- 0], c_2); (*c_2).free += s; } goto LA6_; LA8_: ; { (*c_2).free += s; { if (!((*c_2).free == ((NI) 4032))) goto LA13_; listRemove__system_4630(&(*a).freeSmallChunks[((NI)(s / ((NI) 16)))- 0], c_2); (*c_2).Sup.size = ((NI) 4096); freeBigChunk__system_4495(a, ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c_2))); } LA13_: ; } LA6_: ; } goto LA1_; LA4_: ; { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_3; c_3 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c)); (*a).occ -= (*c_3).Sup.size; (*a).deleted = getBottom__system_4002(a); del__system_4158(a, &(*a).root, ((NI) (ptrdiff_t) ((*c_3).data))); { if (!(((NI) 1056964609) <= (*c_3).Sup.size)) goto LA18_; freeHugeChunk__system_4535(a, c_3); } goto LA16_; LA18_: ; { freeBigChunk__system_4495(a, c_3); } LA16_: ; } LA1_: ; } N_LIB_PRIVATE N_NIMCALL(void, dealloc__system_4784)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* allocator, void* p) { void* x; NI T1_; T1_ = (NI)0; T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (p)), ((NI) 16)); x = ((void*) (T1_)); rawDealloc__system_4689(allocator, x); } N_LIB_PRIVATE N_NOCONV(void, deallocImpl__system_1747)(void* p) { dealloc__system_4784((&gch__system_5218.region), p); } N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p) { deallocImpl__system_1747(p); } static N_INLINE(void, add__system_4860)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; void* T5_; if (!((*s).cap <= (*s).len)) goto LA3_; (*s).cap = (NI)((NI)((*s).cap * ((NI) 3)) / ((NI) 2)); T5_ = (void*)0; T5_ = allocImpl__system_1743(((NI) ((NI)((*s).cap * ((NI) 8))))); d = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g**) (T5_)); copyMem__system_1727(((void*) (d)), ((void*) ((*s).d)), ((NI) ((NI)((*s).len * ((NI) 8))))); dealloc(((void*) ((*s).d))); (*s).d = d; } LA3_: ; (*s).d[(*s).len] = c; (*s).len += ((NI) 1); } N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { { if (!((NI)((*c).refcount & ((NI) 4)) == ((NI) 0))) goto LA3_; (*c).refcount = (NI)((*c).refcount | ((NI) 4)); add__system_4860(s, c); } LA3_: ; } static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { addZCT__system_5265((&gch__system_5218.zct), c); } static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8)); if (!T3_) goto LA4_; rtlAddZCT__system_5314(c); } LA4_: ; } static N_INLINE(NI, nextTry__system_4920)(NI h, NI maxHash) { NI result; result = (NI)0; result = (NI)((NI)((NI)(((NI) 5) * h) + ((NI) 1)) & maxHash); return result; } N_LIB_PRIVATE N_NIMCALL(void, cellSetRawInsert__system_4933)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data, tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* desc) { NI h; h = (NI)(((NI) ((*desc).key)) & (*t).max); { while (1) { if (!!((data[h] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA2; h = nextTry__system_4920(h, (*t).max); } LA2: ; } data[h] = desc; } N_LIB_PRIVATE N_NIMCALL(void, cellSetEnlarge__system_4950)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t) { NI oldMax; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** n; void* T1_; oldMax = (*t).max; (*t).max = (NI)((NI)((NI)((*t).max + ((NI) 1)) * ((NI) 2)) - ((NI) 1)); T1_ = (void*)0; T1_ = alloc0Impl__system_1745(((NI) ((NI)((NI)((*t).max + ((NI) 1)) * ((NI) 8))))); n = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg**) (T1_)); { NI i; NI res; i = (NI)0; res = ((NI) 0); { while (1) { if (!(res <= oldMax)) goto LA4; i = res; { if (!!(((*t).data[i] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA7_; cellSetRawInsert__system_4933((&(*t)), n, (*t).data[i]); } LA7_: ; res += ((NI) 1); } LA4: ; } } dealloc(((void*) ((*t).data))); (*t).data = n; } N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetPut__system_4963)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, NU key) { tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* result; NI h; void* T19_; { result = (tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*)0; h = (NI)(((NI) (key)) & (*t).max); { while (1) { tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* x; x = (*t).data[h]; { if (!(x == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL))) goto LA5_; goto LA1; } LA5_: ; { if (!((*x).key == key)) goto LA9_; result = x; goto BeforeRet_; } LA9_: ; h = nextTry__system_4920(h, (*t).max); } } LA1: ; { NIM_BOOL T13_; T13_ = (NIM_BOOL)0; T13_ = ((NI)((NI)((*t).max + ((NI) 1)) * ((NI) 2)) < (NI)((*t).counter * ((NI) 3))); if (T13_) goto LA14_; T13_ = ((NI)((NI)((*t).max + ((NI) 1)) - (*t).counter) < ((NI) 4)); LA14_: ; if (!T13_) goto LA15_; cellSetEnlarge__system_4950(t); } LA15_: ; (*t).counter += ((NI) 1); h = (NI)(((NI) (key)) & (*t).max); { while (1) { if (!!(((*t).data[h] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA18; h = nextTry__system_4920(h, (*t).max); } LA18: ; } T19_ = (void*)0; T19_ = alloc0Impl__system_1745(((NI) 48)); result = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) (T19_)); (*result).next = (*t).head; (*result).key = key; (*t).head = result; (*t).data[h] = result; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, incl__system_5017)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) { NU u; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* t; u = ((NU) (ptrdiff_t) (cell)); t = cellSetPut__system_4963(s, (NU)((NU64)(u) >> (NU64)(((NI) 12)))); u = (NU)((NU64)((NU)((NU64)(u) % (NU64)(((NU) 4096)))) / (NU64)(((NU) 16))); (*t).bits[((NU)((NU64)(u) >> (NU64)(((NI) 6))))- 0] = (NI)((*t).bits[((NU)((NU64)(u) >> (NU64)(((NI) 6))))- 0] | (NI)((NU64)(((NI) 1)) << (NU64)((NU)(u & ((NU) 63))))); } static N_INLINE(void*, cellToUsr__system_5268)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) { void* result; NI T1_; result = (void*)0; T1_ = (NI)0; T1_ = pluspercent___system_696(((NI) (ptrdiff_t) (cell)), ((NI) 16)); result = ((void*) (T1_)); return result; } N_LIB_PRIVATE N_NIMCALL(NU, getDiscriminant__system_3607)(void* aa, TNimNode* n) { NU result; NU d; NU a; { result = (NU)0; d = (NU)0; a = ((NU) (ptrdiff_t) (aa)); switch ((*(*n).typ).size) { case ((NI) 1): { d = ((NU) ((*((NU8*) ((NU)((NU64)(a) + (NU64)(((NU) ((*n).offset))))))))); } break; case ((NI) 2): { d = ((NU) ((*((NU16*) ((NU)((NU64)(a) + (NU64)(((NU) ((*n).offset))))))))); } break; case ((NI) 4): { d = ((NU) ((*((NU32*) ((NU)((NU64)(a) + (NU64)(((NU) ((*n).offset))))))))); } break; case ((NI) 8): { d = ((NU) ((*((NU64*) ((NU)((NU64)(a) + (NU64)(((NU) ((*n).offset))))))))); } break; default: { d = ((NU) 0); } break; } result = d; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(TNimNode*, selectBranch__system_3645)(void* aa, TNimNode* n) { TNimNode* result; NU discr; result = (TNimNode*)0; discr = getDiscriminant__system_3607(aa, n); { if (!((NU64)(discr) < (NU64)(((NU) ((*n).len))))) goto LA3_; result = (*n).sons[(discr)- 0]; { if (!(result == ((TNimNode*) NIM_NIL))) goto LA7_; result = (*n).sons[((*n).len)- 0]; } LA7_: ; } goto LA1_; LA3_: ; { result = (*n).sons[((*n).len)- 0]; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, forAllSlotsAux__system_5536)(void* dest, TNimNode* n, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) { NI d; d = ((NI) (ptrdiff_t) (dest)); switch ((*n).kind) { case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1): { NI T2_; T2_ = (NI)0; T2_ = pluspercent___system_696(d, (*n).offset); forAllChildrenAux__system_5305(((void*) (T2_)), (*n).typ, op); } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*n).len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA6; i = res; { if (!((*(*n).sons[(i)- 0]).kind == ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1))) goto LA9_; { NI T15_; if (!((289406976 &((NU64)1<<((NU)((*(*(*n).sons[(i)- 0]).typ).kind)&63U)))!=0)) goto LA13_; T15_ = (NI)0; T15_ = pluspercent___system_696(d, (*(*n).sons[(i)- 0]).offset); doOperation__system_5302((*((void**) (T15_))), op); } goto LA11_; LA13_: ; { NI T17_; T17_ = (NI)0; T17_ = pluspercent___system_696(d, (*(*n).sons[(i)- 0]).offset); forAllChildrenAux__system_5305(((void*) (T17_)), (*(*n).sons[(i)- 0]).typ, op); } LA11_: ; } goto LA7_; LA9_: ; { forAllSlotsAux__system_5536(dest, (*n).sons[(i)- 0], op); } LA7_: ; res += ((NI) 1); } LA6: ; } } } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* m; m = selectBranch__system_3645(dest, n); { if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA22_; forAllSlotsAux__system_5536(dest, m, op); } LA22_: ; } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0): { } break; } } static N_INLINE(NI, starpercent___system_736)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU64)(((NU) (x))) * (NU64)(((NU) (y)))))); return result; } N_LIB_PRIVATE N_NIMCALL(void, forAllChildrenAux__system_5305)(void* dest, TNimType* mt, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) { NI d; { d = ((NI) (ptrdiff_t) (dest)); { if (!(dest == NIM_NIL)) goto LA3_; goto BeforeRet_; } LA3_: ; { if (!!((((*mt).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0))) goto LA7_; switch ((*mt).kind) { case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24): { doOperation__system_5302((*((void**) (d))), op); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18): { forAllSlotsAux__system_5536(dest, (*mt).node, op); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 27): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((NI)((*mt).size / (*(*mt).base).size) - ((NI) 1)); res = ((NI) 0); { while (1) { NI T15_; NI T16_; if (!(res <= colontmp_)) goto LA14; i = res; T15_ = (NI)0; T15_ = starpercent___system_736(i, (*(*mt).base).size); T16_ = (NI)0; T16_ = pluspercent___system_696(d, T15_); forAllChildrenAux__system_5305(((void*) (T16_)), (*mt).base, op); res += ((NI) 1); } LA14: ; } } } break; default: { } break; } } LA7_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI, align__system_1624)(NI address, NI alignment) { NI result; result = (NI)0; { if (!(alignment == ((NI) 0))) goto LA3_; result = address; } goto LA1_; LA3_: ; { result = (NI)((NI)(address + (NI)(alignment - ((NI) 1))) & (NI)((NU64) ~((NI)(alignment - ((NI) 1))))); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, forAllChildren__system_5299)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) { tyProc__ojoeKfW4VYIm36I9cpDTQIg marker; marker = (*(*cell).typ).marker; { void* T5_; if (!!((marker == NIM_NIL))) goto LA3_; T5_ = (void*)0; T5_ = cellToUsr__system_5268(cell); marker(T5_, ((NI) (op))); } goto LA1_; LA3_: ; { switch ((*(*cell).typ).kind) { case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22): { void* T8_; T8_ = (void*)0; T8_ = cellToUsr__system_5268(cell); forAllChildrenAux__system_5305(T8_, (*(*cell).typ).base, op); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24): { NI d; void* T10_; TGenericSeq* s; T10_ = (void*)0; T10_ = cellToUsr__system_5268(cell); d = ((NI) (ptrdiff_t) (T10_)); s = ((TGenericSeq*) (d)); { if (!!((s == ((TGenericSeq*) NIM_NIL)))) goto LA13_; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*s).len - ((NI) 1)); res = ((NI) 0); { while (1) { NI T18_; NI T19_; NI T20_; NI T21_; if (!(res <= colontmp_)) goto LA17; i = res; T18_ = (NI)0; T18_ = align__system_1624(((NI) 16), (*(*(*cell).typ).base).align); T19_ = (NI)0; T19_ = pluspercent___system_696(d, T18_); T20_ = (NI)0; T20_ = starpercent___system_736(i, (*(*(*cell).typ).base).size); T21_ = (NI)0; T21_ = pluspercent___system_696(T19_, T20_); forAllChildrenAux__system_5305(((void*) (T21_)), (*(*cell).typ).base, op); res += ((NI) 1); } LA17: ; } } } LA13_: ; } break; default: { } break; } } LA1_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*, cellSetGet__system_4924)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* t, NU key) { tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* result; NI h; { result = (tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*)0; h = (NI)(((NI) (key)) & (*t).max); { while (1) { if (!!(((*t).data[h] == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA2; { if (!((*(*t).data[h]).key == key)) goto LA5_; result = (*t).data[h]; goto BeforeRet_; } LA5_: ; h = nextTry__system_4920(h, (*t).max); } LA2: ; } result = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL); goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__system_5063)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) { NIM_BOOL result; NU u; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* t; result = (NIM_BOOL)0; u = ((NU) (ptrdiff_t) (cell)); t = cellSetGet__system_4924((&(*s)), (NU)((NU64)(u) >> (NU64)(((NI) 12)))); { if (!!((t == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA3_; u = (NU)((NU64)((NU)((NU64)(u) % (NU64)(((NU) 4096)))) / (NU64)(((NU) 16))); result = !(((NI)((*t).bits[((NU)((NU64)(u) >> (NU64)(((NI) 6))))- 0] & (NI)((NU64)(((NI) 1)) << (NU64)((NU)(u & ((NU) 63))))) == ((NI) 0))); { if (!!(result)) goto LA7_; (*t).bits[((NU)((NU64)(u) >> (NU64)(((NI) 6))))- 0] = (NI)((*t).bits[((NU)((NU64)(u) >> (NU64)(((NI) 6))))- 0] | (NI)((NU64)(((NI) 1)) << (NU64)((NU)(u & ((NU) 63))))); } LA7_: ; } goto LA1_; LA3_: ; { incl__system_5017(s, cell); result = NIM_FALSE; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, markS__system_5720)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { incl__system_5017((&(*gch).marked), c); forAllChildren__system_5299(c, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 1)); { while (1) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* d; if (!(((NI) 0) < (*gch).tempStack.len)) goto LA2; (*gch).tempStack.len -= ((NI) 1); d = (*gch).tempStack.d[(*gch).tempStack.len]; { NIM_BOOL T5_; T5_ = (NIM_BOOL)0; T5_ = containsOrIncl__system_5063((&(*gch).marked), d); if (!!(T5_)) goto LA6_; forAllChildren__system_5299(d, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 1)); } LA6_: ; } LA2: ; } } N_LIB_PRIVATE N_NIMCALL(void, doOperation__system_5302)(void* p, tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ op) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c; { { if (!(p == NIM_NIL)) goto LA3_; goto BeforeRet_; } LA3_: ; c = usrToCell__system_5271(p); switch (op) { case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 2): { decRef__system_5316(c); } break; case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 3): { add__system_4860((&gch__system_5218.tempStack), c); } break; case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 0): { markS__system_5720((&gch__system_5218), c); } break; case ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 1): { add__system_4860((&gch__system_5218.tempStack), c); } break; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op) { doOperation__system_5302(d, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) (op))); } static N_NIMCALL(void, Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw)(void* p, NI op) { Exception* a; a = (Exception*)p; nimGCvisit((void*)(*a).parent, op); nimGCvisit((void*)(*a).message, op); nimGCvisit((void*)(*a).trace, op); nimGCvisit((void*)(*a).up, op); } static N_NIMCALL(void, TM__Q5wkpxktOdTGvlSRo9bzt9aw_4)(void) { nimGCvisit((void*)currException__system_2566, 0); } N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc) { { if (!(threadLocalMarkersLen <= ((NI) 3499))) goto LA3_; threadLocalMarkers[(threadLocalMarkersLen)- 0] = markerProc; threadLocalMarkersLen += ((NI) 1); } goto LA1_; LA3_: ; { rawWrite(__stderrp, "[GC] cannot register thread local variable; too many thread local variables"); exit(((NI) 1)); } LA1_: ; } static N_INLINE(void, pushSafePoint)(TSafePoint* s) { (*s).prev = excHandler__system_2565; excHandler__system_2565 = s; } static N_INLINE(NI, getOccupiedMem__system_4820)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) { NI result; result = (NI)0; result = (*a).occ; return result; } N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5385)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack) { NI result; void* volatile pos; result = (NI)0; pos = ((void*) ((&pos))); { if (!!((pos == NIM_NIL))) goto LA3_; result = minuspercent___system_716(((NI) (ptrdiff_t) ((*stack).bottom)), ((NI) (ptrdiff_t) (pos))); } goto LA1_; LA3_: ; { result = ((NI) 0); } LA1_: ; return result; } N_LIB_PRIVATE N_NOINLINE(NI, stackSize__system_5389)(void) { NI result; result = (NI)0; result = ((NI) 0); { tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack; NI T2_; stack = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0; stack = (&gch__system_5218.stack); T2_ = (NI)0; T2_ = stackSize__system_5385(stack); result = (NI)(result + T2_); } return result; } N_LIB_PRIVATE N_NIMCALL(NI, lowGauge__system_4099)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n) { NI result; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* it; result = (NI)0; it = n; { while (1) { if (!!(((*it).link[(((NI) 0))- 0] == it))) goto LA2; result = (*it).key; it = (*it).link[(((NI) 0))- 0]; } LA2: ; } return result; } N_LIB_PRIVATE N_NIMCALL(NI, highGauge__system_4107)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* n) { NI result; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* it; result = (NI)0; result = ((NI) -1); it = n; { while (1) { if (!!(((*it).link[(((NI) 0))- 0] == it))) goto LA2; result = (*it).upperBound; it = (*it).link[(((NI) 1))- 0]; } LA2: ; } return result; } static N_INLINE(void, prepareForInteriorPointerChecking__system_4741)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) { (*a).minLargeObj = lowGauge__system_4099((*a).root); (*a).maxLargeObj = highGauge__system_4107((*a).root); } N_LIB_PRIVATE N_NIMCALL(void, setPosition__system_5401)(tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack, void* position) { } N_LIB_PRIVATE N_NIMCALL(tyObject_GcStack__7fytPA5bBsob6See21YMRA*, getActiveStack__system_5407)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { tyObject_GcStack__7fytPA5bBsob6See21YMRA* result; result = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0; result = (&(*gch).stack); return result; } static N_INLINE(NI, percentpercent___system_776)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU64)(((NU) (x))) % (NU64)(((NU) (y)))))); return result; } static N_INLINE(NIM_BOOL, lteqpercent___system_985)(NI x, NI y) { NIM_BOOL result; result = (NIM_BOOL)0; result = ((NU64)(((NU) (x))) <= (NU64)(((NU) (y)))); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*, inRange__system_4127)(tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root, NI key) { tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* result; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* it; { result = (tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*)0; it = root; { while (1) { NIM_BOOL T9_; if (!!(((*it).link[(((NI) 0))- 0] == it))) goto LA2; { NIM_BOOL T5_; T5_ = (NIM_BOOL)0; T5_ = lteqpercent___system_985((*it).key, key); if (!(T5_)) goto LA6_; T5_ = ltpercent___system_1005(key, (*it).upperBound); LA6_: ; if (!T5_) goto LA7_; result = it; goto BeforeRet_; } LA7_: ; T9_ = (NIM_BOOL)0; T9_ = ltpercent___system_1005((*it).key, key); it = (*it).link[(T9_)- 0]; } LA2: ; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void*, interiorAllocatedPtr__system_4743)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a, void* p) { void* result; result = (void*)0; { NIM_BOOL T3_; tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c; T3_ = (NIM_BOOL)0; T3_ = isAccessible__system_4462(a, p); if (!T3_) goto LA4_; c = pageAddr__system_4435(p); { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = chunkUnused__system_4352(c); if (!!(T8_)) goto LA9_; { NIM_BOOL T13_; tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c_2; NI offset; T13_ = (NIM_BOOL)0; T13_ = isSmallChunk__system_4346(c); if (!T13_) goto LA14_; c_2 = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (c)); offset = minuspercent___system_716((NI)(((NI) (ptrdiff_t) (p)) & ((NI) 4095)), ((NI) 64)); { NIM_BOOL T18_; tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ* d; NI T21_; NI T22_; NI T23_; T18_ = (NIM_BOOL)0; T18_ = ltpercent___system_1005(offset, (*c_2).acc); if (!T18_) goto LA19_; T21_ = (NI)0; T21_ = pluspercent___system_696(((NI) (ptrdiff_t) ((*c_2).data)), offset); T22_ = (NI)0; T22_ = percentpercent___system_776(offset, (*c_2).Sup.size); T23_ = (NI)0; T23_ = minuspercent___system_716(T21_, T22_); d = ((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (T23_)); { NIM_BOOL T26_; T26_ = (NIM_BOOL)0; T26_ = ltpercent___system_1005(((NI) 1), (*d).zeroField); if (!T26_) goto LA27_; result = ((void*) (d)); } LA27_: ; } LA19_: ; } goto LA11_; LA14_: ; { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_3; NU8* d_2; c_3 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c)); d_2 = (*c_3).data; { NIM_BOOL T32_; T32_ = (NIM_BOOL)0; T32_ = (((void*) (d_2)) <= p); if (!(T32_)) goto LA33_; T32_ = ltpercent___system_1005(((NI) 1), (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (d_2))).zeroField); LA33_: ; if (!T32_) goto LA34_; result = ((void*) (d_2)); } LA34_: ; } LA11_: ; } LA9_: ; } goto LA1_; LA4_: ; { NI q; q = ((NI) (ptrdiff_t) (p)); { NIM_BOOL T39_; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* avlNode; T39_ = (NIM_BOOL)0; T39_ = lteqpercent___system_985((*a).minLargeObj, q); if (!(T39_)) goto LA40_; T39_ = lteqpercent___system_985(q, (*a).maxLargeObj); LA40_: ; if (!T39_) goto LA41_; avlNode = inRange__system_4127((*a).root, q); { void* k; tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_4; tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* T47_; if (!!((avlNode == ((tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw*) NIM_NIL)))) goto LA45_; k = ((void*) ((*avlNode).key)); T47_ = (tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*)0; T47_ = pageAddr__system_4435(k); c_4 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (T47_)); { NIM_BOOL T50_; T50_ = (NIM_BOOL)0; T50_ = ltpercent___system_1005(((NI) 1), (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (k))).zeroField); if (!T50_) goto LA51_; result = k; } LA51_: ; } LA45_: ; } LA41_: ; } LA1_: ; return result; } static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8)); } static N_INLINE(void, gcMark__system_5769)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, void* p) { NI c; c = ((NI) (ptrdiff_t) (p)); { NIM_BOOL T3_; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* objStart; void* T6_; T3_ = (NIM_BOOL)0; T3_ = ltpercent___system_1005(((NI) 4096), c); if (!T3_) goto LA4_; T6_ = (void*)0; T6_ = interiorAllocatedPtr__system_4743((&(*gch).region), p); objStart = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T6_)); { if (!!((objStart == ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) NIM_NIL)))) goto LA9_; incRef__system_5309(objStart); add__system_4860((&(*gch).decStack), objStart); } LA9_: ; } LA4_: ; } CLANG_NO_SANITIZE_ADDRESS N_LIB_PRIVATE void markStackAndRegisters__system_5778(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { jmp_buf registers; tyObject_GcStack__7fytPA5bBsob6See21YMRA* T1_; T1_ = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0; T1_ = getActiveStack__system_5407(gch); setPosition__system_5401(T1_, ((void*) ((®isters)))); { int T4_; T4_ = (int)0; T4_ = _setjmp(registers); if (!(T4_ == ((NI32) 0))) goto LA5_; { tyObject_GcStack__7fytPA5bBsob6See21YMRA* stack; NI max; NI sp; stack = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0; stack = (&(*gch).stack); max = ((NI) (ptrdiff_t) ((*stack).bottom)); sp = ((NI) (ptrdiff_t) ((®isters))); sp = (NI)(sp & ((NI) -8)); { while (1) { NIM_BOOL T10_; T10_ = (NIM_BOOL)0; T10_ = ltpercent___system_1005(sp, (NI)(max - ((NI) 64))); if (!T10_) goto LA9; gcMark__system_5769(gch, ((void**) (sp))[(((NI) 0))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 1))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 2))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 3))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 4))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 5))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 6))- 0]); gcMark__system_5769(gch, ((void**) (sp))[(((NI) 7))- 0]); sp = pluspercent___system_696(sp, ((NI) 64)); } LA9: ; } { while (1) { NIM_BOOL T13_; T13_ = (NIM_BOOL)0; T13_ = lteqpercent___system_985(sp, max); if (!T13_) goto LA12; gcMark__system_5769(gch, (*((void**) (sp)))); sp = pluspercent___system_696(sp, ((NI) 8)); } LA12: ; } } } LA5_: ; } N_LIB_PRIVATE N_NIMCALL(void, prepareDealloc__system_5431)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) { TNimType* t; t = (*cell).typ; { void* T5_; if (!!(((*t).finalizer == NIM_NIL))) goto LA3_; gch__system_5218.recGcLock += ((NI) 1); T5_ = (void*)0; T5_ = cellToUsr__system_5268(cell); ((Finalizer) ((*t).finalizer))(T5_); gch__system_5218.recGcLock -= ((NI) 1); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, collectZCT__system_5759)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { NIM_BOOL result; NI* L; result = (NIM_BOOL)0; L = (&(*gch).zct.len); { while (1) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c; if (!(((NI) 0) < (*L))) goto LA2; c = (*gch).zct.d[((NI) 0)]; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); (*gch).zct.d[((NI) 0)] = (*gch).zct.d[(NI)((*L) - ((NI) 1))]; (*L) -= ((NI) 1); { NIM_BOOL T5_; T5_ = (NIM_BOOL)0; T5_ = ltpercent___system_1005((*c).refcount, ((NI) 8)); if (!T5_) goto LA6_; prepareDealloc__system_5431(c); forAllChildren__system_5299(c, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 2)); rawDealloc__system_4689((&(*gch).region), ((void*) (c))); } LA6_: ; } LA2: ; } result = NIM_TRUE; return result; } N_LIB_PRIVATE N_NIMCALL(void, deinit__system_4912)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s) { tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* it; it = (*s).head; { while (1) { tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* n; if (!!((it == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA2; n = (*it).next; dealloc(((void*) (it))); it = n; } LA2: ; } (*s).head = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL); dealloc(((void*) ((*s).data))); (*s).data = ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg**) NIM_NIL); (*s).counter = ((NI) 0); } N_LIB_PRIVATE N_NIMCALL(void, cellsetReset__system_5534)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s) { deinit__system_4912(s); init__system_4892(s); } N_LIB_PRIVATE N_NIMCALL(void, markGlobals__system_5728)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; { if (!((*gch).gcThreadId == ((NI) 0))) goto LA3_; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)(globalMarkersLen - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA7; i = res; globalMarkers[(i)- 0](); res += ((NI) 1); } LA7: ; } } } LA3_: ; { NI i_2; NI colontmp__2; NI res_2; i_2 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = (NI)(threadLocalMarkersLen - ((NI) 1)); res_2 = ((NI) 0); { while (1) { if (!(res_2 <= colontmp__2)) goto LA10; i_2 = res_2; threadLocalMarkers[(i_2)- 0](); res_2 += ((NI) 1); } LA10: ; } } d = (*gch).additionalRoots.d; { NI i_3; NI colontmp__3; NI res_3; i_3 = (NI)0; colontmp__3 = (NI)0; colontmp__3 = (NI)((*gch).additionalRoots.len - ((NI) 1)); res_3 = ((NI) 0); { while (1) { if (!(res_3 <= colontmp__3)) goto LA13; i_3 = res_3; markS__system_5720(gch, d[i_3]); res_3 += ((NI) 1); } LA13: ; } } } static N_INLINE(NIM_BOOL, isCell__system_4409)(void* p) { NIM_BOOL result; result = (NIM_BOOL)0; result = ltpercent___system_1005(((NI) 1), (*((tyObject_FreeCell__u6M5LHprqzkn9axr04yg9bGQ*) (p))).zeroField); return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__system_4985)(tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* cell) { NIM_BOOL result; NU u; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* t; result = (NIM_BOOL)0; u = ((NU) (ptrdiff_t) (cell)); t = cellSetGet__system_4924(s, (NU)((NU64)(u) >> (NU64)(((NI) 12)))); { if (!!((t == ((tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg*) NIM_NIL)))) goto LA3_; u = (NU)((NU64)((NU)((NU64)(u) % (NU64)(((NU) 4096)))) / (NU64)(((NU) 16))); result = !(((NI)((*t).bits[((NU)((NU64)(u) >> (NU64)(((NI) 6))))- 0] & (NI)((NU64)(((NI) 1)) << (NU64)((NU)(u & ((NU) 63))))) == ((NI) 0))); } goto LA1_; LA3_: ; { result = NIM_FALSE; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, freeCyclicCell__system_5712)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { prepareDealloc__system_5431(c); rawDealloc__system_4689((&(*gch).region), ((void*) (c))); } N_LIB_PRIVATE N_NIMCALL(void, sweep__system_5716)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { { void* x; x = (void*)0; (*gch).region.locked = NIM_TRUE; { NI s; s = (NI)0; { NI h; NI res; h = (NI)0; res = ((NI) 0); { while (1) { tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* r; if (!(res <= ((NI) 255))) goto LA5; h = res; r = (*gch).region.chunkStarts.data[(h)- 0]; { while (1) { NI i; if (!!((r == ((tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw*) NIM_NIL)))) goto LA7; i = ((NI) 0); { while (1) { NU w; NI j; if (!(i <= ((NI) 7))) goto LA9; w = (*r).bits[(i)- 0]; j = ((NI) 0); { while (1) { if (!!((w == ((NU) 0)))) goto LA11; { NI T16_; if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA14_; T16_ = (NI)0; T16_ = pluspercent___system_696((NI)((NU64)(i) << (NU64)(((NI) 6))), j); s = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T16_); { NIM_BOOL T19_; tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w* c; T19_ = (NIM_BOOL)0; T19_ = contains__system_4225((&(*gch).region.chunkStarts), s); if (!T19_) goto LA20_; c = ((tyObject_BaseChunk__Sdq7WpT6qAH858F5ZEdG3w*) ((NI)((NU64)(s) << (NU64)(((NI) 12))))); { NIM_BOOL T24_; T24_ = (NIM_BOOL)0; T24_ = chunkUnused__system_4352(c); if (!!(T24_)) goto LA25_; { NIM_BOOL T29_; tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* c_2; NI size; NI a; NI limit; T29_ = (NIM_BOOL)0; T29_ = isSmallChunk__system_4346(c); if (!T29_) goto LA30_; c_2 = ((tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ*) (c)); size = (*c_2).Sup.size; a = ((NI) (ptrdiff_t) ((*c_2).data)); limit = (NI)(a + (*c_2).acc); { while (1) { NIM_BOOL T34_; T34_ = (NIM_BOOL)0; T34_ = ltpercent___system_1005(a, limit); if (!T34_) goto LA33; x = ((void*) (a)); { NIM_BOOL T37_; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c_3; T37_ = (NIM_BOOL)0; T37_ = isCell__system_4409(x); if (!T37_) goto LA38_; c_3 = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (x)); { NIM_BOOL T42_; T42_ = (NIM_BOOL)0; T42_ = contains__system_4985((&(*gch).marked), c_3); if (!!(T42_)) goto LA43_; freeCyclicCell__system_5712(gch, c_3); } LA43_: ; } LA38_: ; a = pluspercent___system_696(a, size); } LA33: ; } } goto LA27_; LA30_: ; { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* c_4; c_4 = ((tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg*) (c)); x = ((void*) ((*c_4).data)); { NIM_BOOL T48_; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c_5; T48_ = (NIM_BOOL)0; T48_ = isCell__system_4409(x); if (!T48_) goto LA49_; c_5 = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (x)); { NIM_BOOL T53_; T53_ = (NIM_BOOL)0; T53_ = contains__system_4985((&(*gch).marked), c_5); if (!!(T53_)) goto LA54_; freeCyclicCell__system_5712(gch, c_5); } LA54_: ; } LA49_: ; } LA27_: ; } LA25_: ; } LA20_: ; } LA14_: ; j += ((NI) 1); w = (NU)((NU64)(w) >> (NU64)(((NI) 1))); } LA11: ; } i += ((NI) 1); } LA9: ; } r = (*r).next; } LA7: ; } res += ((NI) 1); } LA5: ; } } } (*gch).region.locked = NIM_FALSE; } } N_LIB_PRIVATE N_NIMCALL(void, collectCycles__system_5761)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; { while (1) { NIM_BOOL T3_; if (!(((NI) 0) < (*gch).zct.len)) goto LA2; T3_ = (NIM_BOOL)0; T3_ = collectZCT__system_5759(gch); (void)(T3_); } LA2: ; } cellsetReset__system_5534((&(*gch).marked)); d = (*gch).decStack.d; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*gch).decStack.len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA6; i = res; markS__system_5720(gch, d[i]); res += ((NI) 1); } LA6: ; } } markGlobals__system_5728(gch); sweep__system_5716(gch); } N_LIB_PRIVATE N_NIMCALL(NI, getOccupiedMem__system_1936)(void) { NI result; result = (NI)0; result = gch__system_5218.region.occ; return result; } N_LIB_PRIVATE N_NIMCALL(void, unmarkStackAndRegisters__system_5832)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; d = (*gch).decStack.d; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*gch).decStack.len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA3; i = res; decRef__system_5316(d[i]); res += ((NI) 1); } LA3: ; } } (*gch).decStack.len = ((NI) 0); } N_LIB_PRIVATE N_NIMCALL(void, collectCTBody__system_5840)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { NI T1_; T1_ = (NI)0; T1_ = stackSize__system_5389(); (*gch).stat.maxStackSize = (((*gch).stat.maxStackSize >= T1_) ? (*gch).stat.maxStackSize : T1_); prepareForInteriorPointerChecking__system_4741((&(*gch).region)); markStackAndRegisters__system_5778(gch); (*gch).stat.maxStackCells = (((*gch).stat.maxStackCells >= (*gch).decStack.len) ? (*gch).stat.maxStackCells : (*gch).decStack.len); (*gch).stat.stackScans += ((NI) 1); { NIM_BOOL T4_; T4_ = (NIM_BOOL)0; T4_ = collectZCT__system_5759(gch); if (!T4_) goto LA5_; { NIM_BOOL T9_; NI T10_; NI T14_; T9_ = (NIM_BOOL)0; T10_ = (NI)0; T10_ = getOccupiedMem__system_4820((&(*gch).region)); T9_ = ((*gch).cycleThreshold <= T10_); if (T9_) goto LA11_; T9_ = NIM_FALSE; LA11_: ; if (!T9_) goto LA12_; collectCycles__system_5761(gch); (*gch).stat.cycleCollections += ((NI) 1); T14_ = (NI)0; T14_ = getOccupiedMem__system_1936(); (*gch).cycleThreshold = ((((NI) 4194304) >= (NI)(T14_ * ((NI) 2))) ? ((NI) 4194304) : (NI)(T14_ * ((NI) 2))); (*gch).stat.maxThreshold = (((*gch).stat.maxThreshold >= (*gch).cycleThreshold) ? (*gch).stat.maxThreshold : (*gch).cycleThreshold); } LA12_: ; } LA5_: ; unmarkStackAndRegisters__system_5832(gch); } N_LIB_PRIVATE N_NIMCALL(void, collectCT__system_5295)(tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { { NIM_BOOL T3_; NIM_BOOL T4_; NIM_BOOL T5_; NIM_BOOL T7_; NI T9_; T3_ = (NIM_BOOL)0; T4_ = (NIM_BOOL)0; T5_ = (NIM_BOOL)0; T5_ = ((*gch).zctThreshold <= (*gch).zct.len); if (T5_) goto LA6_; T7_ = (NIM_BOOL)0; T7_ = NIM_TRUE; if (!(T7_)) goto LA8_; T9_ = (NI)0; T9_ = getOccupiedMem__system_4820((&(*gch).region)); T7_ = ((*gch).cycleThreshold <= T9_); LA8_: ; T5_ = T7_; LA6_: ; T4_ = T5_; if (T4_) goto LA10_; T4_ = NIM_FALSE; LA10_: ; T3_ = T4_; if (!(T3_)) goto LA11_; T3_ = ((*gch).recGcLock == ((NI) 0)); LA11_: ; if (!T3_) goto LA12_; collectCTBody__system_5840(gch); (*gch).zctThreshold = ((((NI) 500) >= (NI)((*gch).zct.len * ((NI) 2))) ? ((NI) 500) : (NI)((*gch).zct.len * ((NI) 2))); } LA12_: ; } static N_INLINE(void, addNewObjToZCT__system_5633)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { NI L; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; { L = (*gch).zct.len; d = (*gch).zct.d; { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c; if (!(((NI) 8) < L)) goto LA3_; c = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; c = d[(NI)(L - ((NI) 1))]; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T7_) goto LA8_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 1))] = res; goto BeforeRet_; } LA8_: ; c = d[(NI)(L - ((NI) 2))]; { NIM_BOOL T12_; T12_ = (NIM_BOOL)0; T12_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T12_) goto LA13_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 2))] = res; goto BeforeRet_; } LA13_: ; c = d[(NI)(L - ((NI) 3))]; { NIM_BOOL T17_; T17_ = (NIM_BOOL)0; T17_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T17_) goto LA18_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 3))] = res; goto BeforeRet_; } LA18_: ; c = d[(NI)(L - ((NI) 4))]; { NIM_BOOL T22_; T22_ = (NIM_BOOL)0; T22_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T22_) goto LA23_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 4))] = res; goto BeforeRet_; } LA23_: ; c = d[(NI)(L - ((NI) 5))]; { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T27_) goto LA28_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 5))] = res; goto BeforeRet_; } LA28_: ; c = d[(NI)(L - ((NI) 6))]; { NIM_BOOL T32_; T32_ = (NIM_BOOL)0; T32_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T32_) goto LA33_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 6))] = res; goto BeforeRet_; } LA33_: ; c = d[(NI)(L - ((NI) 7))]; { NIM_BOOL T37_; T37_ = (NIM_BOOL)0; T37_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T37_) goto LA38_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 7))] = res; goto BeforeRet_; } LA38_: ; c = d[(NI)(L - ((NI) 8))]; { NIM_BOOL T42_; T42_ = (NIM_BOOL)0; T42_ = lteqpercent___system_985(((NI) 8), (*c).refcount); if (!T42_) goto LA43_; (*c).refcount = (NI)((*c).refcount & ((NI) -5)); d[(NI)(L - ((NI) 8))] = res; goto BeforeRet_; } LA43_: ; add__system_4860((&(*gch).zct), res); } goto LA1_; LA3_: ; { d[L] = res; (*gch).zct.len += ((NI) 1); } LA1_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void*, rawNewObj__system_5648)(TNimType* typ, NI size, tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ* gch) { void* result; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res; void* T1_; result = (void*)0; collectCT__system_5295(gch); T1_ = (void*)0; T1_ = rawAlloc__system_4560((&(*gch).region), (NI)(size + ((NI) 16))); res = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_)); (*res).typ = typ; (*res).refcount = ((NI) 4); addNewObjToZCT__system_5633(res, gch); result = cellToUsr__system_5268(res); return result; } N_LIB_PRIVATE N_NIMCALL(void*, newObjNoInit)(TNimType* typ, NI size) { void* result; result = (void*)0; result = rawNewObj__system_5648(typ, size, (&gch__system_5218)); return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewStringNoInit)(NI space) { NimStringDesc* result; NI s; void* T5_; result = (NimStringDesc*)0; s = space; { if (!(s < ((NI) 7))) goto LA3_; s = ((NI) 7); } LA3_: ; T5_ = (void*)0; T5_ = newObjNoInit((&strDesc__system_2412), (NI)((NI)(((NI) 16) + s) + ((NI) 1))); result = ((NimStringDesc*) (T5_)); (*result).Sup.reserved = s; (*result).Sup.len = ((NI) 0); return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toNimStr)(NCSTRING str, NI len) { NimStringDesc* result; result = (NimStringDesc*)0; result = rawNewStringNoInit(len); (*result).Sup.len = len; copyMem__system_1727(((void*) ((*result).data)), ((void*) (str)), ((NI) ((NI)(len + ((NI) 1))))); return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str) { NimStringDesc* result; result = (NimStringDesc*)0; { if (!(((void*) (str)) == NIM_NIL)) goto LA3_; result = ((NimStringDesc*) NIM_NIL); } goto LA1_; LA3_: ; { result = toNimStr(str, (str ? nimCStrLen(str) : 0)); } LA1_: ; return result; } static N_INLINE(void, popSafePoint)(void) { excHandler__system_2565 = (*excHandler__system_2565).prev; } static N_INLINE(void, asgnRef)(void** dest, void* src) { { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_; if (!!((src == NIM_NIL))) goto LA3_; T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T5_ = usrToCell__system_5271(src); incRef__system_5309(T5_); } LA3_: ; { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_; if (!!(((*dest) == NIM_NIL))) goto LA8_; T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T10_ = usrToCell__system_5271((*dest)); decRef__system_5316(T10_); } LA8_: ; (*dest) = src; } static N_INLINE(void, popCurrentException)(void) { asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up); } static N_NIMCALL(void, Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ)(void* p, NI op) { tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g* a; a = (tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size) { void* result; result = (void*)0; result = rawNewObj__system_5648(typ, size, (&gch__system_5218)); zeroMem__system_1724(result, ((NI) (size))); return result; } N_LIB_PRIVATE N_NOINLINE(void*, newObjRC1)(TNimType* typ, NI size) { void* result; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* res; void* T1_; result = (void*)0; collectCT__system_5295((&gch__system_5218)); T1_ = (void*)0; T1_ = rawAlloc__system_4560((&gch__system_5218.region), (NI)(size + ((NI) 16))); res = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_)); (*res).typ = typ; (*res).refcount = ((NI) 8); result = cellToUsr__system_5268(res); zeroMem__system_1724(result, ((NI) (size))); return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src) { NimStringDesc* result; result = (NimStringDesc*)0; { if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_; { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T9_; if (!!(((NI)((*src).Sup.reserved & ((NI) (IL64(-9223372036854775807) - IL64(1)))) == ((NI) 0)))) goto LA7_; result = src; T9_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T9_ = usrToCell__system_5271(((void*) (result))); incRef__system_5309(T9_); } goto LA5_; LA7_: ; { NI s; void* T15_; s = (*src).Sup.len; { if (!(s < ((NI) 7))) goto LA13_; s = ((NI) 7); } LA13_: ; T15_ = (void*)0; T15_ = newObjRC1((&strDesc__system_2412), (NI)((NI)(((NI) 16) + s) + ((NI) 1))); result = ((NimStringDesc*) (T15_)); (*result).Sup.reserved = s; (*result).Sup.len = (*src).Sup.len; copyMem__system_1727(((void*) ((*result).data)), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1))))); } LA5_: ; } LA3_: ; return result; } static N_INLINE(void, nimGCunrefNoCycle)(void* p) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_; T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = usrToCell__system_5271(p); decRef__system_5316(T1_); } static N_NIMCALL(void, Marker_tyRef__r8GBEWywN07B3Rat3azS4Q)(void* p, NI op) { tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ* a; a = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*)p; nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op); } static N_INLINE(void, sysFatal__system_3375)(NimStringDesc* message) { tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ* T1_; NimStringDesc* T2_; T1_ = NIM_NIL; T1_ = (tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*) newObj((&NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_), sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ)); (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_); (*T1_).Sup.Sup.Sup.name = "OverflowDefect"; T2_ = NIM_NIL; T2_ = (*T1_).Sup.Sup.Sup.message; (*T1_).Sup.Sup.Sup.message = copyStringRC1(message); if (T2_) nimGCunrefNoCycle(T2_); raiseExceptionEx((Exception*)T1_, "OverflowDefect", "sysFatal", "fatal.nim", 53); } N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void) { sysFatal__system_3375(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_7)); } N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len) { void* result; NI size; NI T1_; NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_6; NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_8; result = (void*)0; T1_ = (NI)0; T1_ = align__system_1624(((NI) 16), (*(*typ).base).align); if (nimMulInt(len, (*(*typ).base).size, &TM__Q5wkpxktOdTGvlSRo9bzt9aw_6)) { raiseOverflow(); }; if (nimAddInt(T1_, (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_6), &TM__Q5wkpxktOdTGvlSRo9bzt9aw_8)) { raiseOverflow(); }; size = (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_8); result = newObj(typ, size); (*((TGenericSeq*) (result))).len = len; (*((TGenericSeq*) (result))).reserved = len; return result; } static N_INLINE(NI, resize__system_5895)(NI old) { NI result; result = (NI)0; { if (!(old <= ((NI) 0))) goto LA3_; result = ((NI) 4); } goto LA1_; LA3_: ; { if (!(old < ((NI) 65536))) goto LA6_; result = (NI)(old * ((NI) 2)); } goto LA1_; LA6_: ; { result = (NI)((NI)(old * ((NI) 3)) / ((NI) 2)); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5885)(TGenericSeq* a, NI elemAlign) { void* result; NI T1_; NI T2_; result = (void*)0; T1_ = (NI)0; T1_ = align__system_1624(((NI) 16), elemAlign); T2_ = (NI)0; T2_ = pluspercent___system_696(((NI) (ptrdiff_t) (a)), T1_); result = ((void*) (T2_)); return result; } N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ) { TGenericSeq* result; result = (TGenericSeq*)0; { void* T5_; if (!(s == ((TGenericSeq*) NIM_NIL))) goto LA3_; T5_ = (void*)0; T5_ = newSeq(typ, ((NI) 1)); result = ((TGenericSeq*) (T5_)); (*result).len = ((NI) 0); } goto LA1_; LA3_: ; { result = s; { NI r; void* T11_; void* T12_; void* T13_; if (!((NI)((*result).reserved & ((NI) IL64(4611686018427387903))) <= (*result).len)) goto LA9_; r = resize__system_5895((NI)((*result).reserved & ((NI) IL64(4611686018427387903)))); T11_ = (void*)0; T11_ = newSeq(typ, r); result = ((TGenericSeq*) (T11_)); (*result).len = (*s).len; T12_ = (void*)0; T12_ = dataPointer__system_5885(result, (*(*typ).base).align); T13_ = (void*)0; T13_ = dataPointer__system_5885(s, (*(*typ).base).align); copyMem__system_1727(T12_, T13_, ((NI) ((NI)((*s).len * (*(*typ).base).size)))); (*s).len = ((NI) 0); } LA9_: ; } LA1_: ; return result; } static N_INLINE(void, pushCurrentException)(Exception* e) { asgnRef((void**) (&(*e).up), currException__system_2566); asgnRef((void**) (&currException__system_2566), e); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space) { NimStringDesc* result; NI s; void* T5_; result = (NimStringDesc*)0; s = space; { if (!(s < ((NI) 7))) goto LA3_; s = ((NI) 7); } LA3_: ; T5_ = (void*)0; T5_ = newObj((&strDesc__system_2412), (NI)((NI)(((NI) 16) + s) + ((NI) 1))); result = ((NimStringDesc*) (T5_)); (*result).Sup.reserved = s; (*result).Sup.len = ((NI) 0); return result; } static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) { { if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_; copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1))))); (*dest).Sup.len += (*src).Sup.len; } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen) { NimStringDesc* result; result = (NimStringDesc*)0; { if (!(dest == ((NimStringDesc*) NIM_NIL))) goto LA3_; result = rawNewStringNoInit(addlen); } goto LA1_; LA3_: ; { if (!((NI)((*dest).Sup.len + addlen) <= (NI)((*dest).Sup.reserved & ((NI) IL64(4611686018427387903))))) goto LA6_; result = dest; } goto LA1_; LA6_: ; { NI sp; NI T9_; T9_ = (NI)0; T9_ = resize__system_5895((NI)((*dest).Sup.reserved & ((NI) IL64(4611686018427387903)))); sp = ((T9_ >= (NI)((*dest).Sup.len + addlen)) ? T9_ : (NI)((*dest).Sup.len + addlen)); result = rawNewStringNoInit(sp); (*result).Sup.len = (*dest).Sup.len; copyMem__system_1727(((void*) ((&(*result).data[((NI) 0)]))), ((void*) ((&(*dest).data[((NI) 0)]))), ((NI) ((NI)((*dest).Sup.len + ((NI) 1))))); (*result).Sup.reserved = sp; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c) { NimStringDesc* result; result = (NimStringDesc*)0; { if (!(s == ((NimStringDesc*) NIM_NIL))) goto LA3_; result = rawNewStringNoInit(((NI) 1)); (*result).Sup.len = ((NI) 0); } goto LA1_; LA3_: ; { result = s; { NI r; if (!((NI)((*result).Sup.reserved & ((NI) IL64(4611686018427387903))) <= (*result).Sup.len)) goto LA8_; r = resize__system_5895((NI)((*result).Sup.reserved & ((NI) IL64(4611686018427387903)))); result = rawNewStringNoInit(r); (*result).Sup.len = (*s).Sup.len; copyMem__system_1727(((void*) ((&(*result).data[((NI) 0)]))), ((void*) ((&(*s).data[((NI) 0)]))), ((NI) ((NI)((*s).Sup.len + ((NI) 1))))); (*result).Sup.reserved = r; } LA8_: ; } LA1_: ; (*result).data[(*result).Sup.len] = c; (*result).data[(NI)((*result).Sup.len + ((NI) 1))] = 0; (*result).Sup.len += ((NI) 1); return result; } N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isOnStack__system_5297)(void* p) { NIM_BOOL result; void* volatile stackTop; NI a; tyObject_GcStack__7fytPA5bBsob6See21YMRA* T1_; NI b; NI T2_; NI x; NIM_BOOL T3_; result = (NIM_BOOL)0; stackTop = ((void*) ((&stackTop))); T1_ = (tyObject_GcStack__7fytPA5bBsob6See21YMRA*)0; T1_ = getActiveStack__system_5407((&gch__system_5218)); a = ((NI) (ptrdiff_t) ((*T1_).bottom)); b = ((NI) (ptrdiff_t) (stackTop)); T2_ = (NI)0; T2_ = a; a = b; b = T2_; x = ((NI) (ptrdiff_t) (p)); T3_ = (NIM_BOOL)0; T3_ = lteqpercent___system_985(a, x); if (!(T3_)) goto LA4_; T3_ = lteqpercent___system_985(x, b); LA4_: ; result = T3_; return result; } N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = isOnStack__system_5297(((void*) (dest))); if (!!(T3_)) goto LA4_; { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_; if (!!((src == NIM_NIL))) goto LA8_; T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T10_ = usrToCell__system_5271(src); incRef__system_5309(T10_); } LA8_: ; { NIM_BOOL T13_; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T16_; T13_ = (NIM_BOOL)0; T13_ = lteqpercent___system_985(((NI) 4096), ((NI) (ptrdiff_t) ((*dest)))); if (!T13_) goto LA14_; T16_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T16_ = usrToCell__system_5271((*dest)); decRef__system_5316(T16_); } LA14_: ; } goto LA1_; LA4_: ; { } LA1_: ; (*dest) = src; } N_LIB_PRIVATE N_NIMCALL(void, add__system_2308)(NimStringDesc** x, NCSTRING y) { NI i; i = ((NI) 0); { if (!!((((void*) (y)) == NIM_NIL))) goto LA3_; { while (1) { if (!!(((NU8)(y[i]) == (NU8)(0)))) goto LA6; unsureAsgnRef((void**) (&(*x)), addChar((*x), y[i])); i += ((NI) 1); } LA6: ; } } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mnewString)(NI len) { NimStringDesc* result; result = (NimStringDesc*)0; result = rawNewString(len); (*result).Sup.len = len; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen) { NimStringDesc* result; NI n; result = (NimStringDesc*)0; n = ((newLen >= ((NI) 0)) ? newLen : ((NI) 0)); { if (!(s == ((NimStringDesc*) NIM_NIL))) goto LA3_; result = mnewString(newLen); } goto LA1_; LA3_: ; { if (!(n <= (NI)((*s).Sup.reserved & ((NI) IL64(4611686018427387903))))) goto LA6_; result = s; } goto LA1_; LA6_: ; { NI sp; NI T9_; T9_ = (NI)0; T9_ = resize__system_5895((NI)((*s).Sup.reserved & ((NI) IL64(4611686018427387903)))); sp = ((T9_ >= newLen) ? T9_ : newLen); result = rawNewStringNoInit(sp); (*result).Sup.len = (*s).Sup.len; copyMem__system_1727(((void*) ((&(*result).data[((NI) 0)]))), ((void*) ((&(*s).data[((NI) 0)]))), ((NI) ((NI)((*s).Sup.len + ((NI) 1))))); zeroMem__system_1724(((void*) ((&(*result).data[(*s).Sup.len]))), ((NI) ((NI)(newLen - (*s).Sup.len)))); (*result).Sup.reserved = sp; } LA1_: ; (*result).Sup.len = n; (*result).data[n] = 0; return result; } static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) { addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x))); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_2723)(tySequence__uB9b75OUPRENsBAu4AnoePA* stackTraceEntries) { NimStringDesc* result; tySequence__uB9b75OUPRENsBAu4AnoePA* s; result = NIM_NIL; s = stackTraceEntries; result = rawNewString(((NI) 2000)); { NI i; NI colontmp_; NI T2_; NI res; i = (NI)0; colontmp_ = (NI)0; T2_ = (s ? s->Sup.len : 0); colontmp_ = (NI)(T2_ - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA4; i = res; { if (!(s->data[i].line == ((NI) -10))) goto LA7_; result = resizeString(result, 17); appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_9)); } goto LA5_; LA7_: ; { if (!(s->data[i].line == ((NI) -100))) goto LA10_; result = resizeString(result, 3); appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_10)); } goto LA5_; LA10_: ; { NI oldLenX60gensym69_; oldLenX60gensym69_ = (result ? result->Sup.len : 0); add__system_2308((&result), s->data[i].filename); { if (!(((NI) 0) < s->data[i].line)) goto LA15_; result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_11)); addInt__stdZprivateZdigitsutils_189((&result), s->data[i].line); { if (!NIM_FALSE) goto LA19_; result = resizeString(result, 2); appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_12)); addInt__stdZprivateZdigitsutils_189((&result), ((NI) 0)); } LA19_: ; result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_13)); } LA15_: ; { NI kX60gensym69_; NI colontmp__2; NI res_2; kX60gensym69_ = (NI)0; colontmp__2 = (NI)0; colontmp__2 = ((((NI) 1) >= (NI)(((NI) 25) - (NI)((result ? result->Sup.len : 0) - oldLenX60gensym69_))) ? ((NI) 1) : (NI)(((NI) 25) - (NI)((result ? result->Sup.len : 0) - oldLenX60gensym69_))); res_2 = ((NI) 1); { while (1) { if (!(res_2 <= colontmp__2)) goto LA23; kX60gensym69_ = res_2; result = addChar(result, 32); res_2 += ((NI) 1); } LA23: ; } } add__system_2308((&result), s->data[i].procname); result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_14)); } LA5_: ; res += ((NI) 1); } LA4: ; } } return result; } static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) { NCSTRING result; result = (NCSTRING)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (s == ((NimStringDesc*) NIM_NIL)); if (T3_) goto LA4_; T3_ = ((*s).Sup.len == ((NI) 0)); LA4_: ; if (!T3_) goto LA5_; result = ""; } goto LA1_; LA5_: ; { result = ((NCSTRING) ((*s).data)); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledErrorAux__system_2752)(Exception* e) { tyArray__gpc2RrLEcWgv7ONpLYNHOw buf; NI L; nimZeroMem((void*)buf, sizeof(tyArray__gpc2RrLEcWgv7ONpLYNHOw)); L = ((NI) 0); { NI T3_; NimStringDesc* trace; T3_ = ((*e).trace ? (*e).trace->Sup.len : 0); if (!!((T3_ == ((NI) 0)))) goto LA4_; trace = dollar___system_2723((*e).trace); { if (!((NI)(L + (trace ? trace->Sup.len : 0)) < ((NI) 2000))) goto LA8_; copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) (nimToCStringConv(trace))), ((NI) ((trace ? trace->Sup.len : 0)))); L += (trace ? trace->Sup.len : 0); } LA8_: ; eqdestroy___systemZassertions_23((&trace)); } LA4_: ; { if (!((NI)(L + ((NI) 28)) < ((NI) 2000))) goto LA12_; copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) ("Error: unhandled exception: ")), ((NI) 28)); L += ((NI) 28); } LA12_: ; { if (!((NI)(L + ((*e).message ? (*e).message->Sup.len : 0)) < ((NI) 2000))) goto LA16_; copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) (nimToCStringConv((*e).message))), ((NI) (((*e).message ? (*e).message->Sup.len : 0)))); L += ((*e).message ? (*e).message->Sup.len : 0); } LA16_: ; { if (!((NI)(L + ((NI) 2)) < ((NI) 2000))) goto LA20_; copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) (" [")), ((NI) 2)); L += ((NI) 2); } LA20_: ; { if (!((NI)(L + ((*e).name ? nimCStrLen((*e).name) : 0)) < ((NI) 2000))) goto LA24_; copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) ((*e).name)), ((NI) (((*e).name ? nimCStrLen((*e).name) : 0)))); L += ((*e).name ? nimCStrLen((*e).name) : 0); } LA24_: ; { if (!((NI)(L + ((NI) 2)) < ((NI) 2000))) goto LA28_; copyMem__system_1727(((void*) ((&buf[(L)- 0]))), ((void*) ("]\012")), ((NI) 2)); L += ((NI) 2); } LA28_: ; { NimStringDesc* T34_; if (!!((onUnhandledException__system_2751 == NIM_NIL))) goto LA32_; T34_ = NIM_NIL; T34_ = cstrToNimstr(((NCSTRING) (buf))); onUnhandledException__system_2751(T34_); } goto LA30_; LA32_: ; { showErrorMessage__system_2536(((NCSTRING) (buf)), L); } LA30_: ; } N_LIB_PRIVATE N_NIMCALL(void, reportUnhandledError__system_2855)(Exception* e) { { if (!!((unhandledExceptionHook__system_2299 == NIM_NIL))) goto LA3_; unhandledExceptionHook__system_2299(e); } LA3_: ; reportUnhandledErrorAux__system_2752(e); } N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionAux__system_2866)(Exception* e) { { { if (!!((localRaiseHook__system_2294 == NIM_NIL))) goto LA3_; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = localRaiseHook__system_2294(e); if (!!(T7_)) goto LA8_; goto BeforeRet_; } LA8_: ; } LA3_: ; { if (!!((globalRaiseHook__system_2291 == NIM_NIL))) goto LA12_; { NIM_BOOL T16_; T16_ = (NIM_BOOL)0; T16_ = globalRaiseHook__system_2291(e); if (!!(T16_)) goto LA17_; goto BeforeRet_; } LA17_: ; } LA12_: ; { if (!!((excHandler__system_2565 == ((TSafePoint*) NIM_NIL)))) goto LA21_; pushCurrentException(e); _longjmp((*excHandler__system_2565).context, ((int) 1)); } goto LA19_; LA21_: ; { reportUnhandledError__system_2855(e); exit(((NI) 1)); } LA19_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line) { { if (!((*e).name == 0)) goto LA3_; (*e).name = ename; } LA3_: ; { NIM_BOOL T7_; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA T11_; NI T12_; T7_ = (NIM_BOOL)0; T7_ = !((((void*) (procname)) == NIM_NIL)); if (!(T7_)) goto LA8_; T7_ = !((((void*) (filename)) == NIM_NIL)); LA8_: ; if (!T7_) goto LA9_; nimZeroMem((void*)(&T11_), sizeof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA)); T11_.procname = procname; T11_.filename = filename; T11_.line = line; asgnRef((void**) (&(*e).trace), (tySequence__uB9b75OUPRENsBAu4AnoePA*) incrSeqV3((TGenericSeq*)((*e).trace), (&NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_))); T12_ = (*e).trace->Sup.len++; (*e).trace->data[T12_] = T11_; } LA9_: ; raiseExceptionAux__system_2866(e); } static N_INLINE(void, sysFatal__system_2898)(NimStringDesc* message) { tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g* T1_; NimStringDesc* T2_; T1_ = NIM_NIL; T1_ = (tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*) newObj((&NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_), sizeof(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g)); (*T1_).Sup.Sup.Sup.m_type = (&NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_); (*T1_).Sup.Sup.name = "ReraiseDefect"; T2_ = NIM_NIL; T2_ = (*T1_).Sup.Sup.message; (*T1_).Sup.Sup.message = copyStringRC1(message); if (T2_) nimGCunrefNoCycle(T2_); raiseExceptionEx((Exception*)T1_, "ReraiseDefect", "sysFatal", "fatal.nim", 53); } N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void) { { if (!(currException__system_2566 == ((Exception*) NIM_NIL))) goto LA3_; sysFatal__system_2898(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_15)); } goto LA1_; LA3_: ; { raiseExceptionAux__system_2866(currException__system_2566); } LA1_: ; } static N_INLINE(void, rawWriteString)(FILE* f, NCSTRING s, NI length) { int T1_; int T2_; T1_ = (int)0; T1_ = fwrite(((void*) (s)), ((size_t) 1), ((size_t) (length)), f); (void)(T1_); T2_ = (int)0; T2_ = fflush(f); (void)(T2_); } N_LIB_PRIVATE N_NIMCALL(void, writeToStdErr__system_2531)(NCSTRING msg, NI length) { rawWriteString(__stderrp, msg, length); } N_LIB_PRIVATE N_NIMCALL(void, showErrorMessage__system_2536)(NCSTRING data, NI length) { NIM_BOOL volatile toWrite; toWrite = NIM_TRUE; { TSafePoint TM__Q5wkpxktOdTGvlSRo9bzt9aw_5; NimStringDesc* T5_; if (!!((errorMessageWriter__system_2528 == NIM_NIL))) goto LA3_; pushSafePoint(&TM__Q5wkpxktOdTGvlSRo9bzt9aw_5); TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status = _setjmp(TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.context); if (TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status == 0) { T5_ = NIM_NIL; T5_ = cstrToNimstr(data); errorMessageWriter__system_2528(T5_); toWrite = NIM_FALSE; popSafePoint(); } else { popSafePoint(); { TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status = 0; popCurrentException(); } } if (TM__Q5wkpxktOdTGvlSRo9bzt9aw_5.status != 0) reraiseException(); } LA3_: ; { if (!toWrite) goto LA10_; writeToStdErr__system_2531(data, length); } LA10_: ; } N_LIB_PRIVATE N_NOCONV(void, signalHandler)(int sign) { NCSTRING msg; tyProc__ZEo3s9cIqJYP74f7GMZM2FA T26_; int T27_; msg = (NCSTRING)0; { if (!(sign == ((int) 2))) goto LA3_; msg = "SIGINT: Interrupted by Ctrl-C.\012"; } goto LA1_; LA3_: ; { if (!(sign == ((int) 11))) goto LA6_; msg = "SIGSEGV: Illegal storage access. (Attempt to read from nil\?)\012"; } goto LA1_; LA6_: ; { if (!(sign == ((int) 6))) goto LA9_; msg = "SIGABRT: Abnormal termination.\012"; } goto LA1_; LA9_: ; { if (!(sign == ((int) 8))) goto LA12_; msg = "SIGFPE: Arithmetic error.\012"; } goto LA1_; LA12_: ; { if (!(sign == ((int) 4))) goto LA15_; msg = "SIGILL: Illegal operation.\012"; } goto LA1_; LA15_: ; { if (!NIM_FALSE) goto LA18_; msg = "SIGBUS: Illegal storage access. (Attempt to read from nil\?)\012"; } goto LA1_; LA18_: ; { { { if (!(sign == ((int) 13))) goto LA24_; msg = "SIGPIPE: Pipe closed.\012"; goto LA21; } LA24_: ; msg = "unknown signal\012"; } LA21: ; } LA1_: ; showErrorMessage__system_2536(msg, (msg ? nimCStrLen(msg) : 0)); T26_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T26_ = signal(sign, ((tyProc__ZEo3s9cIqJYP74f7GMZM2FA) 0)); T27_ = (int)0; T27_ = raise(sign); (void)(T27_); } N_LIB_PRIVATE N_NIMCALL(void, registerSignalHandler__system_2992)(void) { tyProc__ZEo3s9cIqJYP74f7GMZM2FA T1_; tyProc__ZEo3s9cIqJYP74f7GMZM2FA T2_; tyProc__ZEo3s9cIqJYP74f7GMZM2FA T3_; tyProc__ZEo3s9cIqJYP74f7GMZM2FA T4_; tyProc__ZEo3s9cIqJYP74f7GMZM2FA T5_; tyProc__ZEo3s9cIqJYP74f7GMZM2FA T6_; T1_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T1_ = signal(((int) 2), signalHandler); T2_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T2_ = signal(((int) 11), signalHandler); T3_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T3_ = signal(((int) 6), signalHandler); T4_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T4_ = signal(((int) 8), signalHandler); T5_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T5_ = signal(((int) 4), signalHandler); T6_ = (tyProc__ZEo3s9cIqJYP74f7GMZM2FA)0; T6_ = signal(((int) 13), SIG_IGN); } N_LIB_PRIVATE N_NIMCALL(NI, getRefcount)(void* p) { NI result; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_; result = (NI)0; T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = usrToCell__system_5271(p); result = (NI)((NI64)((*T1_).refcount) >> (NU64)(((NI) 3))); return result; } N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc) { { if (!(globalMarkersLen <= ((NI) 3499))) goto LA3_; globalMarkers[(globalMarkersLen)- 0] = markerProc; globalMarkersLen += ((NI) 1); } goto LA1_; LA3_: ; { rawWrite(__stderrp, "[GC] cannot register global variable; too many global variables"); exit(((NI) 1)); } LA1_: ; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ) { NimStringDesc* result; TNimNode* n; NimStringDesc* T19_; NimStringDesc* T20_; { result = NIM_NIL; n = (*typ).node; { NI o; if (!!((((*typ).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 2))&7U)))!=0))) goto LA3_; o = (NI)(e - (*(*n).sons[(((NI) 0))- 0]).offset); { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = (((NI) 0) <= o); if (!(T7_)) goto LA8_; T7_ = ltpercent___system_1005(o, (*(*typ).node).len); LA8_: ; if (!T7_) goto LA9_; result = cstrToNimstr((*(*n).sons[(o)- 0]).name); goto BeforeRet_; } LA9_: ; } goto LA1_; LA3_: ; { TNimNode** s; s = (*n).sons; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*n).len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA14; i = res; { if (!((*s[(i)- 0]).offset == e)) goto LA17_; result = cstrToNimstr((*s[(i)- 0]).name); goto BeforeRet_; } LA17_: ; res += ((NI) 1); } LA14: ; } } } LA1_: ; T19_ = NIM_NIL; T20_ = NIM_NIL; T20_ = dollar___systemZdollars_3(e); T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 16); appendString(T19_, T20_); appendString(T19_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_16)); result = T19_; }BeforeRet_: ; return result; } static N_NIMCALL(void, Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q)(void* p, NI op) { tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* a; a = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)p; nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src) { NimStringDesc* result; result = (NimStringDesc*)0; { if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_; { if (!!(((NI)((*src).Sup.reserved & ((NI) (IL64(-9223372036854775807) - IL64(1)))) == ((NI) 0)))) goto LA7_; result = src; } goto LA5_; LA7_: ; { result = rawNewStringNoInit((*src).Sup.len); (*result).Sup.len = (*src).Sup.len; copyMem__system_1727(((void*) ((*result).data)), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1))))); } LA5_: ; } LA3_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void*, dataPointer__system_5889)(TGenericSeq* a, NI elemAlign, NI elemSize, NI index) { void* result; NI T1_; NI T2_; NI T3_; NI T4_; result = (void*)0; T1_ = (NI)0; T1_ = align__system_1624(((NI) 16), elemAlign); T2_ = (NI)0; T2_ = pluspercent___system_696(((NI) (ptrdiff_t) (a)), T1_); T3_ = (NI)0; T3_ = starpercent___system_736(index, elemSize); T4_ = (NI)0; T4_ = pluspercent___system_696(T2_, T3_); result = ((void*) (T4_)); return result; } N_LIB_PRIVATE N_NIMCALL(TNimType*, extGetCellType)(void* c) { TNimType* result; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_; result = (TNimType*)0; T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = usrToCell__system_5271(c); result = (*T1_).typ; return result; } N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen) { TGenericSeq* result; result = (TGenericSeq*)0; { void* T5_; if (!(s == ((TGenericSeq*) NIM_NIL))) goto LA3_; T5_ = (void*)0; T5_ = newSeq(typ, newLen); result = ((TGenericSeq*) (T5_)); } goto LA1_; LA3_: ; { NI elemSize; NI elemAlign; elemSize = (*(*typ).base).size; elemAlign = (*(*typ).base).align; { NI r; NI T11_; void* T12_; void* T13_; void* T14_; if (!((NI)((*s).reserved & ((NI) IL64(4611686018427387903))) < newLen)) goto LA9_; T11_ = (NI)0; T11_ = resize__system_5895((NI)((*s).reserved & ((NI) IL64(4611686018427387903)))); r = ((T11_ >= newLen) ? T11_ : newLen); T12_ = (void*)0; T12_ = newSeq(typ, r); result = ((TGenericSeq*) (T12_)); T13_ = (void*)0; T13_ = dataPointer__system_5885(result, elemAlign); T14_ = (void*)0; T14_ = dataPointer__system_5885(s, elemAlign); copyMem__system_1727(T13_, T14_, ((NI) ((NI)((*s).len * elemSize)))); (*s).len = ((NI) 0); } goto LA7_; LA9_: ; { void* T27_; NI T28_; NI T29_; if (!(newLen < (*s).len)) goto LA16_; result = s; { if (!!((((*(*typ).base).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0))) goto LA20_; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*result).len - ((NI) 1)); res = newLen; { while (1) { void* T25_; TNimType* T26_; if (!(res <= colontmp_)) goto LA24; i = res; T25_ = (void*)0; T25_ = dataPointer__system_5889(result, elemAlign, elemSize, i); T26_ = (TNimType*)0; T26_ = extGetCellType(((void*) (result))); forAllChildrenAux__system_5305(T25_, (*T26_).base, ((tyEnum_WalkOp__Wfy7gT5VQ8B3aJBxqU8D9cQ) 2)); res += ((NI) 1); } LA24: ; } } } LA20_: ; T27_ = (void*)0; T27_ = dataPointer__system_5889(result, elemAlign, elemSize, newLen); T28_ = (NI)0; T28_ = minuspercent___system_716((*result).len, newLen); T29_ = (NI)0; T29_ = starpercent___system_736(T28_, elemSize); zeroMem__system_1724(T27_, ((NI) (T29_))); } goto LA7_; LA16_: ; { void* T31_; NI T32_; NI T33_; result = s; T31_ = (void*)0; T31_ = dataPointer__system_5889(result, elemAlign, elemSize, (*result).len); T32_ = (NI)0; T32_ = minuspercent___system_716(newLen, (*result).len); T33_ = (NI)0; T33_ = starpercent___system_736(T32_, elemSize); zeroMem__system_1724(T31_, ((NI) (T33_))); } LA7_: ; (*result).len = newLen; } LA1_: ; return result; } static N_NIMCALL(void, Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ)(void* p, NI op) { tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ* a; a = (tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7744)(NimStringDesc* s, NI first, NI last) { NimStringDesc* result; NI first_2; NI L; result = NIM_NIL; first_2 = ((first >= ((NI) 0)) ? first : ((NI) 0)); L = (((NI)((NI)(((last <= ((s ? s->Sup.len : 0)-1)) ? last : ((s ? s->Sup.len : 0)-1)) - first_2) + ((NI) 1)) >= ((NI) 0)) ? (NI)((NI)(((last <= ((s ? s->Sup.len : 0)-1)) ? last : ((s ? s->Sup.len : 0)-1)) - first_2) + ((NI) 1)) : ((NI) 0)); result = mnewString(((NI) (L))); { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)(L - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA3; i = res; result->data[i] = s->data[(NI)(i + first_2)]; res += ((NI) 1); } LA3: ; } } return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x) { NimStringDesc* result; result = NIM_NIL; result = mnewString(((NI) 1)); result->data[((NI) 0)] = x; return result; } N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x) { tyArray__eVNFTutn6un5gcq48fQLdg buffer; NI n; n = writeFloatToBufferRoundtrip__systemZformatfloat_13(buffer, x); addCstringN__systemZformatfloat_5(result, ((NCSTRING) ((&buffer[(((NI) 0))- 0]))), n); } N_LIB_PRIVATE N_NIMCALL(void, GC_disableMarkAndSweep__system_2267)(void) { gch__system_5218.cycleThreshold = ((NI) IL64(9223372036854775806)); } N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len) { void* result; NI size; NI T1_; NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_17; NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_18; result = (void*)0; T1_ = (NI)0; T1_ = align__system_1624(((NI) 16), (*(*typ).base).align); if (nimMulInt(len, (*(*typ).base).size, &TM__Q5wkpxktOdTGvlSRo9bzt9aw_17)) { raiseOverflow(); }; if (nimAddInt(T1_, (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_17), &TM__Q5wkpxktOdTGvlSRo9bzt9aw_18)) { raiseOverflow(); }; size = (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_18); result = newObjRC1(typ, size); (*((TGenericSeq*) (result))).len = len; (*((TGenericSeq*) (result))).reserved = len; return result; } N_LIB_PRIVATE N_NIMCALL(void*, nimNewSeqOfCap)(TNimType* typ, NI cap) { void* result; NI s; NI T1_; NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_19; NI TM__Q5wkpxktOdTGvlSRo9bzt9aw_20; result = (void*)0; T1_ = (NI)0; T1_ = align__system_1624(((NI) 16), (*(*typ).base).align); if (nimMulInt(cap, (*(*typ).base).size, &TM__Q5wkpxktOdTGvlSRo9bzt9aw_19)) { raiseOverflow(); }; if (nimAddInt(T1_, (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_19), &TM__Q5wkpxktOdTGvlSRo9bzt9aw_20)) { raiseOverflow(); }; s = (NI)(TM__Q5wkpxktOdTGvlSRo9bzt9aw_20); { if (!(((*(*typ).base).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0)) goto LA4_; result = newObjNoInit(typ, s); } goto LA2_; LA4_: ; { result = newObj(typ, s); } LA2_: ; (*((TGenericSeq*) (result))).len = ((NI) 0); (*((TGenericSeq*) (result))).reserved = cap; return result; } N_LIB_PRIVATE N_NIMCALL(void, genericReset)(void* dest, TNimType* mt) { NI d; d = ((NI) (ptrdiff_t) (dest)); switch ((*mt).kind) { case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22): { unsureAsgnRef(((void**) (dest)), NIM_NIL); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28): { unsureAsgnRef(((void**) (dest)), NIM_NIL); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24): { unsureAsgnRef(((void**) (dest)), NIM_NIL); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18): { genericResetAux__system_6403(dest, (*mt).node); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17): { TNimType** pint; genericResetAux__system_6403(dest, (*mt).node); pint = ((TNimType**) (dest)); (*pint) = ((TNimType*) NIM_NIL); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((NI)((*mt).size / (*(*mt).base).size) - ((NI) 1)); res = ((NI) 0); { while (1) { NI T10_; NI T11_; if (!(res <= colontmp_)) goto LA9; i = res; T10_ = (NI)0; T10_ = starpercent___system_736(i, (*(*mt).base).size); T11_ = (NI)0; T11_ = pluspercent___system_696(d, T10_); genericReset(((void*) (T11_)), (*mt).base); res += ((NI) 1); } LA9: ; } } } break; default: { zeroMem__system_1724(dest, ((NI) ((*mt).size))); } break; } } N_LIB_PRIVATE N_NIMCALL(void, genericResetAux__system_6403)(void* dest, TNimNode* n) { NI d; d = ((NI) (ptrdiff_t) (dest)); switch ((*n).kind) { case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0): { } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1): { NI T3_; T3_ = (NI)0; T3_ = pluspercent___system_696(d, (*n).offset); genericReset(((void*) (T3_)), (*n).typ); } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*n).len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA7; i = res; genericResetAux__system_6403(dest, (*n).sons[(i)- 0]); res += ((NI) 1); } LA7: ; } } } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* m; NI T13_; m = selectBranch__system_3645(dest, n); { if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA11_; genericResetAux__system_6403(dest, m); } LA11_: ; T13_ = (NI)0; T13_ = pluspercent___system_696(d, (*n).offset); zeroMem__system_1724(((void*) (T13_)), ((NI) ((*(*n).typ).size))); } break; } } N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6411)(void* dest, void* src, TNimNode* n, NIM_BOOL shallow) { NI d; NI s; d = ((NI) (ptrdiff_t) (dest)); s = ((NI) (ptrdiff_t) (src)); switch ((*n).kind) { case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1): { NI T2_; NI T3_; T2_ = (NI)0; T2_ = pluspercent___system_696(d, (*n).offset); T3_ = (NI)0; T3_ = pluspercent___system_696(s, (*n).offset); genericAssignAux__system_6406(((void*) (T2_)), ((void*) (T3_)), (*n).typ, shallow); } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*n).len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA7; i = res; genericAssignAux__system_6411(dest, src, (*n).sons[(i)- 0], shallow); res += ((NI) 1); } LA7: ; } } } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* dd; TNimNode* m; NI T15_; NI T16_; dd = selectBranch__system_3645(dest, n); m = selectBranch__system_3645(src, n); { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = !((m == dd)); if (!(T11_)) goto LA12_; T11_ = !((dd == ((TNimNode*) NIM_NIL))); LA12_: ; if (!T11_) goto LA13_; genericResetAux__system_6403(dest, dd); } LA13_: ; T15_ = (NI)0; T15_ = pluspercent___system_696(d, (*n).offset); T16_ = (NI)0; T16_ = pluspercent___system_696(s, (*n).offset); copyMem__system_1727(((void*) (T15_)), ((void*) (T16_)), ((NI) ((*(*n).typ).size))); { if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA19_; genericAssignAux__system_6411(dest, src, m, shallow); } LA19_: ; } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0): { } break; } } static N_NIMCALL(void, Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw)(void* p, NI op) { tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g* a; a = (tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } static N_INLINE(void, sysFatal__system_3290)(NimStringDesc* message) { tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g* T1_; NimStringDesc* T2_; T1_ = NIM_NIL; T1_ = (tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*) newObj((&NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_), sizeof(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g)); (*T1_).Sup.Sup.Sup.m_type = (&NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_); (*T1_).Sup.Sup.name = "ObjectAssignmentDefect"; T2_ = NIM_NIL; T2_ = (*T1_).Sup.Sup.message; (*T1_).Sup.Sup.message = copyStringRC1(message); if (T2_) nimGCunrefNoCycle(T2_); raiseExceptionEx((Exception*)T1_, "ObjectAssignmentDefect", "sysFatal", "fatal.nim", 53); } static N_INLINE(void, chckObjAsgn)(TNimType* a, TNimType* b) { { if (!!((a == b))) goto LA3_; sysFatal__system_3290(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_21)); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, genericAssignAux__system_6406)(void* dest, void* src, TNimType* mt, NIM_BOOL shallow) { NI d; NI s; { d = ((NI) (ptrdiff_t) (dest)); s = ((NI) (ptrdiff_t) (src)); switch ((*mt).kind) { case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 28): { void** x; void* s2; x = ((void**) (dest)); s2 = (*((void**) (s))); { NIM_BOOL T4_; NIM_BOOL T5_; T4_ = (NIM_BOOL)0; T5_ = (NIM_BOOL)0; T5_ = (s2 == NIM_NIL); if (T5_) goto LA6_; T5_ = shallow; LA6_: ; T4_ = T5_; if (T4_) goto LA7_; T4_ = !(((NI)((*((TGenericSeq*) (s2))).reserved & ((NI) (IL64(-9223372036854775807) - IL64(1)))) == ((NI) 0))); LA7_: ; if (!T4_) goto LA8_; unsureAsgnRef(x, s2); } goto LA2_; LA8_: ; { NimStringDesc* T11_; T11_ = (NimStringDesc*)0; T11_ = copyString(((NimStringDesc*) (s2))); unsureAsgnRef(x, ((void*) (T11_))); } LA2_: ; } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 24): { void* s2_2; TGenericSeq* seq; void** x_2; s2_2 = (*((void**) (src))); seq = ((TGenericSeq*) (s2_2)); x_2 = ((void**) (dest)); { NIM_BOOL T15_; NIM_BOOL T16_; T15_ = (NIM_BOOL)0; T16_ = (NIM_BOOL)0; T16_ = (s2_2 == NIM_NIL); if (T16_) goto LA17_; T16_ = shallow; LA17_: ; T15_ = T16_; if (T15_) goto LA18_; T15_ = !(((NI)((*seq).reserved & ((NI) (IL64(-9223372036854775807) - IL64(1)))) == ((NI) 0))); LA18_: ; if (!T15_) goto LA19_; unsureAsgnRef(x_2, s2_2); goto BeforeRet_; } LA19_: ; { void* ss; NI dst; NI T25_; NI T26_; NI T27_; NI T28_; NI T29_; if (!(((*(*mt).base).flags &((NU8)1<<((NU)(((tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ) 0))&7U)))!=0)) goto LA23_; ss = nimNewSeqOfCap(mt, (*seq).len); (*((TGenericSeq*) (ss))).len = (*seq).len; unsureAsgnRef(x_2, ss); dst = ((NI) (ptrdiff_t) ((*((void**) (dest))))); T25_ = (NI)0; T25_ = align__system_1624(((NI) 16), (*(*mt).base).align); T26_ = (NI)0; T26_ = pluspercent___system_696(dst, T25_); T27_ = (NI)0; T27_ = align__system_1624(((NI) 16), (*(*mt).base).align); T28_ = (NI)0; T28_ = pluspercent___system_696(((NI) (ptrdiff_t) (s2_2)), T27_); T29_ = (NI)0; T29_ = starpercent___system_736((*seq).len, (*(*mt).base).size); copyMem__system_1727(((void*) (T26_)), ((void*) (T28_)), ((NI) (T29_))); } goto LA21_; LA23_: ; { void* T31_; NI dst_2; T31_ = (void*)0; T31_ = newSeq(mt, (*seq).len); unsureAsgnRef(x_2, T31_); dst_2 = ((NI) (ptrdiff_t) ((*((void**) (dest))))); { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*seq).len - ((NI) 1)); res = ((NI) 0); { while (1) { NI T35_; NI T36_; NI T37_; NI T38_; NI T39_; NI T40_; NI T41_; NI T42_; if (!(res <= colontmp_)) goto LA34; i = res; T35_ = (NI)0; T35_ = align__system_1624(((NI) 16), (*(*mt).base).align); T36_ = (NI)0; T36_ = pluspercent___system_696(dst_2, T35_); T37_ = (NI)0; T37_ = starpercent___system_736(i, (*(*mt).base).size); T38_ = (NI)0; T38_ = pluspercent___system_696(T36_, T37_); T39_ = (NI)0; T39_ = align__system_1624(((NI) 16), (*(*mt).base).align); T40_ = (NI)0; T40_ = pluspercent___system_696(((NI) (ptrdiff_t) (s2_2)), T39_); T41_ = (NI)0; T41_ = starpercent___system_736(i, (*(*mt).base).size); T42_ = (NI)0; T42_ = pluspercent___system_696(T40_, T41_); genericAssignAux__system_6406(((void*) (T38_)), ((void*) (T42_)), (*mt).base, shallow); res += ((NI) 1); } LA34: ; } } } LA21_: ; } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17): { TNimType* it; TNimType** pint; TNimType* srcType; it = (*mt).base; { while (1) { if (!!((it == ((TNimType*) NIM_NIL)))) goto LA45; genericAssignAux__system_6411(dest, src, (*it).node, shallow); it = (*it).base; } LA45: ; } genericAssignAux__system_6411(dest, src, (*mt).node, shallow); pint = ((TNimType**) (dest)); srcType = (*((TNimType**) (src))); { if (!!((srcType == ((TNimType*) NIM_NIL)))) goto LA48_; chckObjAsgn(srcType, mt); } LA48_: ; (*pint) = mt; } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18): { genericAssignAux__system_6411(dest, src, (*mt).node, shallow); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4): { { NI i_2; NI colontmp__2; NI res_2; i_2 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = (NI)((NI)((*mt).size / (*(*mt).base).size) - ((NI) 1)); res_2 = ((NI) 0); { while (1) { NI T55_; NI T56_; NI T57_; NI T58_; if (!(res_2 <= colontmp__2)) goto LA54; i_2 = res_2; T55_ = (NI)0; T55_ = starpercent___system_736(i_2, (*(*mt).base).size); T56_ = (NI)0; T56_ = pluspercent___system_696(d, T55_); T57_ = (NI)0; T57_ = starpercent___system_736(i_2, (*(*mt).base).size); T58_ = (NI)0; T58_ = pluspercent___system_696(s, T57_); genericAssignAux__system_6406(((void*) (T56_)), ((void*) (T58_)), (*mt).base, shallow); res_2 += ((NI) 1); } LA54: ; } } } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 22): { unsureAsgnRef(((void**) (dest)), (*((void**) (s)))); } break; default: { copyMem__system_1727(dest, src, ((NI) ((*mt).size))); } break; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt) { genericAssignAux__system_6406(dest, src, mt, NIM_FALSE); } N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt) { void* src_2; src_2 = src; genericAssign(dest, ((void*) ((&src_2))), mt); } static N_NIMCALL(void, Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw)(void* p, NI op) { tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ* a; a = (tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7756)(NimStringDesc* s, NI first) { NimStringDesc* result; result = NIM_NIL; result = substr__system_7744(s, first, ((s ? s->Sup.len : 0)-1)); return result; } N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s) { NI result; NU h; result = (NI)0; h = ((NU) 0); { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((s ? s->Sup.len : 0) - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA3; i = res; h = (NU)((NU64)(h) + (NU64)(((NU) (((NU8)(s->data[i])))))); h = (NU)((NU64)(h) + (NU64)((NU)((NU64)(h) << (NU64)(((NI) 10))))); h = (NU)(h ^ (NU)((NU64)(h) >> (NU64)(((NI) 6)))); res += ((NI) 1); } LA3: ; } } h = (NU)((NU64)(h) + (NU64)((NU)((NU64)(h) << (NU64)(((NI) 3))))); h = (NU)(h ^ (NU)((NU64)(h) >> (NU64)(((NI) 11)))); h = (NU)((NU64)(h) + (NU64)((NU)((NU64)(h) << (NU64)(((NI) 15))))); result = ((NI) (h)); return result; } static N_NIMCALL(void, Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw)(void* p, NI op) { tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* a; a = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) { int result; result = (int)0; result = memcmp(a, b, ((size_t) (size))); return result; } N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y) { NI result; NI minlen; int T1_; result = (NI)0; minlen = (((x ? x->Sup.len : 0) <= (y ? y->Sup.len : 0)) ? (x ? x->Sup.len : 0) : (y ? y->Sup.len : 0)); T1_ = (int)0; T1_ = nimCmpMem(((void*) (nimToCStringConv(x))), ((void*) (nimToCStringConv(y))), ((NI) (((size_t) (minlen))))); result = ((NI) (T1_)); { if (!(result == ((NI) 0))) goto LA4_; result = (NI)((x ? x->Sup.len : 0) - (y ? y->Sup.len : 0)); } LA4_: ; return result; } static N_NIMCALL(void, Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg)(void* p, NI op) { tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* a; a = (tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void) { { if (!!((excHandler__system_2565 == ((TSafePoint*) NIM_NIL)))) goto LA3_; _longjmp((*excHandler__system_2565).context, ((int) 1)); } goto LA1_; LA3_: ; { reportUnhandledError__system_2855(currException__system_2566); exit(((NI) 1)); } LA1_: ; } static N_NIMCALL(void, Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ)(void* p, NI op) { tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* a; a = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*)p; nimGCvisit((void*)(*a).Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.up, op); } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass) { NIM_BOOL result; TNimType* x; { result = (NIM_BOOL)0; x = obj; { if (!(x == subclass)) goto LA3_; result = NIM_TRUE; goto BeforeRet_; } LA3_: ; { while (1) { if (!!((x == subclass))) goto LA6; { if (!(x == ((TNimType*) NIM_NIL))) goto LA9_; result = NIM_FALSE; goto BeforeRet_; } LA9_: ; x = (*x).base; } LA6: ; } result = NIM_TRUE; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, quit__system_7174)(NimStringDesc* errormsg, NI errorcode) { rawWrite(__stderrp, nimToCStringConv(errormsg)); rawWrite(__stderrp, "\012"); exit(errorcode); } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stackTraceAvailable__system_2747)(void) { NIM_BOOL result; result = (NIM_BOOL)0; result = NIM_FALSE; return result; } static N_INLINE(void, showErrorMessage2__system_2544)(NimStringDesc* data) { showErrorMessage__system_2536(nimToCStringConv(data), (data ? data->Sup.len : 0)); } N_LIB_PRIVATE N_NIMCALL(void, writeStackTrace__system_2161)(void) { NimStringDesc* s; s = copyString(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_22)); showErrorMessage2__system_2544(s); } static N_NIMCALL(void, Marker_tyRef__LEclZrWX2FQAodlapxGITw)(void* p, NI op) { tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg* a; a = (tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*)p; nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op); nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op); } static N_NIMCALL(void, Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA)(void* p, NI op) { RootObj* a; a = (RootObj*)p; } N_LIB_PRIVATE N_NIMCALL(NI, nimParseBiggestFloat)(NimStringDesc* s, NF* number, NI start) { NI result; NI i; NF sign; NI kdigits; NI fdigits; NI exponent; NU64 integer; NI fracExponent; NI expSign; NI firstDigit; NIM_BOOL hasSign; NI realExponent; NIM_BOOL expNegative; NI absExponent; NI digits; tyArray__PGLh8drTnaWr3s1qUUSq2Q t; NI ti; NI maxlen; NI endPos; { result = (NI)0; i = start; sign = 1.0; kdigits = ((NI) 0); fdigits = ((NI) 0); exponent = ((NI) 0); integer = 0ULL; fracExponent = ((NI) 0); expSign = ((NI) 1); firstDigit = ((NI) -1); hasSign = NIM_FALSE; { NIM_BOOL T3_; NIM_BOOL T5_; T3_ = (NIM_BOOL)0; T3_ = (i < (s ? s->Sup.len : 0)); if (!(T3_)) goto LA4_; T5_ = (NIM_BOOL)0; T5_ = ((NU8)(s->data[i]) == (NU8)(43)); if (T5_) goto LA6_; T5_ = ((NU8)(s->data[i]) == (NU8)(45)); LA6_: ; T3_ = T5_; LA4_: ; if (!T3_) goto LA7_; hasSign = NIM_TRUE; { if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA11_; sign = -1.0; } LA11_: ; i += ((NI) 1); } LA7_: ; { NIM_BOOL T15_; NIM_BOOL T17_; T15_ = (NIM_BOOL)0; T15_ = ((NI)(i + ((NI) 2)) < (s ? s->Sup.len : 0)); if (!(T15_)) goto LA16_; T17_ = (NIM_BOOL)0; T17_ = ((NU8)(s->data[i]) == (NU8)(78)); if (T17_) goto LA18_; T17_ = ((NU8)(s->data[i]) == (NU8)(110)); LA18_: ; T15_ = T17_; LA16_: ; if (!T15_) goto LA19_; { NIM_BOOL T23_; T23_ = (NIM_BOOL)0; T23_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(65)); if (T23_) goto LA24_; T23_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(97)); LA24_: ; if (!T23_) goto LA25_; { NIM_BOOL T29_; T29_ = (NIM_BOOL)0; T29_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(78)); if (T29_) goto LA30_; T29_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(110)); LA30_: ; if (!T29_) goto LA31_; { NIM_BOOL T35_; T35_ = (NIM_BOOL)0; T35_ = ((s ? s->Sup.len : 0) <= (NI)(i + ((NI) 3))); if (T35_) goto LA36_; T35_ = !((((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(97)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(122)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(90)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(48)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(57)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) == ((NU8)(95)))); LA36_: ; if (!T35_) goto LA37_; (*number) = NAN; result = (NI)((NI)(i + ((NI) 3)) - start); goto BeforeRet_; } LA37_: ; } LA31_: ; } LA25_: ; result = ((NI) 0); goto BeforeRet_; } LA19_: ; { NIM_BOOL T41_; NIM_BOOL T43_; T41_ = (NIM_BOOL)0; T41_ = ((NI)(i + ((NI) 2)) < (s ? s->Sup.len : 0)); if (!(T41_)) goto LA42_; T43_ = (NIM_BOOL)0; T43_ = ((NU8)(s->data[i]) == (NU8)(73)); if (T43_) goto LA44_; T43_ = ((NU8)(s->data[i]) == (NU8)(105)); LA44_: ; T41_ = T43_; LA42_: ; if (!T41_) goto LA45_; { NIM_BOOL T49_; T49_ = (NIM_BOOL)0; T49_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(78)); if (T49_) goto LA50_; T49_ = ((NU8)(s->data[(NI)(i + ((NI) 1))]) == (NU8)(110)); LA50_: ; if (!T49_) goto LA51_; { NIM_BOOL T55_; T55_ = (NIM_BOOL)0; T55_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(70)); if (T55_) goto LA56_; T55_ = ((NU8)(s->data[(NI)(i + ((NI) 2))]) == (NU8)(102)); LA56_: ; if (!T55_) goto LA57_; { NIM_BOOL T61_; T61_ = (NIM_BOOL)0; T61_ = ((s ? s->Sup.len : 0) <= (NI)(i + ((NI) 3))); if (T61_) goto LA62_; T61_ = !((((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(97)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(122)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(90)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) >= ((NU8)(48)) && ((NU8)(s->data[(NI)(i + ((NI) 3))])) <= ((NU8)(57)) || ((NU8)(s->data[(NI)(i + ((NI) 3))])) == ((NU8)(95)))); LA62_: ; if (!T61_) goto LA63_; (*number) = ((NF)(INF) * (NF)(sign)); result = (NI)((NI)(i + ((NI) 3)) - start); goto BeforeRet_; } LA63_: ; } LA57_: ; } LA51_: ; result = ((NI) 0); goto BeforeRet_; } LA45_: ; { NIM_BOOL T67_; T67_ = (NIM_BOOL)0; T67_ = (i < (s ? s->Sup.len : 0)); if (!(T67_)) goto LA68_; T67_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))); LA68_: ; if (!T67_) goto LA69_; firstDigit = (NI)(((NU8)(s->data[i])) - ((NI) 48)); } LA69_: ; { while (1) { NIM_BOOL T73_; T73_ = (NIM_BOOL)0; T73_ = (i < (s ? s->Sup.len : 0)); if (!(T73_)) goto LA74_; T73_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))); LA74_: ; if (!T73_) goto LA72; kdigits += ((NI) 1); integer = (NU64)((NU64)((NU64)((NU64)(integer) * (NU64)(10ULL))) + (NU64)(((NU64) ((NI)(((NU8)(s->data[i])) - ((NI) 48)))))); i += ((NI) 1); { while (1) { NIM_BOOL T77_; T77_ = (NIM_BOOL)0; T77_ = (i < (s ? s->Sup.len : 0)); if (!(T77_)) goto LA78_; T77_ = ((NU8)(s->data[i]) == (NU8)(95)); LA78_: ; if (!T77_) goto LA76; i += ((NI) 1); } LA76: ; } } LA72: ; } { NIM_BOOL T81_; T81_ = (NIM_BOOL)0; T81_ = (i < (s ? s->Sup.len : 0)); if (!(T81_)) goto LA82_; T81_ = ((NU8)(s->data[i]) == (NU8)(46)); LA82_: ; if (!T81_) goto LA83_; i += ((NI) 1); { if (!(kdigits <= ((NI) 0))) goto LA87_; { while (1) { NIM_BOOL T91_; T91_ = (NIM_BOOL)0; T91_ = (i < (s ? s->Sup.len : 0)); if (!(T91_)) goto LA92_; T91_ = ((NU8)(s->data[i]) == (NU8)(48)); LA92_: ; if (!T91_) goto LA90; fracExponent += ((NI) 1); i += ((NI) 1); { while (1) { NIM_BOOL T95_; T95_ = (NIM_BOOL)0; T95_ = (i < (s ? s->Sup.len : 0)); if (!(T95_)) goto LA96_; T95_ = ((NU8)(s->data[i]) == (NU8)(95)); LA96_: ; if (!T95_) goto LA94; i += ((NI) 1); } LA94: ; } } LA90: ; } } LA87_: ; { NIM_BOOL T99_; NIM_BOOL T100_; T99_ = (NIM_BOOL)0; T100_ = (NIM_BOOL)0; T100_ = (firstDigit == ((NI) -1)); if (!(T100_)) goto LA101_; T100_ = (i < (s ? s->Sup.len : 0)); LA101_: ; T99_ = T100_; if (!(T99_)) goto LA102_; T99_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))); LA102_: ; if (!T99_) goto LA103_; firstDigit = (NI)(((NU8)(s->data[i])) - ((NI) 48)); } LA103_: ; { while (1) { NIM_BOOL T107_; T107_ = (NIM_BOOL)0; T107_ = (i < (s ? s->Sup.len : 0)); if (!(T107_)) goto LA108_; T107_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))); LA108_: ; if (!T107_) goto LA106; fdigits += ((NI) 1); fracExponent += ((NI) 1); integer = (NU64)((NU64)((NU64)((NU64)(integer) * (NU64)(10ULL))) + (NU64)(((NU64) ((NI)(((NU8)(s->data[i])) - ((NI) 48)))))); i += ((NI) 1); { while (1) { NIM_BOOL T111_; T111_ = (NIM_BOOL)0; T111_ = (i < (s ? s->Sup.len : 0)); if (!(T111_)) goto LA112_; T111_ = ((NU8)(s->data[i]) == (NU8)(95)); LA112_: ; if (!T111_) goto LA110; i += ((NI) 1); } LA110: ; } } LA106: ; } } LA83_: ; { NIM_BOOL T115_; NIM_BOOL T117_; NIM_BOOL T119_; T115_ = (NIM_BOOL)0; T115_ = ((NI)(kdigits + fdigits) <= ((NI) 0)); if (!(T115_)) goto LA116_; T117_ = (NIM_BOOL)0; T117_ = (i == start); if (T117_) goto LA118_; T119_ = (NIM_BOOL)0; T119_ = (i == (NI)(start + ((NI) 1))); if (!(T119_)) goto LA120_; T119_ = hasSign; LA120_: ; T117_ = T119_; LA118_: ; T115_ = T117_; LA116_: ; if (!T115_) goto LA121_; result = ((NI) 0); goto BeforeRet_; } LA121_: ; { NIM_BOOL T125_; T125_ = (NIM_BOOL)0; T125_ = ((NI)(i + ((NI) 1)) < (s ? s->Sup.len : 0)); if (!(T125_)) goto LA126_; T125_ = (((NU8)(s->data[i])) == ((NU8)(101)) || ((NU8)(s->data[i])) == ((NU8)(69))); LA126_: ; if (!T125_) goto LA127_; i += ((NI) 1); { NIM_BOOL T131_; T131_ = (NIM_BOOL)0; T131_ = ((NU8)(s->data[i]) == (NU8)(43)); if (T131_) goto LA132_; T131_ = ((NU8)(s->data[i]) == (NU8)(45)); LA132_: ; if (!T131_) goto LA133_; { if (!((NU8)(s->data[i]) == (NU8)(45))) goto LA137_; expSign = ((NI) -1); } LA137_: ; i += ((NI) 1); } LA133_: ; { if (!!((((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))))) goto LA141_; result = ((NI) 0); goto BeforeRet_; } LA141_: ; { while (1) { NIM_BOOL T145_; T145_ = (NIM_BOOL)0; T145_ = (i < (s ? s->Sup.len : 0)); if (!(T145_)) goto LA146_; T145_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57))); LA146_: ; if (!T145_) goto LA144; exponent = (NI)((NI)(exponent * ((NI) 10)) + (NI)(((NU8)(s->data[i])) - ((NI) 48))); i += ((NI) 1); { while (1) { NIM_BOOL T149_; T149_ = (NIM_BOOL)0; T149_ = (i < (s ? s->Sup.len : 0)); if (!(T149_)) goto LA150_; T149_ = ((NU8)(s->data[i]) == (NU8)(95)); LA150_: ; if (!T149_) goto LA148; i += ((NI) 1); } LA148: ; } } LA144: ; } } LA127_: ; realExponent = (NI)((NI)(expSign * exponent) - fracExponent); expNegative = (realExponent < ((NI) 0)); absExponent = (realExponent > 0? (realExponent) : -(realExponent)); { if (!(((NI) 999) < absExponent)) goto LA153_; { if (!expNegative) goto LA157_; (*number) = ((NF)(0.0) * (NF)(sign)); } goto LA155_; LA157_: ; { (*number) = ((NF)(INF) * (NF)(sign)); } LA155_: ; result = (NI)(i - start); goto BeforeRet_; } LA153_: ; digits = (NI)(kdigits + fdigits); { NIM_BOOL T162_; NIM_BOOL T164_; NI slop; T162_ = (NIM_BOOL)0; T162_ = (digits <= ((NI) 15)); if (T162_) goto LA163_; T164_ = (NIM_BOOL)0; T164_ = (digits <= ((NI) 16)); if (!(T164_)) goto LA165_; T164_ = (firstDigit <= ((NI) 8)); LA165_: ; T162_ = T164_; LA163_: ; if (!T162_) goto LA166_; { if (!(absExponent <= ((NI) 22))) goto LA170_; { if (!expNegative) goto LA174_; (*number) = ((NF)(((NF)(sign) * (NF)(((NF) (integer))))) / (NF)(powtens__system_6153[(absExponent)- 0])); } goto LA172_; LA174_: ; { (*number) = ((NF)(((NF)(sign) * (NF)(((NF) (integer))))) * (NF)(powtens__system_6153[(absExponent)- 0])); } LA172_: ; result = (NI)(i - start); goto BeforeRet_; } LA170_: ; slop = (NI)((NI)(((NI) 15) - kdigits) - fdigits); { NIM_BOOL T179_; T179_ = (NIM_BOOL)0; T179_ = (absExponent <= (NI)(((NI) 22) + slop)); if (!(T179_)) goto LA180_; T179_ = !(expNegative); LA180_: ; if (!T179_) goto LA181_; (*number) = ((NF)(((NF)(((NF)(sign) * (NF)(((NF) (integer))))) * (NF)(powtens__system_6153[(slop)- 0]))) * (NF)(powtens__system_6153[((NI)(absExponent - slop))- 0])); result = (NI)(i - start); goto BeforeRet_; } LA181_: ; } LA166_: ; nimZeroMem((void*)t, sizeof(tyArray__PGLh8drTnaWr3s1qUUSq2Q)); ti = ((NI) 0); maxlen = ((NI) 494); endPos = i; result = (NI)(endPos - start); i = start; { NIM_BOOL T185_; T185_ = (NIM_BOOL)0; T185_ = (i < endPos); if (!(T185_)) goto LA186_; T185_ = ((NU8)(s->data[i]) == (NU8)(46)); LA186_: ; if (!T185_) goto LA187_; i += ((NI) 1); } LA187_: ; { while (1) { NIM_BOOL T191_; T191_ = (NIM_BOOL)0; T191_ = (i < endPos); if (!(T191_)) goto LA192_; T191_ = (((NU8)(s->data[i])) >= ((NU8)(48)) && ((NU8)(s->data[i])) <= ((NU8)(57)) || ((NU8)(s->data[i])) == ((NU8)(43)) || ((NU8)(s->data[i])) == ((NU8)(45))); LA192_: ; if (!T191_) goto LA190; { if (!(ti < maxlen)) goto LA195_; t[(ti)- 0] = s->data[i]; ti += ((NI) 1); } LA195_: ; i += ((NI) 1); { while (1) { NIM_BOOL T199_; T199_ = (NIM_BOOL)0; T199_ = (i < endPos); if (!(T199_)) goto LA200_; T199_ = (((NU8)(s->data[i])) == ((NU8)(46)) || ((NU8)(s->data[i])) == ((NU8)(95))); LA200_: ; if (!T199_) goto LA198; i += ((NI) 1); } LA198: ; } } LA190: ; } t[(ti)- 0] = 69; ti += ((NI) 1); { if (!expNegative) goto LA203_; t[(ti)- 0] = 45; } goto LA201_; LA203_: ; { t[(ti)- 0] = 43; } LA201_: ; ti += ((NI) 4); t[((NI)(ti - ((NI) 1)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + (NI)(absExponent % ((NI) 10))))); absExponent = (NI)(absExponent / ((NI) 10)); t[((NI)(ti - ((NI) 2)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + (NI)(absExponent % ((NI) 10))))); absExponent = (NI)(absExponent / ((NI) 10)); t[((NI)(ti - ((NI) 3)))- 0] = ((NIM_CHAR) ((NI)(((NI) 48) + (NI)(absExponent % ((NI) 10))))); (*number) = strtod(((NCSTRING) (t)), ((NCSTRING*) NIM_NIL)); }BeforeRet_: ; return result; } static N_INLINE(void, addFloat__system_3122)(NimStringDesc** result, NF x) { addFloatRoundtrip__system_3127(result, x); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_3118)(NF x) { NimStringDesc* result; result = NIM_NIL; addFloat__system_3122((&result), x); return result; } N_LIB_PRIVATE N_NIMCALL(void, objectInitAux__system_6521)(void* dest, TNimNode* n) { NI d; d = ((NI) (ptrdiff_t) (dest)); switch ((*n).kind) { case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 0): { } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 1): { NI T3_; T3_ = (NI)0; T3_ = pluspercent___system_696(d, (*n).offset); objectInit(((void*) (T3_)), (*n).typ); } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 2): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((*n).len - ((NI) 1)); res = ((NI) 0); { while (1) { if (!(res <= colontmp_)) goto LA7; i = res; objectInitAux__system_6521(dest, (*n).sons[(i)- 0]); res += ((NI) 1); } LA7: ; } } } break; case ((tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ) 3): { TNimNode* m; m = selectBranch__system_3645(dest, n); { if (!!((m == ((TNimNode*) NIM_NIL)))) goto LA11_; objectInitAux__system_6521(dest, m); } LA11_: ; } break; } } N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ) { NI d; d = ((NI) (ptrdiff_t) (dest)); switch ((*typ).kind) { case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 17): { TNimType** pint; pint = ((TNimType**) (dest)); (*pint) = typ; objectInitAux__system_6521(dest, (*typ).node); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 18): { objectInitAux__system_6521(dest, (*typ).node); } break; case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 16): case ((tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A) 4): { { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((NI)((*typ).size / (*(*typ).base).size) - ((NI) 1)); res = ((NI) 0); { while (1) { NI T7_; if (!(res <= colontmp_)) goto LA6; i = res; T7_ = (NI)0; T7_ = pluspercent___system_696(d, (NI)(i * (*(*typ).base).size)); objectInit(((void*) (T7_)), (*typ).base); res += ((NI) 1); } LA6: ; } } } break; default: { } break; } } N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt) { genericAssignAux__system_6406(dest, src, mt, NIM_TRUE); } N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_7453)(NI x, NI y) { NI result; { result = (NI)0; { if (!(x == y)) goto LA3_; result = ((NI) 0); goto BeforeRet_; } LA3_: ; { if (!(x < y)) goto LA7_; result = ((NI) -1); goto BeforeRet_; } LA7_: ; result = ((NI) 1); goto BeforeRet_; }BeforeRet_: ; return result; } static N_NIMCALL(void, Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg)(void* p, NI op) { NI* a; a = (NI*)p; } N_LIB_PRIVATE N_NIMCALL(NCSTRING*, allocCStringArray__system_2469)(NimStringDesc** a, NI aLen_0) { NCSTRING* result; void* T1_; NimStringDesc** x; result = (NCSTRING*)0; T1_ = (void*)0; T1_ = alloc0Impl__system_1745(((NI) ((NI)((NI)(aLen_0 + ((NI) 1)) * ((NI) 8))))); result = ((NCSTRING*) (T1_)); x = ((NimStringDesc**) (a)); { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (aLen_0-1); res = ((NI) 0); { while (1) { void* T5_; if (!(res <= colontmp_)) goto LA4; i = res; T5_ = (void*)0; T5_ = alloc0Impl__system_1745(((NI) ((NI)((x[i] ? x[i]->Sup.len : 0) + ((NI) 1))))); result[i] = ((NCSTRING) (T5_)); copyMem__system_1727(((void*) (result[i])), ((void*) ((&x[i]->data[((NI) 0)]))), ((NI) ((x[i] ? x[i]->Sup.len : 0)))); res += ((NI) 1); } LA4: ; } } return result; } N_LIB_PRIVATE N_NIMCALL(void, deallocCStringArray__system_2503)(NCSTRING* a) { NI i; i = ((NI) 0); { while (1) { if (!!((((void*) (a[i])) == NIM_NIL))) goto LA2; dealloc(((void*) (a[i]))); i += ((NI) 1); } LA2: ; } dealloc(((void*) (a))); } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimBoolToStr)(NIM_BOOL x) { NimStringDesc* result; { result = NIM_NIL; { if (!x) goto LA3_; result = copyString(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_23)); } goto LA1_; LA3_: ; { result = copyString(((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_24)); } LA1_: ; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, toInt__system_1708)(NF f) { NI result; result = (NI)0; { if (!(0.0 <= f)) goto LA3_; result = ((NI) (((NF)(f) + (NF)(0.5)))); } goto LA1_; LA3_: ; { result = ((NI) (((NF)(f) - (NF)(0.5)))); } LA1_: ; return result; } N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isObjSlowPath__system_3313)(TNimType* obj, TNimType* subclass, TNimType** cache) { NIM_BOOL result; TNimType* x; { result = (NIM_BOOL)0; x = (*obj).base; { while (1) { if (!!((x == subclass))) goto LA2; { if (!(x == ((TNimType*) NIM_NIL))) goto LA5_; cache[(((NI) 0))- 0] = obj; result = NIM_FALSE; goto BeforeRet_; } LA5_: ; x = (*x).base; } LA2: ; } cache[(((NI) 1))- 0] = obj; result = NIM_TRUE; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_6835)(NimStringDesc** result, NF32 x) { tyArray__eVNFTutn6un5gcq48fQLdg buffer; NI n; n = writeFloatToBufferRoundtrip__systemZformatfloat_44(buffer, x); addCstringN__systemZformatfloat_5(result, ((NCSTRING) ((&buffer[(((NI) 0))- 0]))), n); } N_LIB_PRIVATE N_NIMCALL(void, insert__system_7471)(NimStringDesc** x, NimStringDesc* item, NI i) { NI xl; NI j; xl = ((*x) ? (*x)->Sup.len : 0); unsureAsgnRef((void**) (&(*x)), setLengthStr((*x), ((NI) ((NI)(xl + (item ? item->Sup.len : 0)))))); j = (NI)(xl - ((NI) 1)); { while (1) { if (!(((NI) (i)) <= j)) goto LA2; (*x)->data[(NI)(j + (item ? item->Sup.len : 0))] = (*x)->data[j]; j -= ((NI) 1); } LA2: ; } j = ((NI) 0); { while (1) { if (!(j < (item ? item->Sup.len : 0))) goto LA4; (*x)->data[(NI)(j + ((NI) (i)))] = item->data[j]; j += ((NI) 1); } LA4: ; } } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStackTrace__system_2521)(Exception* e) { NimStringDesc* result; result = NIM_NIL; { if (!!((e == 0))) goto LA3_; result = dollar___system_2723((*e).trace); } goto LA1_; LA3_: ; { result = ((NimStringDesc*) NIM_NIL); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, getMaxMem__system_3973)(tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg* a) { NI result; result = (NI)0; result = (((*a).currMem >= (*a).maxMem) ? (*a).currMem : (*a).maxMem); return result; } N_LIB_PRIVATE N_NIMCALL(NI, getMaxMem__system_5243)(void) { NI result; result = (NI)0; result = getMaxMem__system_3973((&gch__system_5218.region)); return result; } N_LIB_PRIVATE N_NIMCALL(NI, getTotalMem__system_1938)(void) { NI result; result = (NI)0; result = gch__system_5218.region.currMem; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_2268)(void) { NimStringDesc* result; NimStringDesc* T1_; NI T2_; NimStringDesc* T3_; NI T4_; NimStringDesc* T5_; NimStringDesc* T6_; NimStringDesc* T7_; NimStringDesc* T8_; NimStringDesc* T9_; NimStringDesc* T10_; NimStringDesc* T11_; NimStringDesc* T12_; NimStringDesc* T13_; NimStringDesc* T14_; result = NIM_NIL; T1_ = NIM_NIL; T2_ = (NI)0; T2_ = getTotalMem__system_1938(); T3_ = NIM_NIL; T3_ = dollar___systemZdollars_3(T2_); T4_ = (NI)0; T4_ = getOccupiedMem__system_1936(); T5_ = NIM_NIL; T5_ = dollar___systemZdollars_3(T4_); T6_ = NIM_NIL; T6_ = dollar___systemZdollars_3(gch__system_5218.stat.stackScans); T7_ = NIM_NIL; T7_ = dollar___systemZdollars_3(gch__system_5218.stat.maxStackCells); T8_ = NIM_NIL; T8_ = dollar___systemZdollars_3(gch__system_5218.stat.cycleCollections); T9_ = NIM_NIL; T9_ = dollar___systemZdollars_3(gch__system_5218.stat.maxThreshold); T10_ = NIM_NIL; T10_ = dollar___systemZdollars_3(gch__system_5218.zct.cap); T11_ = NIM_NIL; T11_ = dollar___systemZdollars_3(gch__system_5218.stat.cycleTableSize); T12_ = NIM_NIL; T12_ = dollar___systemZdollars_6((NI64)(gch__system_5218.stat.maxPause / IL64(1000000))); T1_ = rawNewString((T3_ ? T3_->Sup.len : 0) + (T5_ ? T5_->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + (T7_ ? T7_->Sup.len : 0) + (T8_ ? T8_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + (T11_ ? T11_->Sup.len : 0) + (T12_ ? T12_->Sup.len : 0) + 202); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_25)); appendString(T1_, T3_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_26)); appendString(T1_, T5_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_27)); appendString(T1_, T6_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_28)); appendString(T1_, T7_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_29)); appendString(T1_, T8_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_30)); appendString(T1_, T9_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_31)); appendString(T1_, T10_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_32)); appendString(T1_, T11_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_33)); appendString(T1_, T12_); appendString(T1_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_14)); result = T1_; T13_ = NIM_NIL; T14_ = NIM_NIL; T14_ = dollar___systemZdollars_3(gch__system_5218.stat.maxStackSize); T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 22); appendString(T13_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_34)); appendString(T13_, T14_); appendString(T13_, ((NimStringDesc*) &TM__Q5wkpxktOdTGvlSRo9bzt9aw_14)); result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0); appendString(result, T13_); return result; } static N_INLINE(void, initStackBottomWith)(void* locals) { nimGC_setStackBottom(locals); } N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void) { { TFrame FR_; FR_.len = 0; nimRegisterThreadLocalMarker(TM__Q5wkpxktOdTGvlSRo9bzt9aw_4); }/* preInitProc end */ { initStackBottom(); initGC__system_2398(); registerSignalHandler__system_2992(); } } N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void) { static TNimNode* TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[5]; static TNimNode* TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[3]; static TNimNode TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[26]; NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.size = sizeof(RootObj); NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.align = NIM_ALIGNOF(RootObj); NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.kind = 17; NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.base = 0; NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.flags = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[0].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[0].kind = 2; NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[0]; NTIexception__XEycrCsme5C8CVWAYEcdBQ_.size = sizeof(Exception); NTIexception__XEycrCsme5C8CVWAYEcdBQ_.align = NIM_ALIGNOF(Exception); NTIexception__XEycrCsme5C8CVWAYEcdBQ_.kind = 17; NTIexception__XEycrCsme5C8CVWAYEcdBQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[0] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2]; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].offset = offsetof(Exception, parent); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].typ = (&NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[2].name = "parent"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[1] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3]; NTIcstring__S9agCYBinaYZnGWcjTdxclg_.size = sizeof(NCSTRING); NTIcstring__S9agCYBinaYZnGWcjTdxclg_.align = NIM_ALIGNOF(NCSTRING); NTIcstring__S9agCYBinaYZnGWcjTdxclg_.kind = 29; NTIcstring__S9agCYBinaYZnGWcjTdxclg_.base = 0; NTIcstring__S9agCYBinaYZnGWcjTdxclg_.flags = 3; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].offset = offsetof(Exception, name); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[3].name = "name"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[2] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4]; NTIstring__77mFvmsOLKik79ci2hXkHEg_.size = sizeof(NimStringDesc*); NTIstring__77mFvmsOLKik79ci2hXkHEg_.align = NIM_ALIGNOF(NimStringDesc*); NTIstring__77mFvmsOLKik79ci2hXkHEg_.kind = 28; NTIstring__77mFvmsOLKik79ci2hXkHEg_.base = 0; NTIstring__77mFvmsOLKik79ci2hXkHEg_.flags = 2; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].offset = offsetof(Exception, message); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[4].name = "msg"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[3] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5]; NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.size = sizeof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA); NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.align = NIM_ALIGNOF(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA); NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.kind = 18; NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.base = 0; NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.flags = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[0] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7]; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].offset = offsetof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA, procname); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[7].name = "procname"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[1] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8]; NTIint__rR5Bzr1D5krxoo1NcNyeMA_.size = sizeof(NI); NTIint__rR5Bzr1D5krxoo1NcNyeMA_.align = NIM_ALIGNOF(NI); NTIint__rR5Bzr1D5krxoo1NcNyeMA_.kind = 31; NTIint__rR5Bzr1D5krxoo1NcNyeMA_.base = 0; NTIint__rR5Bzr1D5krxoo1NcNyeMA_.flags = 3; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].offset = offsetof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA, line); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[8].name = "line"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[2] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9]; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].offset = offsetof(tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA, filename); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[9].name = "filename"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6].len = 3; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6].kind = 2; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6].sons = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_3_3[0]; NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[6]; NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.size = sizeof(tySequence__uB9b75OUPRENsBAu4AnoePA*); NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.align = NIM_ALIGNOF(tySequence__uB9b75OUPRENsBAu4AnoePA*); NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.kind = 24; NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.base = (&NTIstacktraceentry__oLyohQ7O2XOvGnflOss8EA_); NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_.marker = Marker_tySequence__uB9b75OUPRENsBAu4AnoePA; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].offset = offsetof(Exception, trace); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].typ = (&NTIseqLstacktraceentryT__uB9b75OUPRENsBAu4AnoePA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[5].name = "trace"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[4] = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10]; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].offset = offsetof(Exception, up); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].typ = (&NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[10].name = "up"; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1].len = 5; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1].kind = 2; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1].sons = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_2_5[0]; NTIexception__XEycrCsme5C8CVWAYEcdBQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[1]; NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.size = sizeof(Exception*); NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.align = NIM_ALIGNOF(Exception*); NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.kind = 22; NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.base = (&NTIexception__XEycrCsme5C8CVWAYEcdBQ_); NTIrefexception__vU9aO9cTqOMn6CBzhV8rX7Sw_.marker = Marker_tyRef__vU9aO9cTqOMn6CBzhV8rX7Sw; NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.size = sizeof(tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA); NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.align = NIM_ALIGNOF(tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA); NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.kind = 17; NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.base = (&NTIexception__XEycrCsme5C8CVWAYEcdBQ_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[11].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[11].kind = 2; NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[11]; NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.size = sizeof(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g); NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.align = NIM_ALIGNOF(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g); NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.kind = 17; NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[12].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[12].kind = 2; NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[12]; NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.size = sizeof(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*); NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.align = NIM_ALIGNOF(tyObject_ReraiseDefect__E0L0wGYS1gPD81VLstNO2g*); NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.kind = 22; NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.base = (&NTIreraisedefect__E0L0wGYS1gPD81VLstNO2g_); NTIrefreraisedefect__uG62cfJZ15c2siK3CKLmnQ_.marker = Marker_tyRef__uG62cfJZ15c2siK3CKLmnQ; NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.size = sizeof(tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA); NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.align = NIM_ALIGNOF(tyObject_ArithmeticDefect__cT9c9bHlHSpA1QTnKbHjnIkA); NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.kind = 17; NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[13].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[13].kind = 2; NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[13]; NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.size = sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ); NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.align = NIM_ALIGNOF(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ); NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.kind = 17; NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.base = (&NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[14].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[14].kind = 2; NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[14]; NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.size = sizeof(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*); NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.align = NIM_ALIGNOF(tyObject_OverflowDefect__9cxMi1BPLc3UKt9br86bGfGQ*); NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.kind = 22; NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.base = (&NTIoverflowdefect__9cxMi1BPLc3UKt9br86bGfGQ_); NTIrefoverflowdefect__r8GBEWywN07B3Rat3azS4Q_.marker = Marker_tyRef__r8GBEWywN07B3Rat3azS4Q; NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.size = sizeof(NIM_BOOL); NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.align = NIM_ALIGNOF(NIM_BOOL); NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.kind = 1; NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.base = 0; NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_.flags = 3; NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.size = sizeof(tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA); NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.align = NIM_ALIGNOF(tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA); NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.kind = 17; NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.base = (&NTIexception__XEycrCsme5C8CVWAYEcdBQ_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[15].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[15].kind = 2; NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[15]; NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.size = sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw); NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.align = NIM_ALIGNOF(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw); NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.kind = 17; NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[16].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[16].kind = 2; NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[16]; NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.size = sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag); NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.align = NIM_ALIGNOF(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag); NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.kind = 17; NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[17].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[17].kind = 2; NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[17]; NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.size = sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*); NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.align = NIM_ALIGNOF(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*); NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.kind = 22; NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.base = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_); NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_.marker = Marker_tyRef__8SzoIAgLw9ci2v0yafHj9b6Q; NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.size = sizeof(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ); NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.align = NIM_ALIGNOF(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ); NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.kind = 17; NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[18].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[18].kind = 2; NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[18]; NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.size = sizeof(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ*); NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.align = NIM_ALIGNOF(tyObject_AssertionDefect__PtYxPmY5X0dorfvxAFbJpQ*); NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.kind = 22; NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.base = (&NTIassertiondefect__PtYxPmY5X0dorfvxAFbJpQ_); NTIrefassertiondefect__S8DV6hfcgC9c0IiUsAoR29cQ_.marker = Marker_tyRef__S8DV6hfcgC9c0IiUsAoR29cQ; NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.size = sizeof(NU16); NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.align = NIM_ALIGNOF(NU16); NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.kind = 42; NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.base = 0; NTIuint4954__M4na42GvebBMnI5wV9cYMxg_.flags = 3; NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.size = sizeof(NI16); NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.align = NIM_ALIGNOF(NI16); NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.kind = 33; NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.base = 0; NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_.flags = 3; NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.size = sizeof(NI32); NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.align = NIM_ALIGNOF(NI32); NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.kind = 34; NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.base = 0; NTIint5150__sVg18TP9cLifHyygRe9cro9aA_.flags = 3; NTIint56__chXunH2dwinSkhpA6JnsXw_.size = sizeof(NI8); NTIint56__chXunH2dwinSkhpA6JnsXw_.align = NIM_ALIGNOF(NI8); NTIint56__chXunH2dwinSkhpA6JnsXw_.kind = 32; NTIint56__chXunH2dwinSkhpA6JnsXw_.base = 0; NTIint56__chXunH2dwinSkhpA6JnsXw_.flags = 3; NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.size = sizeof(NF); NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.align = NIM_ALIGNOF(NF); NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.kind = 36; NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.base = 0; NTIfloat__w9bl9a1ul9ctRJWiMl9cNnIMvg_.flags = 3; NTIchar__nmiMWKVIe46vacnhAFrQvw_.size = sizeof(NIM_CHAR); NTIchar__nmiMWKVIe46vacnhAFrQvw_.align = NIM_ALIGNOF(NIM_CHAR); NTIchar__nmiMWKVIe46vacnhAFrQvw_.kind = 2; NTIchar__nmiMWKVIe46vacnhAFrQvw_.base = 0; NTIchar__nmiMWKVIe46vacnhAFrQvw_.flags = 3; NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.size = sizeof(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g); NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.align = NIM_ALIGNOF(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g); NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.kind = 17; NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[19].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[19].kind = 2; NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[19]; NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.size = sizeof(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*); NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.align = NIM_ALIGNOF(tyObject_ObjectAssignmentDefect__6toVe0IizlEwN9bORXEdX3g*); NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.kind = 22; NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.base = (&NTIobjectassignmentdefect__6toVe0IizlEwN9bORXEdX3g_); NTIrefobjectassignmentdefect__C0A9bPZSVeyr2BWpBf4Jxqw_.marker = Marker_tyRef__C0A9bPZSVeyr2BWpBf4Jxqw; NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.size = sizeof(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ); NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.align = NIM_ALIGNOF(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ); NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.kind = 17; NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[20].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[20].kind = 2; NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[20]; NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.size = sizeof(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*); NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.align = NIM_ALIGNOF(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*); NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.kind = 22; NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.base = (&NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_); NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_.marker = Marker_tyRef__RJnHOb9cQV3neNC9cDkRgMyw; NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.size = sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*); NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.align = NIM_ALIGNOF(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*); NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.kind = 22; NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_); NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_.marker = Marker_tyRef__Ie1m0dv1ZHg72IgPRr1cDw; NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.size = sizeof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA); NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.align = NIM_ALIGNOF(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA); NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.kind = 17; NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].kind = 1; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].offset = offsetof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA, errorCode); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].typ = (&NTIint5150__sVg18TP9cLifHyygRe9cro9aA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21].name = "errorCode"; NTIoserror__BeJgrOdDsczOwEWOZbRfKA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[21]; NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.size = sizeof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*); NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.align = NIM_ALIGNOF(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*); NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.kind = 22; NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.base = (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_); NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_.marker = Marker_tyRef__9clYsYwyjCqe2PFTuCI3Ubg; NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.size = sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw); NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.align = NIM_ALIGNOF(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw); NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.kind = 17; NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[22].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[22].kind = 2; NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[22]; NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.size = sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*); NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.align = NIM_ALIGNOF(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*); NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.kind = 22; NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.base = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_); NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_.marker = Marker_tyRef__HMIVdYjdZYWskTmTQVo5BQ; NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.size = sizeof(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg); NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.align = NIM_ALIGNOF(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg); NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.kind = 17; NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.base = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[23].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[23].kind = 2; NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[23]; NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.size = sizeof(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*); NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.align = NIM_ALIGNOF(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*); NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.kind = 22; NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.base = (&NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_); NTIrefeoferror__LEclZrWX2FQAodlapxGITw_.marker = Marker_tyRef__LEclZrWX2FQAodlapxGITw; NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.size = sizeof(NI64); NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.align = NIM_ALIGNOF(NI64); NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.kind = 35; NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.base = 0; NTIbiggestint__Aav8dQoMlCFnZRxA0IhTHQ_.flags = 3; NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.size = sizeof(NU32); NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.align = NIM_ALIGNOF(NU32); NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.kind = 43; NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.base = 0; NTIuint5150__JrFyJbYm9b5I4hJ9cWDqvfYA_.flags = 3; NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.size = sizeof(RootObj*); NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.align = NIM_ALIGNOF(RootObj*); NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.kind = 22; NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_); NTIrootref__0vJvi4uHbxjbxlkkX7P1EA_.marker = Marker_tyRef__0vJvi4uHbxjbxlkkX7P1EA; NTIuint56__k3HXouOuhqAKq0dx450lXQ_.size = sizeof(NU8); NTIuint56__k3HXouOuhqAKq0dx450lXQ_.align = NIM_ALIGNOF(NU8); NTIuint56__k3HXouOuhqAKq0dx450lXQ_.kind = 41; NTIuint56__k3HXouOuhqAKq0dx450lXQ_.base = 0; NTIuint56__k3HXouOuhqAKq0dx450lXQ_.flags = 3; NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.size = sizeof(tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA); NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.align = NIM_ALIGNOF(tyObject_RangeDefect__Rp9adJYTsbbIUzQ8fWxwgdA); NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.kind = 17; NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.base = (&NTIdefect__LbeSGvgPzGzXnW9caIkJqMA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[24].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[24].kind = 2; NTIrangedefect__Rp9adJYTsbbIUzQ8fWxwgdA_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[24]; NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.size = sizeof(NI); NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.align = NIM_ALIGNOF(NI); NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.kind = 31; NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.base = 0; NTIint__xHTZrq9aYs6boc9bCba0JbpQ_.flags = 3; NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.size = sizeof(NI*); NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.align = NIM_ALIGNOF(NI*); NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.kind = 22; NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_.marker = Marker_tyRef__9ai78kkwqt3gikTN9cpHKUVg; NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.size = sizeof(NimStringDesc**); NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.align = NIM_ALIGNOF(NimStringDesc**); NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.kind = 21; NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.base = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_); NTIptrstring__Y36n7l9b7WX4rcaAYCe6LWw_.flags = 3; NTIcint__nlCscttRCss70IBTyuBqnA_.size = sizeof(int); NTIcint__nlCscttRCss70IBTyuBqnA_.align = NIM_ALIGNOF(int); NTIcint__nlCscttRCss70IBTyuBqnA_.kind = 34; NTIcint__nlCscttRCss70IBTyuBqnA_.base = 0; NTIcint__nlCscttRCss70IBTyuBqnA_.flags = 3; NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.size = sizeof(tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg); NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.align = NIM_ALIGNOF(tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg); NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.kind = 49; NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.base = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_); NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_.flags = 3; NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.size = sizeof(NCSTRING*); NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.align = NIM_ALIGNOF(NCSTRING*); NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.kind = 21; NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.base = (&NTIuncheckedarrayLcstringT__nvS6J9clHMUMHfoZd8Ad2zg_); NTIcstringarray__vCtGdhfQAmBlRFXaVFklkQ_.flags = 3; NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.size = sizeof(tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w); NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.align = NIM_ALIGNOF(tyObject_DivByZeroDefect__n3A4gjRrFZBuNnTYx1h9a8w); NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.kind = 17; NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.base = (&NTIarithmeticdefect__cT9c9bHlHSpA1QTnKbHjnIkA_); TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[25].len = 0; TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[25].kind = 2; NTIdivbyzerodefect__n3A4gjRrFZBuNnTYx1h9a8w_.node = &TM__Q5wkpxktOdTGvlSRo9bzt9aw_0[25]; NTIint__hLlQjbV9bLNq5PFxYcqacsA_.size = sizeof(NI); NTIint__hLlQjbV9bLNq5PFxYcqacsA_.align = NIM_ALIGNOF(NI); NTIint__hLlQjbV9bLNq5PFxYcqacsA_.kind = 31; NTIint__hLlQjbV9bLNq5PFxYcqacsA_.base = 0; NTIint__hLlQjbV9bLNq5PFxYcqacsA_.flags = 3; }