/* Generated by Nimrod Compiler v0.9.5 */
/*   (c) 2014 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Linux, i386, gcc */
/* Command for C compiler:
   gcc -c  -w -O3 -fno-strict-aliasing  -I/build/nimrod/src/nimrod/lib -o compiler/nimcache/vmdef.o compiler/nimcache/vmdef.c */
#define NIM_INTBITS 32
#include "nimbase.h"
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tctx249037 tctx249037;
typedef struct tpasscontext246003 tpasscontext246003;
typedef struct TNimObject TNimObject;
typedef struct TY249229 TY249229;
typedef struct TGenericSeq TGenericSeq;
typedef struct TY164208 TY164208;
typedef struct tlineinfo163527 tlineinfo163527;
typedef struct tnode188803 tnode188803;
typedef struct ttypeseq188835 ttypeseq188835;
typedef struct ttype188837 ttype188837;
typedef struct pprocHEX3Aobjecttype249216 pprocHEX3Aobjecttype249216;
typedef struct tsym188833 tsym188833;
typedef struct TY249217 TY249217;
typedef struct tblock249023 tblock249023;
typedef struct TY249198 TY249198;
typedef struct TY249223 TY249223;
typedef struct tcell41090 tcell41090;
typedef struct tcellseq41106 tcellseq41106;
typedef struct tgcheap43016 tgcheap43016;
typedef struct tcellset41102 tcellset41102;
typedef struct tpagedesc41098 tpagedesc41098;
typedef struct tmemregion23410 tmemregion23410;
typedef struct tsmallchunk22638 tsmallchunk22638;
typedef struct tllchunk23404 tllchunk23404;
typedef struct tbigchunk22640 tbigchunk22640;
typedef struct tintset22615 tintset22615;
typedef struct ttrunk22611 ttrunk22611;
typedef struct tavlnode23408 tavlnode23408;
typedef struct tgcstat43014 tgcstat43014;
typedef struct NimStringDesc NimStringDesc;
typedef struct tident167019 tident167019;
typedef struct tnodeseq188797 tnodeseq188797;
typedef struct tidobj167013 tidobj167013;
typedef struct tloc188817 tloc188817;
typedef struct trope145007 trope145007;
typedef struct tscope188827 tscope188827;
typedef struct TY188933 TY188933;
typedef struct tinstantiation188823 tinstantiation188823;
typedef struct tstrtable188807 tstrtable188807;
typedef struct tsymseq188805 tsymseq188805;
typedef struct tlib188821 tlib188821;
typedef struct tbasechunk22636 tbasechunk22636;
typedef struct tfreecell22628 tfreecell22628;
typedef struct TY188922 TY188922;
typedef struct tlistentry118017 tlistentry118017;
typedef N_NIMCALL_PTR(void, TY2289) (void* p, NI op);
struct  TNimType  {
NI size;
NU8 kind;
NU8 flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY2289 marker;
};
struct  TNimNode  {
NU8 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  tpasscontext246003  {
  TNimObject Sup;
NIM_BOOL Fromcache;
};
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  tlineinfo163527  {
NI16 Line;
NI16 Col;
NI32 Fileindex;
};
struct  tctx249037  {
  tpasscontext246003 Sup;
TY249229* Code;
TY164208* Debug;
tnode188803* Globals;
tnode188803* Constants;
ttypeseq188835* Types;
tnode188803* Currentexceptiona;
tnode188803* Currentexceptionb;
NI Exceptioninstr;
pprocHEX3Aobjecttype249216* Prc;
tsym188833* Module;
tnode188803* Callsite;
NU8 Mode;
NU8 Features;
NIM_BOOL Traceactive;
NI Loopiterations;
};
struct  tblock249023  {
tsym188833* Label;
TY249198* Fixups;
};
struct TY249223 {
NIM_BOOL Field0;
NU8 Field1;
};
typedef TY249223 TY249220[256];
struct  pprocHEX3Aobjecttype249216  {
TY249217* Blocks;
tsym188833* Sym;
TY249220 Slots;
NI Maxslots;
};
struct  tcell41090  {
NI Refcount;
TNimType* Typ;
};
struct  tcellseq41106  {
NI Len;
NI Cap;
tcell41090** D;
};
struct  tcellset41102  {
NI Counter;
NI Max;
tpagedesc41098* Head;
tpagedesc41098** Data;
};
typedef tsmallchunk22638* TY23422[512];
typedef ttrunk22611* ttrunkbuckets22613[256];
struct  tintset22615  {
ttrunkbuckets22613 Data;
};
struct  tmemregion23410  {
NI Minlargeobj;
NI Maxlargeobj;
TY23422 Freesmallchunks;
tllchunk23404* Llmem;
NI Currmem;
NI Maxmem;
NI Freemem;
NI Lastsize;
tbigchunk22640* Freechunkslist;
tintset22615 Chunkstarts;
tavlnode23408* Root;
tavlnode23408* Deleted;
tavlnode23408* Last;
tavlnode23408* Freeavlnodes;
};
struct  tgcstat43014  {
NI Stackscans;
NI Cyclecollections;
NI Maxthreshold;
NI Maxstacksize;
NI Maxstackcells;
NI Cycletablesize;
NI64 Maxpause;
};
struct  tgcheap43016  {
void* Stackbottom;
NI Cyclethreshold;
tcellseq41106 Zct;
tcellseq41106 Decstack;
tcellset41102 Cycleroots;
tcellseq41106 Tempstack;
NI Recgclock;
tmemregion23410 Region;
tgcstat43014 Stat;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct  tnode188803  {
ttype188837* Typ;
tlineinfo163527 Info;
NU16 Flags;
NU8 Kind;
union {
struct {NI64 Intval;
} S1;
struct {NF Floatval;
} S2;
struct {NimStringDesc* Strval;
} S3;
struct {tsym188833* Sym;
} S4;
struct {tident167019* Ident;
} S5;
struct {tnodeseq188797* Sons;
} S6;
} kindU;
NimStringDesc* Comment;
};
struct  tidobj167013  {
  TNimObject Sup;
NI Id;
};
struct  tloc188817  {
NU8 K;
NU8 S;
NU8 Flags;
ttype188837* T;
trope145007* R;
trope145007* Heaproot;
NI A;
};
struct  ttype188837  {
  tidobj167013 Sup;
NU8 Kind;
NU8 Callconv;
NU32 Flags;
ttypeseq188835* Sons;
tnode188803* N;
tsym188833* Destructor;
tsym188833* Owner;
tsym188833* Sym;
NI64 Size;
NI Align;
tloc188817 Loc;
};
struct  tstrtable188807  {
NI Counter;
tsymseq188805* Data;
};
struct  tsym188833  {
  tidobj167013 Sup;
NU8 Kind;
union {
struct {ttypeseq188835* Typeinstcache;
tscope188827* Typscope;
} S1;
struct {TY188933* Procinstcache;
tscope188827* Scope;
} S2;
struct {TY188933* Usedgenerics;
tstrtable188807 Tab;
} S3;
} kindU;
NU16 Magic;
ttype188837* Typ;
tident167019* Name;
tlineinfo163527 Info;
tsym188833* Owner;
NU32 Flags;
tnode188803* Ast;
NU32 Options;
NI Position;
NI Offset;
tloc188817 Loc;
tlib188821* Annex;
tnode188803* Constraint;
};
typedef NI TY22618[16];
struct  tpagedesc41098  {
tpagedesc41098* Next;
NI Key;
TY22618 Bits;
};
struct  tbasechunk22636  {
NI Prevsize;
NI Size;
NIM_BOOL Used;
};
struct  tsmallchunk22638  {
  tbasechunk22636 Sup;
tsmallchunk22638* Next;
tsmallchunk22638* Prev;
tfreecell22628* Freelist;
NI Free;
NI Acc;
NF Data;
};
struct  tllchunk23404  {
NI Size;
NI Acc;
tllchunk23404* Next;
};
struct  tbigchunk22640  {
  tbasechunk22636 Sup;
tbigchunk22640* Next;
tbigchunk22640* Prev;
NI Align;
NF Data;
};
struct  ttrunk22611  {
ttrunk22611* Next;
NI Key;
TY22618 Bits;
};
typedef tavlnode23408* TY23414[2];
struct  tavlnode23408  {
TY23414 Link;
NI Key;
NI Upperbound;
NI Level;
};
struct  tident167019  {
  tidobj167013 Sup;
NimStringDesc* S;
tident167019* Next;
NI H;
};
struct  trope145007  {
  TNimObject Sup;
trope145007* Left;
trope145007* Right;
NI Length;
NimStringDesc* Data;
};
struct  tscope188827  {
NI Depthlevel;
tstrtable188807 Symbols;
tnodeseq188797* Usingsyms;
tscope188827* Parent;
};
struct  tinstantiation188823  {
tsym188833* Sym;
ttypeseq188835* Concretetypes;
TY188922* Usedby;
};
struct  tlistentry118017  {
  TNimObject Sup;
tlistentry118017* Prev;
tlistentry118017* Next;
};
struct  tlib188821  {
  tlistentry118017 Sup;
NU8 Kind;
NIM_BOOL Generated;
NIM_BOOL Isoverriden;
trope145007* Name;
tnode188803* Path;
};
struct  tfreecell22628  {
tfreecell22628* Next;
NI Zerofield;
};
struct TY249229 {
  TGenericSeq Sup;
  NU32 data[SEQ_DECL_SIZE];
};
struct TY164208 {
  TGenericSeq Sup;
  tlineinfo163527 data[SEQ_DECL_SIZE];
};
struct ttypeseq188835 {
  TGenericSeq Sup;
  ttype188837* data[SEQ_DECL_SIZE];
};
struct TY249198 {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
struct TY249217 {
  TGenericSeq Sup;
  tblock249023 data[SEQ_DECL_SIZE];
};
struct tnodeseq188797 {
  TGenericSeq Sup;
  tnode188803* data[SEQ_DECL_SIZE];
};
struct TY188933 {
  TGenericSeq Sup;
  tinstantiation188823* data[SEQ_DECL_SIZE];
};
struct tsymseq188805 {
  TGenericSeq Sup;
  tsym188833* data[SEQ_DECL_SIZE];
};
struct TY188922 {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, TMP1833)(void* p, NI op);
N_NIMCALL(void, TMP1836)(void* p, NI op);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
N_NIMCALL(void, TMP1837)(void* p, NI op);
N_NIMCALL(void, TMP1842)(void* p, NI op);
N_NIMCALL(void, TMP1849)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(tcell41090*, usrtocell_44443)(void* usr);
static N_INLINE(void, rtladdzct_46002)(tcell41090* c);
N_NOINLINE(void, addzct_44418)(tcellseq41106* s, tcell41090* c);
N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_NIMCALL(tnode188803*, newnode_189065)(NU8 kind);
static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
extern TNimType NTI246003; /* TPassContext */
TNimType NTI249037; /* TCtx */
extern TNimType NTI122; /* uint32 */
TNimType NTI249229; /* seq[TInstr] */
extern TNimType NTI164208; /* seq[TLineInfo] */
extern TNimType NTI188795; /* PNode */
extern TNimType NTI188835; /* TTypeSeq */
extern TNimType NTI106; /* int */
TNimType NTI249216; /* PProc:ObjectType */
TNimType NTI249023; /* TBlock */
extern TNimType NTI188801; /* PSym */
TNimType NTI249198; /* seq[TPosition] */
TNimType NTI249217; /* seq[TBlock] */
TNimType NTI249223; /* tuple[inUse: bool, kind: TSlotKind] */
extern TNimType NTI134; /* bool */
TNimType NTI249031; /* TSlotKind */
TNimType NTI249220; /* array[0..255, tuple[inUse: bool, kind: TSlotKind]] */
TNimType NTI249033; /* PProc */
TNimType NTI249025; /* TEvalMode */
TNimType NTI249027; /* TSandboxFlag */
TNimType NTI249029; /* TSandboxFlags */
TNimType NTI249035; /* PCtx */
extern tgcheap43016 gch_43044;
TNimType NTI249021; /* TOpcode */
N_NIMCALL(void, TMP1833)(void* p, NI op) {
	TY249229* a;
	NI LOC1;
	a = (TY249229*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	}
}
N_NIMCALL(void, TMP1836)(void* p, NI op) {
	TY249198* a;
	NI LOC1;
	a = (TY249198*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	}
}
N_NIMCALL(void, TMP1837)(void* p, NI op) {
	TY249217* a;
	NI LOC1;
	a = (TY249217*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].Label, op);
	nimGCvisit((void*)a->data[LOC1].Fixups, op);
	}
}
N_NIMCALL(void, TMP1842)(void* p, NI op) {
	pprocHEX3Aobjecttype249216* a;
	NI LOC1;
	a = (pprocHEX3Aobjecttype249216*)p;
	nimGCvisit((void*)(*a).Blocks, op);
	nimGCvisit((void*)(*a).Sym, op);
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < 256; LOC1++) {
	}
}
N_NIMCALL(void, TMP1849)(void* p, NI op) {
	tctx249037* a;
	a = (tctx249037*)p;
	nimGCvisit((void*)(*a).Code, op);
	nimGCvisit((void*)(*a).Debug, op);
	nimGCvisit((void*)(*a).Globals, op);
	nimGCvisit((void*)(*a).Constants, op);
	nimGCvisit((void*)(*a).Types, op);
	nimGCvisit((void*)(*a).Currentexceptiona, op);
	nimGCvisit((void*)(*a).Currentexceptionb, op);
	nimGCvisit((void*)(*a).Prc, op);
	nimGCvisit((void*)(*a).Module, op);
	nimGCvisit((void*)(*a).Callsite, op);
}

