// File: /workspace/github_c_makefile_star2_O0/nilyang[P]redis-tdd-annotation/deps/jemalloc/src/tcache.c
// Function: tcache_boot0
bool
tcache_boot0(void)
{
	unsigned i;

	/*
	 * If necessary, clamp opt_lg_tcache_max, now that arena_maxclass is
	 * known.
	 */
	if (opt_lg_tcache_max < 0 || (1U << opt_lg_tcache_max) < SMALL_MAXCLASS)
		tcache_maxclass = SMALL_MAXCLASS;
	else if ((1U << opt_lg_tcache_max) > arena_maxclass)
		tcache_maxclass = arena_maxclass;
	else
		tcache_maxclass = (1U << opt_lg_tcache_max);

	nhbins = NBINS + (tcache_maxclass >> LG_PAGE);

	/* Initialize tcache_bin_info. */
	tcache_bin_info = (tcache_bin_info_t *)base_alloc(nhbins *
	    sizeof(tcache_bin_info_t));
	if (tcache_bin_info == NULL)
		return (true);
	stack_nelms = 0;
	for (i = 0; i < NBINS; i++) {
		if ((arena_bin_info[i].nregs << 1) <= TCACHE_NSLOTS_SMALL_MAX) {
			tcache_bin_info[i].ncached_max =
			    (arena_bin_info[i].nregs << 1);
		} else {
			tcache_bin_info[i].ncached_max =
			    TCACHE_NSLOTS_SMALL_MAX;
		}
		stack_nelms += tcache_bin_info[i].ncached_max;
	}
	for (; i < nhbins; i++) {
		tcache_bin_info[i].ncached_max = TCACHE_NSLOTS_LARGE;
		stack_nelms += tcache_bin_info[i].ncached_max;
	}

	return (false);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
cmpq $0x0, 0x3d428(%rip)     # 0x1138e8
jl 0xd64d9
movq 0x3d41f(%rip), %rax     # 0x1138e8
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
cmpl $0xe00, %eax            # imm = 0xE00
jae 0xd64e6
movq $0xe00, 0x6401c(%rip) # imm = 0xE00
jmp 0xd6532
movq 0x3d3fb(%rip), %rax     # 0x1138e8
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, %eax
leaq 0x52d81(%rip), %rcx     # 0x129280
cmpq (%rcx), %rax
jbe 0xd6517
leaq 0x52d75(%rip), %rax     # 0x129280
movq (%rax), %rax
movq %rax, 0x63feb(%rip)     # 0x13a500
jmp 0xd6530
movq 0x3d3ca(%rip), %rax     # 0x1138e8
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, %eax
movq %rax, 0x63fd0(%rip)     # 0x13a500
jmp 0xd6532
movq 0x63fc7(%rip), %rax     # 0x13a500
shrq $0xc, %rax
addq $0x1c, %rax
movq %rax, 0x63fa8(%rip)     # 0x13a4f0
movq 0x63fa1(%rip), %rdi     # 0x13a4f0
shlq $0x2, %rdi
callq 0xbfc90
movq %rax, 0x63f89(%rip)     # 0x13a4e8
cmpq $0x0, 0x63f81(%rip)     # 0x13a4e8
jne 0xd6572
movb $0x1, -0x1(%rbp)
jmp 0xd664e
movl $0x0, 0x63f7c(%rip)     # 0x13a4f8
movl $0x0, -0x8(%rbp)
cmpl $0x1c, -0x8(%rbp)
jae 0xd6607
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x51fbb(%rip), %rax     # 0x128550
imulq $0x68, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
shll %eax
cmpl $0xc8, %eax
ja 0xd65cf
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x51f9c(%rip), %rax     # 0x128550
imulq $0x68, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %edx
shll %edx
movq 0x63f21(%rip), %rax     # 0x13a4e8
movl -0x8(%rbp), %ecx
movl %edx, (%rax,%rcx,4)
jmp 0xd65e0
movq 0x63f12(%rip), %rax     # 0x13a4e8
movl -0x8(%rbp), %ecx
movl $0xc8, (%rax,%rcx,4)
movq 0x63f01(%rip), %rax     # 0x13a4e8
movl -0x8(%rbp), %ecx
movl (%rax,%rcx,4), %eax
addl 0x63f05(%rip), %eax     # 0x13a4f8
movl %eax, 0x63eff(%rip)     # 0x13a4f8
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xd6583
jmp 0xd6609
movl -0x8(%rbp), %eax
cmpq 0x63edd(%rip), %rax     # 0x13a4f0
jae 0xd664a
movq 0x63ecc(%rip), %rax     # 0x13a4e8
movl -0x8(%rbp), %ecx
movl $0x14, (%rax,%rcx,4)
movq 0x63ebb(%rip), %rax     # 0x13a4e8
movl -0x8(%rbp), %ecx
movl (%rax,%rcx,4), %eax
addl 0x63ebf(%rip), %eax     # 0x13a4f8
movl %eax, 0x63eb9(%rip)     # 0x13a4f8
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xd6609
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)