// File: /workspace/github_c_makefile_star2_O2/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 $0x878, %rsp            # imm = 0x878
movq %r9, %rbx
movq %r8, %r14
movq %rcx, %r12
movq %rdx, %r15
leaq 0x5d956(%rip), %rdi     # 0xdc980
callq 0x1faa0
orq %rbx, %r14
je 0x7f057
pushq $0x1
popq %rbx
leaq 0x5d942(%rip), %rdi     # 0xdc980
callq 0x1fbb0
movl %ebx, %eax
addq $0x878, %rsp            # imm = 0x878
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x5d993(%rip), %eax     # 0xdc9f0
leal 0x2(%rax), %ecx
imulq $0x870, %rcx, %rsi      # imm = 0x870
leaq 0x5cb12(%rip), %rcx     # 0xdbb80
pushq $0xb
popq %rbx
cmpl (%rcx), %eax
jne 0x7f0de
movq %rsi, %rdi
callq 0x7f5a8
testq %rax, %rax
je 0x7f037
movq %rax, %r14
movq 0x5d96c(%rip), %rsi     # 0xdc9f8
movl 0x5d95d(%rip), %r13d    # 0xdc9f0
incl %r13d
imulq $0x870, %r13, %rdx      # imm = 0x870
movq %rax, %rdi
callq 0x1fbd0
shlq $0x3, %r13
movq %r13, %rdi
callq 0x7f5a8
testq %rax, %rax
je 0x7f220
movq %rax, %r13
leaq 0x5cab4(%rip), %rax     # 0xdbb78
movq (%rax), %rsi
movl 0x5d923(%rip), %ebp     # 0xdc9f0
movq %rbp, %rdx
shlq $0x3, %rdx
movq %r13, %rdi
callq 0x1fbd0
jmp 0x7f123
movq 0x5d913(%rip), %rdi     # 0xdc9f8
callq 0x7f770
testq %rax, %rax
je 0x7f037
movq %rax, %r14
leaq 0x5ca7b(%rip), %rax     # 0xdbb78
movq (%rax), %rdi
movl 0x5d8ea(%rip), %esi     # 0xdc9f0
incl %esi
shlq $0x3, %rsi
callq 0x7f770
testq %rax, %rax
je 0x7f037
movq %rax, %r13
movl 0x5d8cd(%rip), %ebp     # 0xdc9f0
incl %ebp
imulq $0x870, %rbp, %rbp      # imm = 0x870
addq %r14, %rbp
movl $0x870, %edx            # imm = 0x870
movq %rbp, %rdi
xorl %esi, %esi
callq 0x1f110
movq %rbp, %rdi
callq 0x7d663
testb %al, %al
jne 0x7f037
movl 0x5d89c(%rip), %ebp     # 0xdc9f0
andq $0x0, (%r13,%rbp,8)
imulq $0x870, %rbp, %rbx      # imm = 0x870
addq %r14, %rbx
leaq 0x8(%rsp), %rdi
movl $0x870, %edx            # imm = 0x870
movq %rbx, %rsi
callq 0x1fbd0
movq %r15, (%rsp)
leal 0x1(%rbp), %r15d
imulq $0x870, %r15, %rbp      # imm = 0x870
addq %r14, %rbp
movl $0x870, %edx            # imm = 0x870
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x1fbd0
movl $0x870, %edx            # imm = 0x870
movq %rbp, %rdi
leaq 0x8(%rsp), %rsi
callq 0x1fbd0
movq %r14, 0x5d847(%rip)     # 0xdc9f8
movl %r15d, 0x5d838(%rip)    # 0xdc9f0
movq (%rsp), %r14
leaq 0x5c9c5(%rip), %rbx     # 0xdbb88
movq %rbx, %rdi
callq 0x1faa0
leaq 0x5c9a6(%rip), %rax     # 0xdbb78
movq %r13, (%rax)
leaq 0x5c9d4(%rip), %rax     # 0xdbbb0
movl (%rax), %edi
leal 0x1(%rdi), %ecx
movl %ecx, (%rax)
callq 0x7520c
movq %rbx, %rdi
callq 0x1fbb0
testq %r14, %r14
sete %al
testq %r12, %r12
sete %cl
orb %al, %cl
jne 0x7f219
movq (%r12), %rax
cmpq $0x4, %rax
jne 0x7f2f2
movl 0x5d7dc(%rip), %eax     # 0xdc9f0
decl %eax
movl %eax, (%r14)
xorl %ebx, %ebx
jmp 0x7f037
leaq 0x5d659(%rip), %rax     # 0xdc880
movq (%rax), %r12
notq %r12
andq %r14, %r12
movq %r14, %rbp
subq %r12, %rbp
je 0x7f30f
shrq $0xc, %rbp
leaq 0x5d6e1(%rip), %rax     # 0xdc928
movq %rbp, %rcx
subq (%rax), %rcx
movq (%r12), %r13
imulq $0x18, %rcx, %rax
movq 0x40(%r12,%rax), %r15
testb $0x2, %r15b
jne 0x7f31f
xorl %edi, %edi
callq 0x7f839
testq %rax, %rax
je 0x7f3e2
shrl $0x4, %r15d
movzbl %r15b, %r12d
leaq 0x5c8d8(%rip), %rcx     # 0xdbb5b
cmpb $0x1, (%rcx)
jne 0x7f2a1
imulq $0x68, %r12, %rsi
addq 0x43d3d(%rip), %rsi     # 0xc2fd0
movq %r14, %rdi
movq %rax, %r15
callq 0x7833d
movq %r15, %rax
movl %r12d, %edx
shll $0x5, %edx
leaq (%rax,%rdx), %r13
addq $0x28, %r13
leaq 0x6e8da(%rip), %rcx     # 0xedb90
movq (%rcx), %rcx
movl 0x38(%rax,%rdx), %edx
cmpl (%rcx,%r12,4), %edx
jne 0x7f2dd
shrl %edx
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rcx
movq %rax, %r15
callq 0x870f5
movq %r15, %rax
movl 0x10(%r13), %edx
movq 0x18(%r13), %rsi
movl %edx, %ecx
movq %r14, (%rsi,%rcx,8)
incl %edx
movl %edx, 0x10(%r13)
jmp 0x7f3c2
pushq $0x4
popq %rdx
cmovbq %rax, %rdx
leaq 0x5d6ef(%rip), %rsi     # 0xdc9ef
movq %r14, %rdi
callq 0x1fbd0
pushq $0x16
jmp 0x7f036
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0x82936
jmp 0x7f037
movq %r15, %rbp
andq $-0x1000, %rbp          # imm = 0xF000
leaq 0x6e878(%rip), %rax     # 0xedba8
cmpq (%rax), %rbp
ja 0x7f3cf
xorl %edi, %edi
callq 0x7f839
testq %rax, %rax
je 0x7f3cf
shrq $0xc, %r15
leaq 0x1b(%r15), %r13
leaq 0x5c803(%rip), %rcx     # 0xdbb5b
cmpb $0x1, (%rcx)
jne 0x7f371
pushq $0x5a
popq %rsi
movq %r14, %rdi
movq %rbp, %rdx
movq %rax, %r12
callq 0x1f110
movq %r12, %rax
movq %r13, %rdx
shlq $0x5, %rdx
leaq (%rax,%rdx), %r12
addq $0x28, %r12
leaq 0x6e809(%rip), %rcx     # 0xedb90
movq (%rcx), %rcx
movl 0x38(%rax,%rdx), %edx
cmpl 0x6c(%rcx,%r15,4), %edx
jne 0x7f3b0
shrl %edx
movq %r12, %rdi
movq %r13, %rsi
movq %rax, %rcx
movq %rax, %r15
callq 0x872d5
movq %r15, %rax
movl 0x10(%r12), %edx
movq 0x18(%r12), %rsi
movl %edx, %ecx
movq %r14, (%rsi,%rcx,8)
incl %edx
movl %edx, 0x10(%r12)
movq %rax, %rdi
callq 0x7f8e8
jmp 0x7f037
movq %r13, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x792f7
jmp 0x7f037
movq %r13, %rdi
movq %r12, %rsi
movq %r14, %rdx
movq %rbp, %rcx
callq 0x78e5d
jmp 0x7f037