// File: /workspace/github_c_makefile_star2_O1/oridb[P]mc/parse/type.c
// Function: tyinit
void
tyinit(Stab *st)
{
	Type *ty;
	Trait *tr;

	eqcache = mkht(typairhash, typaireq);
	tydeduptab = mkht(tyhash, tystricteq);
	/* this must be done after all the types are created, otherwise we will
	 * clobber the memoized bunch of types with the type params. */
#define Tc(c, n) \
	tr = mktrait(Zloc, \
		mkname(Zloc, n), NULL, \
		NULL, 0, \
		NULL, 0, \
		0); \
	puttrait(st, tr->name, tr);
#include "trait.def"
#undef Tc

	/* Definining and registering the types has to go after we define the
	 * constraints, otherwise they will have no constraints set on them. */
#define Ty(t, n, stk)		\
	if (t != Ntypes) {	\
		ty = mktype(Zloc, t);	\
		if (n) {	\
			puttype(st, mkname(Zloc, n), ty);	\
			htput(tydeduptab, ty, ty); \
		}	\
	}
#include "types.def"
#undef Ty

	/*
	 * finally, initializing the builtin traits for use in user code
	 * comes last, since this needs both the types and the traits set up
	 */
	iterableinit(st, traittab[Tciter]);
	disposableinit(st, traittab[Tcdisp]);

}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x763(%rip), %rdi       # 0x255ca
leaq 0x780(%rip), %rsi       # 0x255ee
callq 0x2db1c
movq %rax, 0x3d386(%rip)     # 0x62200
leaq -0xff3(%rip), %rdi      # 0x23e8e
leaq -0xa31(%rip), %rsi      # 0x24457
callq 0x2db1c
movq %rax, 0x3d34c(%rip)     # 0x621e0
leaq 0x12fc7(%rip), %rsi     # 0x37e62
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
xorl %r14d, %r14d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12f8d(%rip), %rsi     # 0x37e6a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12f57(%rip), %rsi     # 0x37e73
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12f21(%rip), %rsi     # 0x37e7c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12eec(%rip), %rsi     # 0x37e86
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12eb7(%rip), %rsi     # 0x37e90
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12e81(%rip), %rsi     # 0x37e99
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
leaq 0x12e4b(%rip), %rsi     # 0x37ea2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r14
pushq %r14
callq 0x22ec3
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20cd8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
xorl %esi, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11d7a(%rip), %rsi     # 0x36e2e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3d10d(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x2, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11d21(%rip), %rsi     # 0x36e18
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3d0ca(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x3, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11cf9(%rip), %rsi     # 0x36e33
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3d087(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x4, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11cc1(%rip), %rsi     # 0x36e3e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3d044(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x5, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11c84(%rip), %rsi     # 0x36e44
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3d001(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x6, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11ac7(%rip), %rsi     # 0x36cca
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cfbe(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x7, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11c0a(%rip), %rsi     # 0x36e50
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cf7b(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x8, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11bce(%rip), %rsi     # 0x36e57
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cf38(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x9, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11b6c(%rip), %rsi     # 0x36e38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cef5(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xa, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11b2e(%rip), %rsi     # 0x36e3d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3ceb2(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xb, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11af1(%rip), %rsi     # 0x36e43
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3ce6f(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xc, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11ab5(%rip), %rsi     # 0x36e4a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3ce2c(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xd, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11a77(%rip), %rsi     # 0x36e4f
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cde9(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xe, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x11a3b(%rip), %rsi     # 0x36e56
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cda6(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xf, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x119ff(%rip), %rsi     # 0x36e5d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cd63(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x10, %esi
callq 0x22d38
movq %rax, %r14
leaq 0x119c2(%rip), %rsi     # 0x36e63
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d945
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x20b03
movq 0x3cd20(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2dbc2
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x11, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x12, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x13, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x14, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x15, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x16, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x17, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x18, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x19, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1a, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1b, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1c, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1d, %esi
callq 0x22d38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1e, %esi
callq 0x22d38
movq 0x3cc54(%rip), %rax     # 0x621f8
movq 0x30(%rax), %rsi
movq %rbx, %rdi
callq 0x2491f
movq 0x3cc41(%rip), %rax     # 0x621f8
movq 0x38(%rax), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x24d0e