// File: /workspace/github_c_makefile_star2_O3/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       # 0x25152
leaq 0x780(%rip), %rsi       # 0x25176
callq 0x2d678
movq %rax, 0x3d7fe(%rip)     # 0x62200
leaq -0x1031(%rip), %rdi     # 0x239d8
leaq -0xa31(%rip), %rsi      # 0x23fdf
callq 0x2d678
movq %rax, 0x3d7c4(%rip)     # 0x621e0
leaq 0x1340f(%rip), %rsi     # 0x37e32
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x133d5(%rip), %rsi     # 0x37e3a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x1339f(%rip), %rsi     # 0x37e43
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x13369(%rip), %rsi     # 0x37e4c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x13334(%rip), %rsi     # 0x37e56
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x132ff(%rip), %rsi     # 0x37e60
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x132c9(%rip), %rsi     # 0x37e69
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
leaq 0x13293(%rip), %rsi     # 0x37e72
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
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 0x22a20
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x20a7c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
xorl %esi, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x12202(%rip), %rsi     # 0x36e3e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d585(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x2, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x121a9(%rip), %rsi     # 0x36e28
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d542(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x3, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x12181(%rip), %rsi     # 0x36e43
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d4ff(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x4, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x12149(%rip), %rsi     # 0x36e4e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d4bc(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x5, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x1210c(%rip), %rsi     # 0x36e54
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d479(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x6, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11f4f(%rip), %rsi     # 0x36cda
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d436(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x7, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x12092(%rip), %rsi     # 0x36e60
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d3f3(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x8, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x12056(%rip), %rsi     # 0x36e67
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d3b0(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x9, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11ff4(%rip), %rsi     # 0x36e48
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d36d(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xa, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11fb6(%rip), %rsi     # 0x36e4d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d32a(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xb, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11f79(%rip), %rsi     # 0x36e53
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d2e7(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xc, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11f3d(%rip), %rsi     # 0x36e5a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d2a4(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xd, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11eff(%rip), %rsi     # 0x36e5f
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d261(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xe, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11ec3(%rip), %rsi     # 0x36e66
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d21e(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xf, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11e87(%rip), %rsi     # 0x36e6d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d1db(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x10, %esi
callq 0x2289d
movq %rax, %r14
leaq 0x11e4a(%rip), %rsi     # 0x36e73
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1d6f5
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x208aa
movq 0x3d198(%rip), %rdi     # 0x621e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2d71e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x11, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x12, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x13, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x14, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x15, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x16, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x17, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x18, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x19, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1a, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1b, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1c, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1d, %esi
callq 0x2289d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1e, %esi
callq 0x2289d
movq 0x3d0cc(%rip), %rax     # 0x621f8
movq 0x30(%rax), %rsi
movq %rbx, %rdi
callq 0x244a7
movq 0x3d0b9(%rip), %rax     # 0x621f8
movq 0x38(%rax), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x24896