/* 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/platform.o compiler/nimcache/platform.c */
#define NIM_INTBITS 32
#include "nimbase.h"
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tinfocpu142453 tinfocpu142453;
typedef struct tinfoos142044 tinfoos142044;
typedef struct tcell41090 tcell41090;
typedef struct TNimType TNimType;
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 TNimNode TNimNode;
typedef struct tbasechunk22636 tbasechunk22636;
typedef struct tfreecell22628 tfreecell22628;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tinfocpu142453 {
NimStringDesc* Field0;
NI Field1;
NU8 Field2;
NI Field3;
NI Field4;
};
typedef tinfocpu142453 TY142469[14];
struct tinfoos142044 {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
NU8 Field12;
};
typedef tinfoos142044 TY142064[23];
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;
};
typedef NimStringDesc* TY142463[2];
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;
};
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  TNimNode  {
NU8 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  tfreecell22628  {
tfreecell22628* Next;
NI Zerofield;
};
N_NIMCALL(NU8, nametocpu_142586)(NimStringDesc* name);
N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_NIMCALL(NU8, nametoos_142582)(NimStringDesc* name);
N_NIMCALL(void, settarget_142599)(NU8 o, NU8 c);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
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);
STRING_LITERAL(TMP59, "i386", 4);
STRING_LITERAL(TMP60, "m68k", 4);
STRING_LITERAL(TMP61, "alpha", 5);
STRING_LITERAL(TMP62, "powerpc", 7);
STRING_LITERAL(TMP63, "powerpc64", 9);
STRING_LITERAL(TMP64, "sparc", 5);
STRING_LITERAL(TMP65, "vm", 2);
STRING_LITERAL(TMP66, "ia64", 4);
STRING_LITERAL(TMP67, "amd64", 5);
STRING_LITERAL(TMP68, "mips", 4);
STRING_LITERAL(TMP69, "arm", 3);
STRING_LITERAL(TMP70, "js", 2);
STRING_LITERAL(TMP71, "nimrodvm", 8);
STRING_LITERAL(TMP72, "avr", 3);
NIM_CONST TY142469 cpu_142468 = {{((NimStringDesc*) &TMP59),
32,
((NU8) 0),
64,
32}
,
{((NimStringDesc*) &TMP60),
32,
((NU8) 1),
64,
32}
,
{((NimStringDesc*) &TMP61),
64,
((NU8) 0),
64,
64}
,
{((NimStringDesc*) &TMP62),
32,
((NU8) 1),
64,
32}
,
{((NimStringDesc*) &TMP63),
64,
((NU8) 1),
64,
64}
,
{((NimStringDesc*) &TMP64),
32,
((NU8) 1),
64,
32}
,
{((NimStringDesc*) &TMP65),
32,
((NU8) 0),
64,
32}
,
{((NimStringDesc*) &TMP66),
64,
((NU8) 0),
64,
64}
,
{((NimStringDesc*) &TMP67),
64,
((NU8) 0),
64,
64}
,
{((NimStringDesc*) &TMP68),
32,
((NU8) 1),
64,
32}
,
{((NimStringDesc*) &TMP69),
32,
((NU8) 0),
64,
32}
,
{((NimStringDesc*) &TMP70),
32,
((NU8) 1),
64,
32}
,
{((NimStringDesc*) &TMP71),
32,
((NU8) 1),
64,
32}
,
{((NimStringDesc*) &TMP72),
16,
((NU8) 0),
32,
16}
}
;
STRING_LITERAL(TMP73, "DOS", 3);
STRING_LITERAL(TMP74, "..", 2);
STRING_LITERAL(TMP75, "$1.dll", 6);
STRING_LITERAL(TMP76, "/", 1);
STRING_LITERAL(TMP77, ".obj", 4);
STRING_LITERAL(TMP78, "\015\012", 2);
STRING_LITERAL(TMP79, ";", 1);
STRING_LITERAL(TMP80, "\\", 1);
STRING_LITERAL(TMP81, ".bat", 4);
STRING_LITERAL(TMP82, ".", 1);
STRING_LITERAL(TMP83, ".exe", 4);
STRING_LITERAL(TMP84, "Windows", 7);
STRING_LITERAL(TMP85, "OS2", 3);
STRING_LITERAL(TMP86, "Linux", 5);
STRING_LITERAL(TMP87, "lib$1.so", 8);
STRING_LITERAL(TMP88, ".o", 2);
STRING_LITERAL(TMP89, "\012", 1);
STRING_LITERAL(TMP90, ":", 1);
STRING_LITERAL(TMP91, ".sh", 3);
STRING_LITERAL(TMP92, "", 0);
STRING_LITERAL(TMP93, "MorphOS", 7);
STRING_LITERAL(TMP94, "SkyOS", 5);
STRING_LITERAL(TMP95, "Solaris", 7);
STRING_LITERAL(TMP96, "Irix", 4);
STRING_LITERAL(TMP97, "NetBSD", 6);
STRING_LITERAL(TMP98, "FreeBSD", 7);
STRING_LITERAL(TMP99, "OpenBSD", 7);
STRING_LITERAL(TMP100, "AIX", 3);
STRING_LITERAL(TMP101, "PalmOS", 6);
STRING_LITERAL(TMP102, "QNX", 3);
STRING_LITERAL(TMP103, "Amiga", 5);
STRING_LITERAL(TMP104, "$1.library", 10);
STRING_LITERAL(TMP105, "Atari", 5);
STRING_LITERAL(TMP106, ".tpp", 4);
STRING_LITERAL(TMP107, "Netware", 7);
STRING_LITERAL(TMP108, "$1.nlm", 6);
STRING_LITERAL(TMP109, ".nlm", 4);
STRING_LITERAL(TMP110, "MacOS", 5);
STRING_LITERAL(TMP111, "::", 2);
STRING_LITERAL(TMP112, "$1Lib", 5);
STRING_LITERAL(TMP113, "\015", 1);
STRING_LITERAL(TMP114, ",", 1);
STRING_LITERAL(TMP115, "MacOSX", 6);
STRING_LITERAL(TMP116, "lib$1.dylib", 11);
STRING_LITERAL(TMP117, "Haiku", 5);
STRING_LITERAL(TMP118, "JS", 2);
STRING_LITERAL(TMP119, "NimrodVM", 8);
STRING_LITERAL(TMP120, "Standalone", 10);
NIM_CONST TY142064 os_142063 = {{((NimStringDesc*) &TMP73),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP75),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP77),
((NimStringDesc*) &TMP78),
((NimStringDesc*) &TMP79),
((NimStringDesc*) &TMP80),
((NimStringDesc*) &TMP81),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP83),
((NimStringDesc*) &TMP82),
2}
,
{((NimStringDesc*) &TMP84),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP75),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP77),
((NimStringDesc*) &TMP78),
((NimStringDesc*) &TMP79),
((NimStringDesc*) &TMP80),
((NimStringDesc*) &TMP81),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP83),
((NimStringDesc*) &TMP82),
2}
,
{((NimStringDesc*) &TMP85),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP75),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP77),
((NimStringDesc*) &TMP78),
((NimStringDesc*) &TMP79),
((NimStringDesc*) &TMP80),
((NimStringDesc*) &TMP81),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP83),
((NimStringDesc*) &TMP82),
2}
,
{((NimStringDesc*) &TMP86),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP93),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP94),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP95),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP96),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP97),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP98),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP99),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP100),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP101),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
1}
,
{((NimStringDesc*) &TMP102),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
5}
,
{((NimStringDesc*) &TMP103),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP104),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
1}
,
{((NimStringDesc*) &TMP105),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP75),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP106),
((NimStringDesc*) &TMP82),
1}
,
{((NimStringDesc*) &TMP107),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP108),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP78),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP109),
((NimStringDesc*) &TMP82),
2}
,
{((NimStringDesc*) &TMP110),
((NimStringDesc*) &TMP111),
((NimStringDesc*) &TMP112),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP113),
((NimStringDesc*) &TMP114),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
2}
,
{((NimStringDesc*) &TMP115),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP116),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
13}
,
{((NimStringDesc*) &TMP117),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
13}
,
{((NimStringDesc*) &TMP118),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
0}
,
{((NimStringDesc*) &TMP119),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
0}
,
{((NimStringDesc*) &TMP120),
((NimStringDesc*) &TMP74),
((NimStringDesc*) &TMP87),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP88),
((NimStringDesc*) &TMP89),
((NimStringDesc*) &TMP90),
((NimStringDesc*) &TMP76),
((NimStringDesc*) &TMP91),
((NimStringDesc*) &TMP82),
((NimStringDesc*) &TMP92),
((NimStringDesc*) &TMP82),
0}
}
;
STRING_LITERAL(TMP121, "linux", 5);
STRING_LITERAL(TMP1008, "littleEndian", 12);
STRING_LITERAL(TMP1009, "bigEndian", 9);
NIM_CONST TY142463 endiantostr_142462 = {((NimStringDesc*) &TMP1008),
((NimStringDesc*) &TMP1009)}
;
NU8 targetcpu_142573;
NU8 hostcpu_142574;
NU8 targetos_142575;
NU8 hostos_142576;
NI intsize_142590;
NI floatsize_142591;
NI ptrsize_142592;
NimStringDesc* tnl_142593;
extern tgcheap43016 gch_43044;

