// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/deps/jemalloc/src/tcache.c
// Function: je_tcache_boot
bool
tcache_boot(void)
{
	unsigned i;

	/*
	 * If necessary, clamp opt_lg_tcache_max, now that large_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) > large_maxclass)
		tcache_maxclass = large_maxclass;
	else
		tcache_maxclass = (1U << opt_lg_tcache_max);

	nhbins = size2index(tcache_maxclass) + 1;

	/* 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_MIN) {
			tcache_bin_info[i].ncached_max =
			    TCACHE_NSLOTS_SMALL_MIN;
		} else 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 $0x30, %rsp
cmpq $0x0, 0x257c8(%rip)     # 0xa1468
jl 0x7bcbc
movq 0x257bf(%rip), %rax     # 0xa1468
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, %eax
cmpq $0x3800, %rax           # imm = 0x3800
jae 0x7bcc9
movq $0x3800, 0x27211(%rip) # imm = 0x3800
jmp 0x7bd15
movq 0x25798(%rip), %rax     # 0xa1468
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, %eax
leaq 0x268de(%rip), %rcx     # 0xa25c0
cmpq (%rcx), %rax
jbe 0x7bcfa
leaq 0x268d2(%rip), %rax     # 0xa25c0
movq (%rax), %rax
movq %rax, 0x271e0(%rip)     # 0xa2ed8
jmp 0x7bd13
movq 0x25767(%rip), %rax     # 0xa1468
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, %eax
movq %rax, 0x271c5(%rip)     # 0xa2ed8
jmp 0x7bd15
movq 0x271bc(%rip), %rax     # 0xa2ed8
movq %rax, -0x20(%rbp)
cmpq $0x1000, -0x20(%rbp)    # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x7bd31
jmp 0x7bd5d
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x12f34(%rip), %rax     # 0x8ec80
movzbl (%rax,%rcx), %eax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl %eax, -0x14(%rbp)
jmp 0x7bd69
movq -0x20(%rbp), %rdi
callq 0x7bfe0
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x27138(%rip)     # 0xa2eb0
movq 0x27131(%rip), %rdi     # 0xa2eb0
shlq $0x2, %rdi
callq 0x4f320
movq %rax, 0x27119(%rip)     # 0xa2ea8
cmpq $0x0, 0x27111(%rip)     # 0xa2ea8
jne 0x7bda2
movb $0x1, -0x21(%rbp)
jmp 0x7beb4
movl $0x0, 0x2710c(%rip)     # 0xa2eb8
movl $0x0, -0x28(%rbp)
cmpl $0x27, -0x28(%rbp)
jae 0x7be6d
movl -0x28(%rbp), %eax
movl %eax, %ecx
leaq 0x25957(%rip), %rax     # 0xa1720
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
shll %eax
cmpl $0x14, %eax
ja 0x7bded
movq 0x270c7(%rip), %rax     # 0xa2ea8
movl -0x28(%rbp), %ecx
movl $0x14, (%rax,%rcx,4)
jmp 0x7be46
movl -0x28(%rbp), %eax
movl %eax, %ecx
leaq 0x25927(%rip), %rax     # 0xa1720
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
shll %eax
cmpl $0xc8, %eax
ja 0x7be33
movl -0x28(%rbp), %eax
movl %eax, %ecx
leaq 0x25908(%rip), %rax     # 0xa1720
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %edx
shll %edx
movq 0x2707d(%rip), %rax     # 0xa2ea8
movl -0x28(%rbp), %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x7be44
movq 0x2706e(%rip), %rax     # 0xa2ea8
movl -0x28(%rbp), %ecx
movl $0xc8, (%rax,%rcx,4)
jmp 0x7be46
movq 0x2705b(%rip), %rax     # 0xa2ea8
movl -0x28(%rbp), %ecx
movl (%rax,%rcx,4), %eax
addl 0x2705f(%rip), %eax     # 0xa2eb8
movl %eax, 0x27059(%rip)     # 0xa2eb8
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x7bdb3
jmp 0x7be6f
movl -0x28(%rbp), %eax
cmpq 0x27037(%rip), %rax     # 0xa2eb0
jae 0x7beb0
movq 0x27026(%rip), %rax     # 0xa2ea8
movl -0x28(%rbp), %ecx
movl $0x14, (%rax,%rcx,4)
movq 0x27015(%rip), %rax     # 0xa2ea8
movl -0x28(%rbp), %ecx
movl (%rax,%rcx,4), %eax
addl 0x27019(%rip), %eax     # 0xa2eb8
movl %eax, 0x27013(%rip)     # 0xa2eb8
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x7be6f
movb $0x0, -0x21(%rbp)
movb -0x21(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nop