// File: /workspace/github_c_makefile_star2_O3/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 0x5ca21(%rip), %rax     # 0xdf888
movq (%rax), %rcx
movl $0x3, %edx
xorl %eax, %eax
movq %rcx, %rsi
subq %rax, %rsi
leaq (%rsi,%rsi,2), %rax
leaq 0x30(,%rax,8), %rsi
movq %rsi, %rax
shrq $0xc, %rax
andl $0xff8, %esi            # imm = 0xFF8
cmpq $0x1, %rsi
sbbq $-0x1, %rax
decl %edx
jne 0x82e71
pushq %r15
pushq %r14
pushq %rbx
leaq 0x5ca80(%rip), %rcx     # 0xdf928
movq %rax, (%rcx)
leaq 0x5c9ae(%rip), %rcx     # 0xdf860
movq (%rcx), %rcx
shlq $0xc, %rax
subq %rax, %rcx
leaq 0x5ca6d(%rip), %rax     # 0xdf930
movq %rcx, (%rax)
movq $0x8, 0x5bd2f(%rip) # 0xdec00
leaq 0x5bd28(%rip), %rbx     # 0xdec00
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
callq 0x85313
movq %rax, %r14
movl 0x5bd32(%rip), %esi     # 0xdec20
leaq 0x5bd33(%rip), %rdi     # 0xdec28
callq 0x85630
movq $0x10, 0x5bd63(%rip) # 0xdec68
leaq 0x5bd5c(%rip), %rdi     # 0xdec68
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5bd6b(%rip), %esi     # 0xdec88
leaq 0x5bd6c(%rip), %rdi     # 0xdec90
callq 0x85630
movq $0x20, 0x5bd9c(%rip) # 0xdecd0
leaq 0x5bd95(%rip), %rdi     # 0xdecd0
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5bda4(%rip), %esi     # 0xdecf0
leaq 0x5bda5(%rip), %rdi     # 0xdecf8
callq 0x85630
movq $0x30, 0x5bdd5(%rip) # 0xded38
leaq 0x5bdce(%rip), %rdi     # 0xded38
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5bddd(%rip), %esi     # 0xded58
leaq 0x5bdde(%rip), %rdi     # 0xded60
callq 0x85630
movq $0x40, 0x5be0e(%rip) # 0xdeda0
leaq 0x5be07(%rip), %rdi     # 0xdeda0
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5be16(%rip), %esi     # 0xdedc0
leaq 0x5be17(%rip), %rdi     # 0xdedc8
callq 0x85630
movq $0x50, 0x5be47(%rip) # 0xdee08
leaq 0x5be40(%rip), %rdi     # 0xdee08
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5be4f(%rip), %esi     # 0xdee28
leaq 0x5be50(%rip), %rdi     # 0xdee30
callq 0x85630
movq $0x60, 0x5be80(%rip) # 0xdee70
leaq 0x5be79(%rip), %rdi     # 0xdee70
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5be88(%rip), %esi     # 0xdee90
leaq 0x5be89(%rip), %rdi     # 0xdee98
callq 0x85630
movq $0x70, 0x5beb9(%rip) # 0xdeed8
leaq 0x5beb2(%rip), %rdi     # 0xdeed8
movq %r14, %rsi
callq 0x85313
movq %rax, %r14
movl 0x5bec1(%rip), %esi     # 0xdeef8
movl $0x300, %r15d           # imm = 0x300
addq %r15, %rbx
movq %rbx, %rdi
callq 0x85630
movq $0x80, 0x5beed(%rip) # 0xdef40
leaq 0x5bee6(%rip), %rdi     # 0xdef40
movq %r14, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5bef5(%rip), %esi     # 0xdef60
leaq 0x5bef6(%rip), %rdi     # 0xdef68
callq 0x85630
movq $0xa0, 0x5bf26(%rip) # 0xdefa8
leaq 0x5bf1f(%rip), %rdi     # 0xdefa8
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5bf2e(%rip), %esi     # 0xdefc8
leaq 0x5bf2f(%rip), %rdi     # 0xdefd0
callq 0x85630
movq $0xc0, 0x5bf5f(%rip) # 0xdf010
leaq 0x5bf58(%rip), %rdi     # 0xdf010
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5bf67(%rip), %esi     # 0xdf030
leaq 0x5bf68(%rip), %rdi     # 0xdf038
callq 0x85630
movq $0xe0, 0x5bf98(%rip) # 0xdf078
leaq 0x5bf91(%rip), %rdi     # 0xdf078
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5bfa0(%rip), %esi     # 0xdf098
leaq 0x5bfa1(%rip), %rdi     # 0xdf0a0
callq 0x85630
movq $0x100, 0x5bfd1(%rip) # imm = 0x100
leaq 0x5bfca(%rip), %rdi     # 0xdf0e0
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5bfd9(%rip), %esi     # 0xdf100
leaq 0x5bfda(%rip), %rdi     # 0xdf108
callq 0x85630
movq $0x140, 0x5c00a(%rip) # imm = 0x140
leaq 0x5c003(%rip), %rdi     # 0xdf148
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c012(%rip), %esi     # 0xdf168
leaq 0x5c013(%rip), %rdi     # 0xdf170
callq 0x85630
movq $0x180, 0x5c043(%rip) # imm = 0x180
leaq 0x5c03c(%rip), %rdi     # 0xdf1b0
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c04b(%rip), %esi     # 0xdf1d0
leaq 0x5c04c(%rip), %rdi     # 0xdf1d8
callq 0x85630
movl $0x1c0, %eax            # imm = 0x1C0
movq %rax, 0x5c07b(%rip)     # 0xdf218
leaq 0x5c074(%rip), %rdi     # 0xdf218
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c083(%rip), %esi     # 0xdf238
leaq 0x5c084(%rip), %rdi     # 0xdf240
callq 0x85630
movq $0x200, 0x5c0b4(%rip) # imm = 0x200
leaq 0x5c0ad(%rip), %rdi     # 0xdf280
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c0bc(%rip), %esi     # 0xdf2a0
leaq 0x5c0bd(%rip), %rdi     # 0xdf2a8
callq 0x85630
movq $0x280, 0x5c0ed(%rip) # imm = 0x280
leaq 0x5c0e6(%rip), %rdi     # 0xdf2e8
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c0f5(%rip), %esi     # 0xdf308
leaq 0x5c0f6(%rip), %rdi     # 0xdf310
callq 0x85630
movq %r15, 0x5c12a(%rip)     # 0xdf350
leaq 0x5c123(%rip), %rdi     # 0xdf350
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c132(%rip), %esi     # 0xdf370
leaq 0x5c133(%rip), %rdi     # 0xdf378
callq 0x85630
movq $0x380, 0x5c163(%rip) # imm = 0x380
leaq 0x5c15c(%rip), %rdi     # 0xdf3b8
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c16b(%rip), %esi     # 0xdf3d8
leaq 0x5c16c(%rip), %rdi     # 0xdf3e0
callq 0x85630
movq $0x400, 0x5c19c(%rip) # imm = 0x400
leaq 0x5c195(%rip), %rdi     # 0xdf420
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c1a4(%rip), %esi     # 0xdf440
leaq 0x5c1a5(%rip), %rdi     # 0xdf448
callq 0x85630
movl $0x500, %eax            # imm = 0x500
movq %rax, 0x5c1d4(%rip)     # 0xdf488
leaq 0x5c1cd(%rip), %rdi     # 0xdf488
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c1dc(%rip), %esi     # 0xdf4a8
leaq 0x5c1dd(%rip), %rdi     # 0xdf4b0
callq 0x85630
movq $0x600, 0x5c20d(%rip) # imm = 0x600
leaq 0x5c206(%rip), %rdi     # 0xdf4f0
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c215(%rip), %esi     # 0xdf510
leaq 0x5c216(%rip), %rdi     # 0xdf518
callq 0x85630
movq $0x700, 0x5c246(%rip) # imm = 0x700
leaq 0x5c23f(%rip), %rdi     # 0xdf558
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c24e(%rip), %esi     # 0xdf578
leaq 0x5c24f(%rip), %rdi     # 0xdf580
callq 0x85630
movq $0x800, 0x5c27f(%rip) # imm = 0x800
leaq 0x5c278(%rip), %rdi     # 0xdf5c0
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c287(%rip), %esi     # 0xdf5e0
leaq 0x5c288(%rip), %rdi     # 0xdf5e8
callq 0x85630
movq $0xa00, 0x5c2b8(%rip) # imm = 0xA00
leaq 0x5c2b1(%rip), %rdi     # 0xdf628
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c2c0(%rip), %esi     # 0xdf648
leaq 0x5c2c1(%rip), %rdi     # 0xdf650
callq 0x85630
movq $0xc00, 0x5c2f1(%rip) # imm = 0xC00
leaq 0x5c2ea(%rip), %rdi     # 0xdf690
movq %rbx, %rsi
callq 0x85313
movq %rax, %rbx
movl 0x5c2f9(%rip), %esi     # 0xdf6b0
leaq 0x5c2fa(%rip), %rdi     # 0xdf6b8
callq 0x85630
movq $0xe00, 0x5c32a(%rip) # imm = 0xE00
leaq 0x5c323(%rip), %rdi     # 0xdf6f8
movq %rbx, %rsi
callq 0x85313
movl 0x5c335(%rip), %esi     # 0xdf718
leaq 0x5c336(%rip), %rdi     # 0xdf720
popq %rbx
popq %r14
popq %r15
jmp 0x85630