// File: /workspace/github_c_makefile_star2_O1/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 0x5ce57(%rip), %rax     # 0xdf928
movq $0x0, (%rax)
leaq 0x5cda9(%rip), %rcx     # 0xdf888
movq (%rcx), %rdx
movl $0x3, %esi
xorl %ecx, %ecx
movq %rdx, %rdi
subq %rcx, %rdi
leaq (%rdi,%rdi,2), %rcx
leaq 0x30(,%rcx,8), %rdi
movq %rdi, %rcx
shrq $0xc, %rcx
andl $0xff8, %edi            # imm = 0xFF8
cmpq $0x1, %rdi
sbbq $-0x1, %rcx
decl %esi
jne 0x82ae9
pushq %r15
pushq %r14
pushq %rbx
movq %rcx, (%rax)
leaq 0x5cd3d(%rip), %rax     # 0xdf860
movq (%rax), %rax
shlq $0xc, %rcx
subq %rcx, %rax
leaq 0x5cdfc(%rip), %rcx     # 0xdf930
movq %rax, (%rcx)
movq $0x8, 0x5c0be(%rip) # 0xdec00
leaq 0x5c0b7(%rip), %rbx     # 0xdec00
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
callq 0x84fec
movq %rax, %r14
movl 0x5c0c1(%rip), %esi     # 0xdec20
leaq 0x5c0c2(%rip), %rdi     # 0xdec28
callq 0x852fc
movq $0x10, 0x5c0f2(%rip) # 0xdec68
leaq 0x5c0eb(%rip), %rdi     # 0xdec68
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c0fa(%rip), %esi     # 0xdec88
leaq 0x5c0fb(%rip), %rdi     # 0xdec90
callq 0x852fc
movq $0x20, 0x5c12b(%rip) # 0xdecd0
leaq 0x5c124(%rip), %rdi     # 0xdecd0
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c133(%rip), %esi     # 0xdecf0
leaq 0x5c134(%rip), %rdi     # 0xdecf8
callq 0x852fc
movq $0x30, 0x5c164(%rip) # 0xded38
leaq 0x5c15d(%rip), %rdi     # 0xded38
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c16c(%rip), %esi     # 0xded58
leaq 0x5c16d(%rip), %rdi     # 0xded60
callq 0x852fc
movq $0x40, 0x5c19d(%rip) # 0xdeda0
leaq 0x5c196(%rip), %rdi     # 0xdeda0
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c1a5(%rip), %esi     # 0xdedc0
leaq 0x5c1a6(%rip), %rdi     # 0xdedc8
callq 0x852fc
movq $0x50, 0x5c1d6(%rip) # 0xdee08
leaq 0x5c1cf(%rip), %rdi     # 0xdee08
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c1de(%rip), %esi     # 0xdee28
leaq 0x5c1df(%rip), %rdi     # 0xdee30
callq 0x852fc
movq $0x60, 0x5c20f(%rip) # 0xdee70
leaq 0x5c208(%rip), %rdi     # 0xdee70
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c217(%rip), %esi     # 0xdee90
leaq 0x5c218(%rip), %rdi     # 0xdee98
callq 0x852fc
movq $0x70, 0x5c248(%rip) # 0xdeed8
leaq 0x5c241(%rip), %rdi     # 0xdeed8
movq %r14, %rsi
callq 0x84fec
movq %rax, %r14
movl 0x5c250(%rip), %esi     # 0xdeef8
movl $0x300, %r15d           # imm = 0x300
addq %r15, %rbx
movq %rbx, %rdi
callq 0x852fc
movq $0x80, 0x5c27c(%rip) # 0xdef40
leaq 0x5c275(%rip), %rdi     # 0xdef40
movq %r14, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c284(%rip), %esi     # 0xdef60
leaq 0x5c285(%rip), %rdi     # 0xdef68
callq 0x852fc
movq $0xa0, 0x5c2b5(%rip) # 0xdefa8
leaq 0x5c2ae(%rip), %rdi     # 0xdefa8
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c2bd(%rip), %esi     # 0xdefc8
leaq 0x5c2be(%rip), %rdi     # 0xdefd0
callq 0x852fc
movq $0xc0, 0x5c2ee(%rip) # 0xdf010
leaq 0x5c2e7(%rip), %rdi     # 0xdf010
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c2f6(%rip), %esi     # 0xdf030
leaq 0x5c2f7(%rip), %rdi     # 0xdf038
callq 0x852fc
movq $0xe0, 0x5c327(%rip) # 0xdf078
leaq 0x5c320(%rip), %rdi     # 0xdf078
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c32f(%rip), %esi     # 0xdf098
leaq 0x5c330(%rip), %rdi     # 0xdf0a0
callq 0x852fc
movq $0x100, 0x5c360(%rip) # imm = 0x100
leaq 0x5c359(%rip), %rdi     # 0xdf0e0
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c368(%rip), %esi     # 0xdf100
leaq 0x5c369(%rip), %rdi     # 0xdf108
callq 0x852fc
movq $0x140, 0x5c399(%rip) # imm = 0x140
leaq 0x5c392(%rip), %rdi     # 0xdf148
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c3a1(%rip), %esi     # 0xdf168
leaq 0x5c3a2(%rip), %rdi     # 0xdf170
callq 0x852fc
movq $0x180, 0x5c3d2(%rip) # imm = 0x180
leaq 0x5c3cb(%rip), %rdi     # 0xdf1b0
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c3da(%rip), %esi     # 0xdf1d0
leaq 0x5c3db(%rip), %rdi     # 0xdf1d8
callq 0x852fc
movl $0x1c0, %eax            # imm = 0x1C0
movq %rax, 0x5c40a(%rip)     # 0xdf218
leaq 0x5c403(%rip), %rdi     # 0xdf218
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c412(%rip), %esi     # 0xdf238
leaq 0x5c413(%rip), %rdi     # 0xdf240
callq 0x852fc
movq $0x200, 0x5c443(%rip) # imm = 0x200
leaq 0x5c43c(%rip), %rdi     # 0xdf280
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c44b(%rip), %esi     # 0xdf2a0
leaq 0x5c44c(%rip), %rdi     # 0xdf2a8
callq 0x852fc
movq $0x280, 0x5c47c(%rip) # imm = 0x280
leaq 0x5c475(%rip), %rdi     # 0xdf2e8
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c484(%rip), %esi     # 0xdf308
leaq 0x5c485(%rip), %rdi     # 0xdf310
callq 0x852fc
movq %r15, 0x5c4b9(%rip)     # 0xdf350
leaq 0x5c4b2(%rip), %rdi     # 0xdf350
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c4c1(%rip), %esi     # 0xdf370
leaq 0x5c4c2(%rip), %rdi     # 0xdf378
callq 0x852fc
movq $0x380, 0x5c4f2(%rip) # imm = 0x380
leaq 0x5c4eb(%rip), %rdi     # 0xdf3b8
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c4fa(%rip), %esi     # 0xdf3d8
leaq 0x5c4fb(%rip), %rdi     # 0xdf3e0
callq 0x852fc
movq $0x400, 0x5c52b(%rip) # imm = 0x400
leaq 0x5c524(%rip), %rdi     # 0xdf420
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c533(%rip), %esi     # 0xdf440
leaq 0x5c534(%rip), %rdi     # 0xdf448
callq 0x852fc
movl $0x500, %eax            # imm = 0x500
movq %rax, 0x5c563(%rip)     # 0xdf488
leaq 0x5c55c(%rip), %rdi     # 0xdf488
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c56b(%rip), %esi     # 0xdf4a8
leaq 0x5c56c(%rip), %rdi     # 0xdf4b0
callq 0x852fc
movq $0x600, 0x5c59c(%rip) # imm = 0x600
leaq 0x5c595(%rip), %rdi     # 0xdf4f0
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c5a4(%rip), %esi     # 0xdf510
leaq 0x5c5a5(%rip), %rdi     # 0xdf518
callq 0x852fc
movq $0x700, 0x5c5d5(%rip) # imm = 0x700
leaq 0x5c5ce(%rip), %rdi     # 0xdf558
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c5dd(%rip), %esi     # 0xdf578
leaq 0x5c5de(%rip), %rdi     # 0xdf580
callq 0x852fc
movq $0x800, 0x5c60e(%rip) # imm = 0x800
leaq 0x5c607(%rip), %rdi     # 0xdf5c0
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c616(%rip), %esi     # 0xdf5e0
leaq 0x5c617(%rip), %rdi     # 0xdf5e8
callq 0x852fc
movq $0xa00, 0x5c647(%rip) # imm = 0xA00
leaq 0x5c640(%rip), %rdi     # 0xdf628
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c64f(%rip), %esi     # 0xdf648
leaq 0x5c650(%rip), %rdi     # 0xdf650
callq 0x852fc
movq $0xc00, 0x5c680(%rip) # imm = 0xC00
leaq 0x5c679(%rip), %rdi     # 0xdf690
movq %rbx, %rsi
callq 0x84fec
movq %rax, %rbx
movl 0x5c688(%rip), %esi     # 0xdf6b0
leaq 0x5c689(%rip), %rdi     # 0xdf6b8
callq 0x852fc
movq $0xe00, 0x5c6b9(%rip) # imm = 0xE00
leaq 0x5c6b2(%rip), %rdi     # 0xdf6f8
movq %rbx, %rsi
callq 0x84fec
movl 0x5c6c4(%rip), %esi     # 0xdf718
leaq 0x5c6c5(%rip), %rdi     # 0xdf720
popq %rbx
popq %r14
popq %r15
jmp 0x852fc