static N_INLINE(tcell41090*, usrtocell_44443)(void* usr) {
	tcell41090* result;
	result = 0;
	result = ((tcell41090*) ((NI)((NU32)(((NI) (usr))) - (NU32)(((NI)sizeof(tcell41090))))));
	return result;
}

static N_INLINE(void, rtladdzct_46002)(tcell41090* c) {
	addzct_44418(&gch_43044.Zct, c);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tcell41090* c;
	c = usrtocell_44443(p);
	{
		(*c).Refcount -= 8;
		if (!((NU32)((*c).Refcount) < (NU32)(8))) goto LA3;
		rtladdzct_46002(c);
	}
	LA3: ;
}

static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
	{
		tcell41090* c;
		if (!!((src == NIM_NIL))) goto LA3;
		c = usrtocell_44443(src);
		(*c).Refcount += 8;
	}
	LA3: ;
	{
		tcell41090* c;
		if (!!(((*dest) == NIM_NIL))) goto LA7;
		c = usrtocell_44443((*dest));
		{
			(*c).Refcount -= 8;
			if (!((NU32)((*c).Refcount) < (NU32)(8))) goto LA11;
			rtladdzct_46002(c);
		}
		LA11: ;
	}
	LA7: ;
	(*dest) = src;
}

N_NIMCALL(tctx249037*, newctx_249249)(tsym188833* module) {
	tctx249037* result;
	tctx249037* LOC1;
	pprocHEX3Aobjecttype249216* LOC2;
	result = 0;
	LOC1 = 0;
	LOC1 = (tctx249037*) newObj((&NTI249035), sizeof(tctx249037));
	(*LOC1).Sup.Sup.m_type = (&NTI249037);
	if ((*LOC1).Code) nimGCunrefNoCycle((*LOC1).Code);
	(*LOC1).Code = (TY249229*) newSeqRC1((&NTI249229), 0);
	if ((*LOC1).Debug) nimGCunrefNoCycle((*LOC1).Debug);
	(*LOC1).Debug = (TY164208*) newSeqRC1((&NTI164208), 0);
	asgnRefNoCycle((void**) &(*LOC1).Globals, newnode_189065(((NU8) 125)));
	asgnRefNoCycle((void**) &(*LOC1).Constants, newnode_189065(((NU8) 114)));
	if ((*LOC1).Types) nimGCunrefNoCycle((*LOC1).Types);
	(*LOC1).Types = (ttypeseq188835*) newSeqRC1((&NTI188835), 0);
	LOC2 = 0;
	LOC2 = (pprocHEX3Aobjecttype249216*) newObj((&NTI249033), sizeof(pprocHEX3Aobjecttype249216));
	if ((*LOC2).Blocks) nimGCunrefNoCycle((*LOC2).Blocks);
	(*LOC2).Blocks = (TY249217*) newSeqRC1((&NTI249217), 0);
	asgnRefNoCycle((void**) &(*LOC1).Prc, LOC2);
	asgnRefNoCycle((void**) &(*LOC1).Module, module);
	(*LOC1).Loopiterations = 500000;
	result = LOC1;
	return result;
}

