// File: /workspace/github_c_makefile_star2_O3/nilyang[P]redis-tdd-annotation/deps/jemalloc/src/ctl.c
// Function: arenas_extend_ctl
static int
arenas_extend_ctl(const size_t *mib, size_t miblen, void *oldp, size_t *oldlenp,
    void *newp, size_t newlen)
{
	int ret;

	malloc_mutex_lock(&ctl_mtx);
	READONLY();
	if (ctl_grow()) {
		ret = EAGAIN;
		goto label_return;
	}
	READ(ctl_stats.narenas - 1, unsigned);

	ret = 0;
label_return:
	malloc_mutex_unlock(&ctl_mtx);
	return (ret);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x888, %rsp            # imm = 0x888
movq %r9, %rbx
movq %r8, %r12
movq %rcx, %r14
movq %rdx, %r13
leaq 0x579c6(%rip), %rdi     # 0xdf980
callq 0x1faa0
movl $0x1, %ebp
orq %rbx, %r12
je 0x87fe9
leaq 0x579b0(%rip), %rdi     # 0xdf980
callq 0x1fbb0
movl %ebp, %eax
addq $0x888, %rsp            # imm = 0x888
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x57a01(%rip), %eax     # 0xdf9f0
leal 0x2(%rax), %ecx
imulq $0x870, %rcx, %rbx      # imm = 0x870
leaq 0x56b80(%rip), %rcx     # 0xdeb80
cmpl (%rcx), %eax
jne 0x88082
movq %rbx, %rdi
callq 0x887c2
movl $0xb, %ebp
testq %rax, %rax
je 0x87fc9
movq %rax, %rbx
movq 0x579d8(%rip), %rsi     # 0xdf9f8
movl 0x579c9(%rip), %r12d    # 0xdf9f0
incl %r12d
imulq $0x870, %r12, %rdx      # imm = 0x870
movq %rax, %rdi
callq 0x1fbd0
shlq $0x3, %r12
movq %r12, %rdi
callq 0x887c2
testq %rax, %rax
je 0x881c6
movq %rax, %r12
movq %rbx, (%rsp)
movq %r14, %rbx
movq %r13, 0x8(%rsp)
leaq 0x56b14(%rip), %rax     # 0xdeb78
movq (%rax), %rsi
movl 0x57982(%rip), %r14d    # 0xdf9f0
movq %r14, %rdx
shlq $0x3, %rdx
movq %r12, %rdi
callq 0x1fbd0
jmp 0x882ff
movq 0x5796f(%rip), %r12     # 0xdf9f8
leaq 0x577f0(%rip), %rax     # 0xdf880
movq (%rax), %rax
notq %rax
andq %r12, %rax
movq %r12, %rcx
subq %rax, %rcx
je 0x880d4
shrq $0xc, %rcx
leaq 0x5787c(%rip), %rdx     # 0xdf928
subq (%rdx), %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x40(%rax,%rcx,8), %rdx
movl %edx, %eax
shrl $0x4, %eax
movl $0xff, %ecx
andl %ecx, %eax
movq %r14, %r15
cmpl %ecx, %eax
jne 0x880e4
andq $-0x1000, %rdx          # imm = 0xF000
jmp 0x880f3
movq %r14, %r15
movq %r12, %rdi
callq 0x8be94
movq %rax, %rdx
jmp 0x880f3
imulq $0x68, %rax, %rax
leaq 0x56b11(%rip), %rcx     # 0xdec00
movq (%rcx,%rax), %rdx
leaq 0x57836(%rip), %r14     # 0xdf930
cmpq %rbx, (%r14)
jae 0x88121
subq $0x8, %rsp
movq %r12, %rdi
movq %rdx, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x1
callq 0x8baa1
addq $0x10, %rsp
jmp 0x88145
subq $0x8, %rsp
movl $0x1, %eax
xorl %edi, %edi
movq %r12, %rsi
movq %rbx, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %rax
pushq $0x0
callq 0x82021
addq $0x20, %rsp
movq %rax, %rbx
movl $0xb, %ebp
testq %rax, %rax
je 0x87fc9
movq %r13, 0x8(%rsp)
leaq 0x56a16(%rip), %rax     # 0xdeb78
movq (%rax), %r13
movl 0x57884(%rip), %r12d    # 0xdf9f0
incl %r12d
shlq $0x3, %r12
leaq 0x57706(%rip), %rax     # 0xdf880
movq (%rax), %rax
notq %rax
andq %r13, %rax
movq %r13, %rcx
subq %rax, %rcx
je 0x8827e
shrq $0xc, %rcx
leaq 0x5778e(%rip), %rdx     # 0xdf928
subq (%rdx), %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x40(%rax,%rcx,8), %rdx
movl %edx, %eax
shrl $0x4, %eax
movl $0xff, %ecx
andl %ecx, %eax
cmpl %ecx, %eax
jne 0x8828b
andq $-0x1000, %rdx          # imm = 0xF000
jmp 0x8829a
leaq 0x576b3(%rip), %rax     # 0xdf880
movq (%rax), %r14
notq %r14
andq %rbx, %r14
movq %rbx, %r13
subq %r14, %r13
je 0x8842d
shrq $0xc, %r13
leaq 0x5773b(%rip), %rax     # 0xdf928
movq %r13, %rcx
subq (%rax), %rcx
movq (%r14), %rdi
leaq (%rcx,%rcx,2), %rax
movq 0x40(%r14,%rax,8), %r15
testb $0x2, %r15b
jne 0x8843f
movq 0x3dd48(%rip), %rax     # 0xc5f58
movq %fs:0x0, %rsi
addq %rax, %rsi
movq %fs:(%rax), %r12
cmpq $0x3, %r12
ja 0x884ce
jb 0x88545
jne 0x884d3
movq $0x2, %fs:(%rax)
leaq 0x6896b(%rip), %rax     # 0xf0bb0
movq %rdi, %r15
movl (%rax), %edi
callq 0x1f1c0
movq %r15, %rdi
testl %eax, %eax
je 0x88545
leaq 0x1af0d(%rip), %rdi     # 0xa316e
callq 0x915d4
movq %r15, %rdi
leaq 0x568ea(%rip), %rax     # 0xdeb5a
cmpb $0x1, (%rax)
jne 0x88545
jmp 0x884c9
movq %r13, %rdi
callq 0x8be94
movq %rax, %rdx
jmp 0x8829a
imulq $0x68, %rax, %rax
leaq 0x5696a(%rip), %rcx     # 0xdec00
movq (%rcx,%rax), %rdx
cmpq %r12, (%r14)
movq %rbx, (%rsp)
jae 0x882c5
subq $0x8, %rsp
movq %r13, %rdi
movq %rdx, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x1
callq 0x8baa1
addq $0x10, %rsp
jmp 0x882e9
subq $0x8, %rsp
movl $0x1, %eax
xorl %edi, %edi
movq %r13, %rsi
movq %r12, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %rax
pushq $0x0
callq 0x82021
addq $0x20, %rsp
movq %rax, %r12
testq %rax, %rax
je 0x87fc9
movq %r15, %rbx
movl 0x576f1(%rip), %r14d    # 0xdf9f0
incl %r14d
imulq $0x870, %r14, %r13      # imm = 0x870
addq (%rsp), %r13
movl $0x870, %edx            # imm = 0x870
movq %r13, %rdi
xorl %esi, %esi
callq 0x1f110
movq %r13, %rdi
callq 0x86466
movl $0xb, %ebp
testb %al, %al
movq 0x8(%rsp), %r15
jne 0x87fc9
movq %rbx, 0x10(%rsp)
movl 0x576ae(%rip), %r14d    # 0xdf9f0
movq $0x0, (%r12,%r14,8)
imulq $0x870, %r14, %r13      # imm = 0x870
movq (%rsp), %rbp
addq %rbp, %r13
leaq 0x18(%rsp), %rdi
movl $0x870, %edx            # imm = 0x870
movq %r13, %rsi
callq 0x1fbd0
leal 0x1(%r14), %ebx
imulq $0x870, %rbx, %r14      # imm = 0x870
addq %rbp, %r14
movl $0x870, %edx            # imm = 0x870
movq %r13, %rdi
movq %r14, %rsi
callq 0x1fbd0
movl $0x870, %edx            # imm = 0x870
movq %r14, %rdi
movq 0x10(%rsp), %r14
leaq 0x18(%rsp), %rsi
callq 0x1fbd0
movq %rbp, 0x57652(%rip)     # 0xdf9f8
movl %ebx, 0x57644(%rip)     # 0xdf9f0
leaq 0x567d5(%rip), %rbx     # 0xdeb88
movq %rbx, %rdi
callq 0x1faa0
leaq 0x567b6(%rip), %rax     # 0xdeb78
movq %r12, (%rax)
leaq 0x567e4(%rip), %rax     # 0xdebb0
movl (%rax), %edi
leal 0x1(%rdi), %ecx
movl %ecx, (%rax)
callq 0x7c478
movq %rbx, %rdi
callq 0x1fbb0
testq %r15, %r15
sete %al
testq %r14, %r14
sete %cl
orb %al, %cl
jne 0x88404
movq (%r14), %rax
cmpq $0x4, %rax
jne 0x8840b
movl 0x575f1(%rip), %eax     # 0xdf9f0
decl %eax
movl %eax, (%r15)
xorl %ebp, %ebp
jmp 0x87fc9
movl $0x4, %edx
cmovbq %rax, %rdx
leaq 0x575d4(%rip), %rsi     # 0xdf9ef
movq %r15, %rdi
callq 0x1fbd0
movl $0x16, %ebp
jmp 0x87fc9
movq %rbx, %rdi
movl $0x1, %esi
callq 0x8bdfd
jmp 0x87fc9
movq %r15, %rdx
andq $-0x1000, %rdx          # imm = 0xF000
leaq 0x68758(%rip), %rax     # 0xf0ba8
cmpq (%rax), %rdx
ja 0x885ee
movq 0x3daf8(%rip), %rax     # 0xc5f58
movq %fs:0x0, %rsi
addq %rax, %rsi
movq %fs:(%rax), %r12
cmpq $0x3, %r12
ja 0x88558
jb 0x885ee
jne 0x88561
movq $0x2, %fs:(%rax)
leaq 0x6871b(%rip), %rax     # 0xf0bb0
movq %rdi, %r15
movl (%rax), %edi
callq 0x1f1c0
movq %r15, %rdi
testl %eax, %eax
je 0x885ee
leaq 0x1acbd(%rip), %rdi     # 0xa316e
callq 0x915d4
movq %r15, %rdi
leaq 0x5669a(%rip), %rax     # 0xdeb5a
cmpb $0x1, (%rax)
jne 0x885ee
callq 0x1f1b0
testq %r12, %r12
je 0x88545
shrl $0x4, %r15d
movzbl %r15b, %r14d
leaq 0x56679(%rip), %rax     # 0xdeb5b
cmpb $0x1, (%rax)
jne 0x884fa
imulq $0x68, %r14, %rsi
addq 0x3dade(%rip), %rsi     # 0xc5fd0
movq %rbx, %rdi
callq 0x80b41
movl %r14d, %eax
shll $0x5, %eax
leaq (%r12,%rax), %r15
addq $0x28, %r15
leaq 0x68681(%rip), %rax     # 0xf0b90
movq (%rax), %rax
movl 0x10(%r15), %edx
cmpl (%rax,%r14,4), %edx
jne 0x88530
shrl %edx
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rcx
callq 0x90bee
movl 0x10(%r15), %edx
movq 0x18(%r15), %rax
movl %edx, %ecx
movq %rbx, (%rax,%rcx,8)
incl %edx
movl %edx, 0x10(%r15)
jmp 0x885ca
movq %r14, %rsi
movq %rbx, %rdx
movq %r13, %rcx
callq 0x817a1
jmp 0x87fc9
testq %r12, %r12
je 0x885ee
shrq $0xc, %r15
leaq 0x1b(%r15), %r13
leaq 0x565eb(%rip), %rax     # 0xdeb5b
cmpb $0x1, (%rax)
jne 0x88582
movq %rbx, %rdi
movl $0x5a, %esi
callq 0x1f110
movq %r13, %rax
shlq $0x5, %rax
leaq (%r12,%rax), %r14
addq $0x28, %r14
leaq 0x685f8(%rip), %rax     # 0xf0b90
movq (%rax), %rax
movl 0x10(%r14), %edx
cmpl 0x6c(%rax,%r15,4), %edx
jne 0x885ba
shrl %edx
movq %r14, %rdi
movq %r13, %rsi
movq %r12, %rcx
callq 0x90dea
movl 0x10(%r14), %edx
movq 0x18(%r14), %rax
movl %edx, %ecx
movq %rbx, (%rax,%rcx,8)
incl %edx
movl %edx, 0x10(%r14)
movl 0x20(%r12), %eax
incl %eax
movl %eax, 0x20(%r12)
cmpl $0x125, %eax            # imm = 0x125
jne 0x87fc9
movq %r12, %rdi
callq 0x90b49
jmp 0x87fc9
movq %r14, %rsi
movq %rbx, %rdx
callq 0x81c48
jmp 0x87fc9