// File: /workspace/github_c_makefile_star2_O2/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 0x72e(%rip), %rdi       # 0x22569
leaq 0x74b(%rip), %rsi       # 0x2258d
callq 0x2a188
movq %rax, 0x3d3b2(%rip)     # 0x5f200
leaq -0xe20(%rip), %rdi      # 0x21035
leaq -0x8c2(%rip), %rsi      # 0x2159a
callq 0x2a188
movq %rax, 0x3d378(%rip)     # 0x5f1e0
leaq 0x11fd3(%rip), %rsi     # 0x33e42
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
subq $0x10, %rsp
andl $0x0, 0x8(%rsp)
andq $0x0, (%rsp)
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11f92(%rip), %rsi     # 0x33e4a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11f5c(%rip), %rsi     # 0x33e53
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11f26(%rip), %rsi     # 0x33e5c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11ef1(%rip), %rsi     # 0x33e66
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11ebc(%rip), %rsi     # 0x33e70
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11e86(%rip), %rsi     # 0x33e79
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
leaq 0x11e50(%rip), %rsi     # 0x33e82
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x0
pushq $0x0
callq 0x1ff41
addq $0x10, %rsp
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x1e436
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
xorl %esi, %esi
callq 0x1fdc2
pushq $0x1
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10d81(%rip), %rsi     # 0x32e0e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3d134(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x2
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10d2a(%rip), %rsi     # 0x32df8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3d0f3(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x3
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10d04(%rip), %rsi     # 0x32e13
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3d0b2(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x4
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10cce(%rip), %rsi     # 0x32e1e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3d071(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x5
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10c93(%rip), %rsi     # 0x32e24
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3d030(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x6
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10ad8(%rip), %rsi     # 0x32caa
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cfef(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x7
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10c1d(%rip), %rsi     # 0x32e30
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cfae(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x8
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10be3(%rip), %rsi     # 0x32e37
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cf6d(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x9
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10b83(%rip), %rsi     # 0x32e18
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cf2c(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0xa
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10b47(%rip), %rsi     # 0x32e1d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3ceeb(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0xb
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10b0c(%rip), %rsi     # 0x32e23
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3ceaa(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0xc
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10ad2(%rip), %rsi     # 0x32e2a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3ce69(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0xd
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10a96(%rip), %rsi     # 0x32e2f
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3ce28(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0xe
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10a5c(%rip), %rsi     # 0x32e36
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cde7(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0xf
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x10a22(%rip), %rsi     # 0x32e3d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cda6(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x10
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq %rax, %r14
leaq 0x109e7(%rip), %rsi     # 0x32e43
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1b7fd
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1e2a4
movq 0x3cd65(%rip), %rdi     # 0x5f1e0
movq %r14, %rsi
movq %r14, %rdx
callq 0x2a22a
pushq $0x11
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x12
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x13
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x14
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x15
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x16
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x17
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x18
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x19
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x1a
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x1b
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x1c
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x1d
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
pushq $0x1e
popq %rsi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1fdc2
movq 0x3ccb5(%rip), %rax     # 0x5f1f8
movq 0x30(%rax), %rsi
movq %rbx, %rdi
callq 0x21a2c
movq 0x3cca2(%rip), %rax     # 0x5f1f8
movq 0x38(%rax), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x21d0a