N_NIMCALL(void, refresh_249337)(tctx249037* c, tsym188833* module) {
	pprocHEX3Aobjecttype249216* LOC1;
	asgnRefNoCycle((void**) &(*c).Module, module);
	LOC1 = 0;
	LOC1 = (pprocHEX3Aobjecttype249216*) newObj((&NTI249033), sizeof(pprocHEX3Aobjecttype249216));
	if ((*LOC1).Blocks) nimGCunrefNoCycle((*LOC1).Blocks);
	(*LOC1).Blocks = (TY249217*) newSeqRC1((&NTI249217), 0);
	asgnRefNoCycle((void**) &(*c).Prc, LOC1);
}
N_NOINLINE(void, vmdefInit)(void) {
}

N_NOINLINE(void, vmdefDatInit)(void) {
static TNimNode* TMP1832[15];
static TNimNode* TMP1834[4];
static TNimNode* TMP1835[2];
static TNimNode* TMP1838[2];
static TNimNode* TMP1839[8];
NI TMP1841;
static char* NIM_CONST TMP1840[8] = {
"slotEmpty", 
"slotFixedVar", 
"slotFixedLet", 
"slotTempUnknown", 
"slotTempInt", 
"slotTempFloat", 
"slotTempStr", 
"slotTempComplex"};
static TNimNode* TMP1843[5];
NI TMP1845;
static char* NIM_CONST TMP1844[5] = {
"emRepl", 
"emConst", 
"emOptimize", 
"emStaticExpr", 
"emStaticStmt"};
static TNimNode* TMP1846[3];
NI TMP1848;
static char* NIM_CONST TMP1847[3] = {
"allowCast", 
"allowFFI", 
"allowInfiniteLoops"};
static TNimNode* TMP2634[153];
NI TMP2636;
static char* NIM_CONST TMP2635[153] = {
"opcEof", 
"opcRet", 
"opcYldYoid", 
"opcYldVal", 
"opcAsgnInt", 
"opcAsgnStr", 
"opcAsgnFloat", 
"opcAsgnRef", 
"opcAsgnComplex", 
"opcRegToNode", 
"opcNodeToReg", 
"opcLdArr", 
"opcWrArr", 
"opcLdObj", 
"opcWrObj", 
"opcAddrReg", 
"opcAddrNode", 
"opcLdDeref", 
"opcWrDeref", 
"opcWrStrIdx", 
"opcLdStrIdx", 
"opcAddInt", 
"opcAddImmInt", 
"opcSubInt", 
"opcSubImmInt", 
"opcLenSeq", 
"opcLenStr", 
"opcIncl", 
"opcInclRange", 
"opcExcl", 
"opcCard", 
"opcMulInt", 
"opcDivInt", 
"opcModInt", 
"opcAddFloat", 
"opcSubFloat", 
"opcMulFloat", 
"opcDivFloat", 
"opcShrInt", 
"opcShlInt", 
"opcBitandInt", 
"opcBitorInt", 
"opcBitxorInt", 
"opcAddu", 
"opcSubu", 
"opcMulu", 
"opcDivu", 
"opcModu", 
"opcEqInt", 
"opcLeInt", 
"opcLtInt", 
"opcEqFloat", 
"opcLeFloat", 
"opcLtFloat", 
"opcLeu", 
"opcLtu", 
"opcEqRef", 
"opcEqNimrodNode", 
"opcXor", 
"opcNot", 
"opcUnaryMinusInt", 
"opcUnaryMinusFloat", 
"opcBitnotInt", 
"opcEqStr", 
"opcLeStr", 
"opcLtStr", 
"opcEqSet", 
"opcLeSet", 
"opcLtSet", 
"opcMulSet", 
"opcPlusSet", 
"opcMinusSet", 
"opcSymdiffSet", 
"opcConcatStr", 
"opcContainsSet", 
"opcRepr", 
"opcSetLenStr", 
"opcSetLenSeq", 
"opcSwap", 
"opcIsNil", 
"opcOf", 
"opcIs", 
"opcSubStr", 
"opcConv", 
"opcCast", 
"opcQuit", 
"opcReset", 
"opcNarrowS", 
"opcNarrowU", 
"opcAddStrCh", 
"opcAddStrStr", 
"opcAddSeqElem", 
"opcRangeChck", 
"opcNAdd", 
"opcNAddMultiple", 
"opcNKind", 
"opcNIntVal", 
"opcNFloatVal", 
"opcNSymbol", 
"opcNIdent", 
"opcNGetType", 
"opcNStrVal", 
"opcNSetIntVal", 
"opcNSetFloatVal", 
"opcNSetSymbol", 
"opcNSetIdent", 
"opcNSetType", 
"opcNSetStrVal", 
"opcNNewNimNode", 
"opcNCopyNimNode", 
"opcNCopyNimTree", 
"opcNDel", 
"opcGenSym", 
"opcSlurp", 
"opcGorge", 
"opcParseExprToAst", 
"opcParseStmtToAst", 
"opcNError", 
"opcNWarning", 
"opcNHint", 
"opcNLineInfo", 
"opcEqIdent", 
"opcStrToIdent", 
"opcIdentToStr", 
"opcEcho", 
"opcIndCall", 
"opcIndCallAsgn", 
"opcRaise", 
"opcNChild", 
"opcNSetChild", 
"opcCallSite", 
"opcNewStr", 
"opcTJmp", 
"opcFJmp", 
"opcJmp", 
"opcJmpBack", 
"opcBranch", 
"opcTry", 
"opcExcept", 
"opcFinally", 
"opcFinallyEnd", 
"opcNew", 
"opcNewSeq", 
"opcLdNull", 
"opcLdNullReg", 
"opcLdConst", 
"opcAsgnConst", 
"opcLdGlobal", 
"opcLdGlobalAddr", 
"opcLdImmInt", 
"opcNBindSym", 
"opcSetType", 
"opcTypeTrait"};
static TNimNode TMP842[201];
NTI249037.size = sizeof(tctx249037);
NTI249037.kind = 17;
NTI249037.base = (&NTI246003);
TMP1832[0] = &TMP842[1];
NTI249229.size = sizeof(TY249229*);
NTI249229.kind = 24;
NTI249229.base = (&NTI122);
NTI249229.flags = 2;
NTI249229.marker = TMP1833;
TMP842[1].kind = 1;
TMP842[1].offset = offsetof(tctx249037, Code);
TMP842[1].typ = (&NTI249229);
TMP842[1].name = "code";
TMP1832[1] = &TMP842[2];
TMP842[2].kind = 1;
TMP842[2].offset = offsetof(tctx249037, Debug);
TMP842[2].typ = (&NTI164208);
TMP842[2].name = "debug";
TMP1832[2] = &TMP842[3];
TMP842[3].kind = 1;
TMP842[3].offset = offsetof(tctx249037, Globals);
TMP842[3].typ = (&NTI188795);
TMP842[3].name = "globals";
TMP1832[3] = &TMP842[4];
TMP842[4].kind = 1;
TMP842[4].offset = offsetof(tctx249037, Constants);
TMP842[4].typ = (&NTI188795);
TMP842[4].name = "constants";
TMP1832[4] = &TMP842[5];
TMP842[5].kind = 1;
TMP842[5].offset = offsetof(tctx249037, Types);
TMP842[5].typ = (&NTI188835);
TMP842[5].name = "types";
TMP1832[5] = &TMP842[6];
TMP842[6].kind = 1;
TMP842[6].offset = offsetof(tctx249037, Currentexceptiona);
TMP842[6].typ = (&NTI188795);
TMP842[6].name = "currentExceptionA";
TMP1832[6] = &TMP842[7];
TMP842[7].kind = 1;
TMP842[7].offset = offsetof(tctx249037, Currentexceptionb);
TMP842[7].typ = (&NTI188795);
TMP842[7].name = "currentExceptionB";
TMP1832[7] = &TMP842[8];
TMP842[8].kind = 1;
TMP842[8].offset = offsetof(tctx249037, Exceptioninstr);
TMP842[8].typ = (&NTI106);
TMP842[8].name = "exceptionInstr";
TMP1832[8] = &TMP842[9];
NTI249216.size = sizeof(pprocHEX3Aobjecttype249216);
NTI249216.kind = 18;
NTI249216.base = 0;
NTI249216.flags = 2;
TMP1834[0] = &TMP842[11];
NTI249023.size = sizeof(tblock249023);
NTI249023.kind = 18;
NTI249023.base = 0;
NTI249023.flags = 2;
TMP1835[0] = &TMP842[13];
TMP842[13].kind = 1;
TMP842[13].offset = offsetof(tblock249023, Label);
TMP842[13].typ = (&NTI188801);
TMP842[13].name = "label";
TMP1835[1] = &TMP842[14];
NTI249198.size = sizeof(TY249198*);
NTI249198.kind = 24;
NTI249198.base = (&NTI106);
NTI249198.flags = 2;
NTI249198.marker = TMP1836;
TMP842[14].kind = 1;
TMP842[14].offset = offsetof(tblock249023, Fixups);
TMP842[14].typ = (&NTI249198);
TMP842[14].name = "fixups";
TMP842[12].len = 2; TMP842[12].kind = 2; TMP842[12].sons = &TMP1835[0];
NTI249023.node = &TMP842[12];
NTI249217.size = sizeof(TY249217*);
NTI249217.kind = 24;
NTI249217.base = (&NTI249023);
NTI249217.flags = 2;
NTI249217.marker = TMP1837;
TMP842[11].kind = 1;
TMP842[11].offset = offsetof(pprocHEX3Aobjecttype249216, Blocks);
TMP842[11].typ = (&NTI249217);
TMP842[11].name = "blocks";
TMP1834[1] = &TMP842[15];
TMP842[15].kind = 1;
TMP842[15].offset = offsetof(pprocHEX3Aobjecttype249216, Sym);
TMP842[15].typ = (&NTI188801);
TMP842[15].name = "sym";
TMP1834[2] = &TMP842[16];
NTI249223.size = sizeof(TY249223);
NTI249223.kind = 18;
NTI249223.base = 0;
NTI249223.flags = 3;
TMP1838[0] = &TMP842[18];
TMP842[18].kind = 1;
TMP842[18].offset = offsetof(TY249223, Field0);
TMP842[18].typ = (&NTI134);
TMP842[18].name = "Field0";
TMP1838[1] = &TMP842[19];
NTI249031.size = sizeof(NU8);
NTI249031.kind = 14;
NTI249031.base = 0;
NTI249031.flags = 3;
for (TMP1841 = 0; TMP1841 < 8; TMP1841++) {
TMP842[TMP1841+20].kind = 1;
TMP842[TMP1841+20].offset = TMP1841;
TMP842[TMP1841+20].name = TMP1840[TMP1841];
TMP1839[TMP1841] = &TMP842[TMP1841+20];
}
TMP842[28].len = 8; TMP842[28].kind = 2; TMP842[28].sons = &TMP1839[0];
NTI249031.node = &TMP842[28];
TMP842[19].kind = 1;
TMP842[19].offset = offsetof(TY249223, Field1);
TMP842[19].typ = (&NTI249031);
TMP842[19].name = "Field1";
TMP842[17].len = 2; TMP842[17].kind = 2; TMP842[17].sons = &TMP1838[0];
NTI249223.node = &TMP842[17];
NTI249220.size = sizeof(TY249220);
NTI249220.kind = 16;
NTI249220.base = (&NTI249223);
NTI249220.flags = 3;
TMP842[16].kind = 1;
TMP842[16].offset = offsetof(pprocHEX3Aobjecttype249216, Slots);
TMP842[16].typ = (&NTI249220);
TMP842[16].name = "slots";
TMP1834[3] = &TMP842[29];
TMP842[29].kind = 1;
TMP842[29].offset = offsetof(pprocHEX3Aobjecttype249216, Maxslots);
TMP842[29].typ = (&NTI106);
TMP842[29].name = "maxSlots";
TMP842[10].len = 4; TMP842[10].kind = 2; TMP842[10].sons = &TMP1834[0];
NTI249216.node = &TMP842[10];
NTI249033.size = sizeof(pprocHEX3Aobjecttype249216*);
NTI249033.kind = 22;
NTI249033.base = (&NTI249216);
NTI249033.flags = 2;
NTI249033.marker = TMP1842;
TMP842[9].kind = 1;
TMP842[9].offset = offsetof(tctx249037, Prc);
TMP842[9].typ = (&NTI249033);
TMP842[9].name = "prc";
TMP1832[9] = &TMP842[30];
TMP842[30].kind = 1;
TMP842[30].offset = offsetof(tctx249037, Module);
TMP842[30].typ = (&NTI188801);
TMP842[30].name = "module";
TMP1832[10] = &TMP842[31];
TMP842[31].kind = 1;
TMP842[31].offset = offsetof(tctx249037, Callsite);
TMP842[31].typ = (&NTI188795);
TMP842[31].name = "callsite";
TMP1832[11] = &TMP842[32];
NTI249025.size = sizeof(NU8);
NTI249025.kind = 14;
NTI249025.base = 0;
NTI249025.flags = 3;
for (TMP1845 = 0; TMP1845 < 5; TMP1845++) {
TMP842[TMP1845+33].kind = 1;
TMP842[TMP1845+33].offset = TMP1845;
TMP842[TMP1845+33].name = TMP1844[TMP1845];
TMP1843[TMP1845] = &TMP842[TMP1845+33];
}
TMP842[38].len = 5; TMP842[38].kind = 2; TMP842[38].sons = &TMP1843[0];
NTI249025.node = &TMP842[38];
TMP842[32].kind = 1;
TMP842[32].offset = offsetof(tctx249037, Mode);
TMP842[32].typ = (&NTI249025);
TMP842[32].name = "mode";
TMP1832[12] = &TMP842[39];
NTI249027.size = sizeof(NU8);
NTI249027.kind = 14;
NTI249027.base = 0;
NTI249027.flags = 3;
for (TMP1848 = 0; TMP1848 < 3; TMP1848++) {
TMP842[TMP1848+40].kind = 1;
TMP842[TMP1848+40].offset = TMP1848;
TMP842[TMP1848+40].name = TMP1847[TMP1848];
TMP1846[TMP1848] = &TMP842[TMP1848+40];
}
TMP842[43].len = 3; TMP842[43].kind = 2; TMP842[43].sons = &TMP1846[0];
NTI249027.node = &TMP842[43];
NTI249029.size = sizeof(NU8);
NTI249029.kind = 19;
NTI249029.base = (&NTI249027);
NTI249029.flags = 3;
TMP842[44].len = 0; TMP842[44].kind = 0;
NTI249029.node = &TMP842[44];
TMP842[39].kind = 1;
TMP842[39].offset = offsetof(tctx249037, Features);
TMP842[39].typ = (&NTI249029);
TMP842[39].name = "features";
TMP1832[13] = &TMP842[45];
TMP842[45].kind = 1;
TMP842[45].offset = offsetof(tctx249037, Traceactive);
TMP842[45].typ = (&NTI134);
TMP842[45].name = "traceActive";
TMP1832[14] = &TMP842[46];
TMP842[46].kind = 1;
TMP842[46].offset = offsetof(tctx249037, Loopiterations);
TMP842[46].typ = (&NTI106);
TMP842[46].name = "loopIterations";
TMP842[0].len = 15; TMP842[0].kind = 2; TMP842[0].sons = &TMP1832[0];
NTI249037.node = &TMP842[0];
NTI249035.size = sizeof(tctx249037*);
NTI249035.kind = 22;
NTI249035.base = (&NTI249037);
NTI249035.marker = TMP1849;
NTI249021.size = sizeof(NU8);
NTI249021.kind = 14;
NTI249021.base = 0;
NTI249021.flags = 3;
for (TMP2636 = 0; TMP2636 < 153; TMP2636++) {
TMP842[TMP2636+47].kind = 1;
TMP842[TMP2636+47].offset = TMP2636;
TMP842[TMP2636+47].name = TMP2635[TMP2636];
TMP2634[TMP2636] = &TMP842[TMP2636+47];
}
TMP842[200].len = 153; TMP842[200].kind = 2; TMP842[200].sons = &TMP2634[0];
NTI249021.node = &TMP842[200];
}