N_NIMCALL(NU8, nametocpu_142586)(NimStringDesc* name) {
	NU8 result;
	NU8 i_143131;
	NU8 res_143134;
	result = 0;
	i_143131 = 0;
	res_143134 = ((NU8) 1);
	while (1) {
		if (!(res_143134 <= ((NU8) 14))) goto LA1;
		i_143131 = res_143134;
		{
			NI LOC4;
			LOC4 = 0;
			LOC4 = nsuCmpIgnoreStyle(name, cpu_142468[(i_143131)- 1].Field0);
			if (!(LOC4 == 0)) goto LA5;
			result = i_143131;
			goto BeforeRet;
		}
		LA5: ;
		res_143134 += 1;
	} LA1: ;
	result = ((NU8) 0);
	BeforeRet: ;
	return result;
}

N_NIMCALL(NU8, nametoos_142582)(NimStringDesc* name) {
	NU8 result;
	NU8 i_143063;
	NU8 res_143066;
	result = 0;
	i_143063 = 0;
	res_143066 = ((NU8) 1);
	while (1) {
		if (!(res_143066 <= ((NU8) 23))) goto LA1;
		i_143063 = res_143066;
		{
			NI LOC4;
			LOC4 = 0;
			LOC4 = nsuCmpIgnoreStyle(name, os_142063[(i_143063)- 1].Field0);
			if (!(LOC4 == 0)) goto LA5;
			result = i_143063;
			goto BeforeRet;
		}
		LA5: ;
		res_143066 += 1;
	} LA1: ;
	result = ((NU8) 0);
	BeforeRet: ;
	return result;
}

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: ;
}

N_NIMCALL(void, settarget_142599)(NU8 o, NU8 c) {
	NimStringDesc* LOC1;
	targetcpu_142573 = c;
	targetos_142575 = o;
	intsize_142590 = (NI32)(cpu_142468[(c)- 1].Field1 / 8);
	floatsize_142591 = (NI32)(cpu_142468[(c)- 1].Field3 / 8);
	ptrsize_142592 = (NI32)(cpu_142468[(c)- 1].Field4 / 8);
	LOC1 = 0;
	LOC1 = tnl_142593; tnl_142593 = copyStringRC1(os_142063[(o)- 1].Field5);
	if (LOC1) nimGCunrefNoCycle(LOC1);
}
N_NOINLINE(void, platformInit)(void) {
	hostcpu_142574 = nametocpu_142586(((NimStringDesc*) &TMP59));
	hostos_142576 = nametoos_142582(((NimStringDesc*) &TMP121));
	settarget_142599(hostos_142576, hostcpu_142574);
}

N_NOINLINE(void, platformDatInit)(void) {
}

