// File: /workspace/github_c_makefile_star2_O2/nilyang[P]redis-tdd-annotation/deps/jemalloc/src/arena.c
// Function: arena_boot
void
arena_boot(void)
{
	size_t header_size;
	unsigned i;

	/*
	 * Compute the header size such that it is large enough to contain the
	 * page map.  The page map is biased to omit entries for the header
	 * itself, so some iteration is necessary to compute the map bias.
	 *
	 * 1) Compute safe header_size and map_bias values that include enough
	 *    space for an unbiased page map.
	 * 2) Refine map_bias based on (1) to omit the header pages in the page
	 *    map.  The resulting map_bias may be one too small.
	 * 3) Refine map_bias based on (2).  The result will be >= the result
	 *    from (2), and will always be correct.
	 */
	map_bias = 0;
	for (i = 0; i < 3; i++) {
		header_size = offsetof(arena_chunk_t, map) +
		    (sizeof(arena_chunk_map_t) * (chunk_npages-map_bias));
		map_bias = (header_size >> LG_PAGE) + ((header_size & PAGE_MASK)
		    != 0);
	}
	assert(map_bias > 0);

	arena_maxclass = chunksize - (map_bias << LG_PAGE);

	bin_info_init();
}

// Assembly:
leaq 0x62682(%rip), %rax     # 0xdc888
movq (%rax), %rcx
pushq $0x3
popq %rdx
xorl %eax, %eax
subl $0x1, %edx
jb 0x7a238
movq %rcx, %rsi
subq %rax, %rsi
imulq $0x18, %rsi, %rsi
addq $0x30, %rsi
movq %rsi, %rax
shrq $0xc, %rax
andl $0xff8, %esi            # imm = 0xFF8
cmpq $0x1, %rsi
sbbq $-0x1, %rax
jmp 0x7a20e
pushq %r15
pushq %r14
pushq %rbx
leaq 0x626e4(%rip), %rcx     # 0xdc928
movq %rax, (%rcx)
leaq 0x62612(%rip), %rcx     # 0xdc860
movq (%rcx), %rcx
shlq $0xc, %rax
subq %rax, %rcx
leaq 0x626d1(%rip), %rax     # 0xdc930
movq %rcx, (%rax)
movq $0x8, 0x61993(%rip) # 0xdbc00
leaq 0x6198c(%rip), %rbx     # 0xdbc00
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
callq 0x7c591
movq %rax, %r14
movl 0x61996(%rip), %esi     # 0xdbc20
leaq 0x61997(%rip), %rdi     # 0xdbc28
callq 0x7c8a0
movq $0x10, 0x619c7(%rip) # 0xdbc68
leaq 0x619c0(%rip), %rdi     # 0xdbc68
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x619cf(%rip), %esi     # 0xdbc88
leaq 0x619d0(%rip), %rdi     # 0xdbc90
callq 0x7c8a0
movq $0x20, 0x61a00(%rip) # 0xdbcd0
leaq 0x619f9(%rip), %rdi     # 0xdbcd0
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x61a08(%rip), %esi     # 0xdbcf0
leaq 0x61a09(%rip), %rdi     # 0xdbcf8
callq 0x7c8a0
movq $0x30, 0x61a39(%rip) # 0xdbd38
leaq 0x61a32(%rip), %rdi     # 0xdbd38
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x61a41(%rip), %esi     # 0xdbd58
leaq 0x61a42(%rip), %rdi     # 0xdbd60
callq 0x7c8a0
movq $0x40, 0x61a72(%rip) # 0xdbda0
leaq 0x61a6b(%rip), %rdi     # 0xdbda0
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x61a7a(%rip), %esi     # 0xdbdc0
leaq 0x61a7b(%rip), %rdi     # 0xdbdc8
callq 0x7c8a0
movq $0x50, 0x61aab(%rip) # 0xdbe08
leaq 0x61aa4(%rip), %rdi     # 0xdbe08
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x61ab3(%rip), %esi     # 0xdbe28
leaq 0x61ab4(%rip), %rdi     # 0xdbe30
callq 0x7c8a0
movq $0x60, 0x61ae4(%rip) # 0xdbe70
leaq 0x61add(%rip), %rdi     # 0xdbe70
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x61aec(%rip), %esi     # 0xdbe90
leaq 0x61aed(%rip), %rdi     # 0xdbe98
callq 0x7c8a0
movq $0x70, 0x61b1d(%rip) # 0xdbed8
leaq 0x61b16(%rip), %rdi     # 0xdbed8
movq %r14, %rsi
callq 0x7c591
movq %rax, %r14
movl 0x61b25(%rip), %esi     # 0xdbef8
movl $0x300, %r15d           # imm = 0x300
addq %r15, %rbx
movq %rbx, %rdi
callq 0x7c8a0
movq $0x80, 0x61b51(%rip) # 0xdbf40
leaq 0x61b4a(%rip), %rdi     # 0xdbf40
movq %r14, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61b59(%rip), %esi     # 0xdbf60
leaq 0x61b5a(%rip), %rdi     # 0xdbf68
callq 0x7c8a0
movq $0xa0, 0x61b8a(%rip) # 0xdbfa8
leaq 0x61b83(%rip), %rdi     # 0xdbfa8
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61b92(%rip), %esi     # 0xdbfc8
leaq 0x61b93(%rip), %rdi     # 0xdbfd0
callq 0x7c8a0
movq $0xc0, 0x61bc3(%rip) # 0xdc010
leaq 0x61bbc(%rip), %rdi     # 0xdc010
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61bcb(%rip), %esi     # 0xdc030
leaq 0x61bcc(%rip), %rdi     # 0xdc038
callq 0x7c8a0
movq $0xe0, 0x61bfc(%rip) # 0xdc078
leaq 0x61bf5(%rip), %rdi     # 0xdc078
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61c04(%rip), %esi     # 0xdc098
leaq 0x61c05(%rip), %rdi     # 0xdc0a0
callq 0x7c8a0
movq $0x100, 0x61c35(%rip) # imm = 0x100
leaq 0x61c2e(%rip), %rdi     # 0xdc0e0
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61c3d(%rip), %esi     # 0xdc100
leaq 0x61c3e(%rip), %rdi     # 0xdc108
callq 0x7c8a0
movq $0x140, 0x61c6e(%rip) # imm = 0x140
leaq 0x61c67(%rip), %rdi     # 0xdc148
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61c76(%rip), %esi     # 0xdc168
leaq 0x61c77(%rip), %rdi     # 0xdc170
callq 0x7c8a0
movq $0x180, 0x61ca7(%rip) # imm = 0x180
leaq 0x61ca0(%rip), %rdi     # 0xdc1b0
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61caf(%rip), %esi     # 0xdc1d0
leaq 0x61cb0(%rip), %rdi     # 0xdc1d8
callq 0x7c8a0
movl $0x1c0, %eax            # imm = 0x1C0
movq %rax, 0x61cdf(%rip)     # 0xdc218
leaq 0x61cd8(%rip), %rdi     # 0xdc218
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61ce7(%rip), %esi     # 0xdc238
leaq 0x61ce8(%rip), %rdi     # 0xdc240
callq 0x7c8a0
movq $0x200, 0x61d18(%rip) # imm = 0x200
leaq 0x61d11(%rip), %rdi     # 0xdc280
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61d20(%rip), %esi     # 0xdc2a0
leaq 0x61d21(%rip), %rdi     # 0xdc2a8
callq 0x7c8a0
movq $0x280, 0x61d51(%rip) # imm = 0x280
leaq 0x61d4a(%rip), %rdi     # 0xdc2e8
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61d59(%rip), %esi     # 0xdc308
leaq 0x61d5a(%rip), %rdi     # 0xdc310
callq 0x7c8a0
movq %r15, 0x61d8e(%rip)     # 0xdc350
leaq 0x61d87(%rip), %rdi     # 0xdc350
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61d96(%rip), %esi     # 0xdc370
leaq 0x61d97(%rip), %rdi     # 0xdc378
callq 0x7c8a0
movq $0x380, 0x61dc7(%rip) # imm = 0x380
leaq 0x61dc0(%rip), %rdi     # 0xdc3b8
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61dcf(%rip), %esi     # 0xdc3d8
leaq 0x61dd0(%rip), %rdi     # 0xdc3e0
callq 0x7c8a0
movq $0x400, 0x61e00(%rip) # imm = 0x400
leaq 0x61df9(%rip), %rdi     # 0xdc420
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61e08(%rip), %esi     # 0xdc440
leaq 0x61e09(%rip), %rdi     # 0xdc448
callq 0x7c8a0
movl $0x500, %eax            # imm = 0x500
movq %rax, 0x61e38(%rip)     # 0xdc488
leaq 0x61e31(%rip), %rdi     # 0xdc488
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61e40(%rip), %esi     # 0xdc4a8
leaq 0x61e41(%rip), %rdi     # 0xdc4b0
callq 0x7c8a0
movq $0x600, 0x61e71(%rip) # imm = 0x600
leaq 0x61e6a(%rip), %rdi     # 0xdc4f0
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61e79(%rip), %esi     # 0xdc510
leaq 0x61e7a(%rip), %rdi     # 0xdc518
callq 0x7c8a0
movq $0x700, 0x61eaa(%rip) # imm = 0x700
leaq 0x61ea3(%rip), %rdi     # 0xdc558
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61eb2(%rip), %esi     # 0xdc578
leaq 0x61eb3(%rip), %rdi     # 0xdc580
callq 0x7c8a0
movq $0x800, 0x61ee3(%rip) # imm = 0x800
leaq 0x61edc(%rip), %rdi     # 0xdc5c0
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61eeb(%rip), %esi     # 0xdc5e0
leaq 0x61eec(%rip), %rdi     # 0xdc5e8
callq 0x7c8a0
movq $0xa00, 0x61f1c(%rip) # imm = 0xA00
leaq 0x61f15(%rip), %rdi     # 0xdc628
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61f24(%rip), %esi     # 0xdc648
leaq 0x61f25(%rip), %rdi     # 0xdc650
callq 0x7c8a0
movq $0xc00, 0x61f55(%rip) # imm = 0xC00
leaq 0x61f4e(%rip), %rdi     # 0xdc690
movq %rbx, %rsi
callq 0x7c591
movq %rax, %rbx
movl 0x61f5d(%rip), %esi     # 0xdc6b0
leaq 0x61f5e(%rip), %rdi     # 0xdc6b8
callq 0x7c8a0
movq $0xe00, 0x61f8e(%rip) # imm = 0xE00
leaq 0x61f87(%rip), %rdi     # 0xdc6f8
movq %rbx, %rsi
callq 0x7c591
movl 0x61f99(%rip), %esi     # 0xdc718
leaq 0x61f9a(%rip), %rdi     # 0xdc720
popq %rbx
popq %r14
popq %r15
jmp 0x7c8a0