// File: /workspace/github_c_makefile_star2_O0/zhou-yuxin[P]redis-aof-no-cow/deps/jemalloc/src/jemalloc.c
// Function: je_jemalloc_postfork_parent
void
jemalloc_postfork_parent(void)
#else
JEMALLOC_EXPORT void
_malloc_postfork(void)
#endif
{
	tsd_t *tsd;
	unsigned i, narenas;

#ifdef JEMALLOC_MUTEX_INIT_CB
	if (!malloc_initialized())
		return;
#endif
	assert(malloc_initialized());

	tsd = tsd_fetch();

	witness_postfork_parent(tsd);
	/* Release all mutexes, now that fork() has completed. */
	base_postfork_parent(tsd_tsdn(tsd));
	for (i = 0, narenas = narenas_total_get(); i < narenas; i++) {
		arena_t *arena;

		if ((arena = arena_get(tsd_tsdn(tsd), i, false)) != NULL)
			arena_postfork_parent(tsd_tsdn(tsd), arena);
	}
	prof_postfork_parent(tsd_tsdn(tsd));
	malloc_mutex_postfork_parent(tsd_tsdn(tsd), &arenas_lock);
	ctl_postfork_parent(tsd_tsdn(tsd));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
jmp 0x3774d
movb $0x1, -0x21(%rbp)
movb -0x21(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movq 0x6b890(%rip), %rcx     # 0xa2ff0
movq %fs:0x0, %rax
addq %rcx, %rax
movq %rax, -0x30(%rbp)
testb $0x1, -0x21(%rbp)
jne 0x37792
xorl %eax, %eax
testb $0x1, %al
jne 0x3777e
jmp 0x37792
cmpq $0x0, -0x30(%rbp)
jne 0x37792
movq $0x0, -0x20(%rbp)
jmp 0x378b6
movq -0x30(%rbp), %rax
cmpl $0x1, (%rax)
setne %al
testb $0x1, %al
jne 0x377a5
jmp 0x378ae
movq -0x30(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x37828
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x6b829(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rdi
addq %rax, %rdi
movq -0x10(%rbp), %rsi
movl $0x68, %edx
callq 0xb310
leaq 0x6cd4c(%rip), %rax     # 0xa4534
movl (%rax), %edi
movq 0x6b7ff(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rsi
addq %rax, %rsi
callq 0xb590
cmpl $0x0, %eax
je 0x37823
leaq 0x5966c(%rip), %rdi     # 0x90e7a
callq 0x828c0
testb $0x1, 0x6bce6(%rip)     # 0xa3500
je 0x37821
callq 0xb050
jmp 0x37823
jmp 0x378ac
movq -0x30(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x378a8
movq -0x30(%rbp), %rax
movl $0x3, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movq 0x6b7a6(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rdi
addq %rax, %rdi
movq -0x8(%rbp), %rsi
movl $0x68, %edx
callq 0xb310
leaq 0x6ccc9(%rip), %rax     # 0xa4534
movl (%rax), %edi
movq 0x6b77c(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rsi
addq %rax, %rsi
callq 0xb590
cmpl $0x0, %eax
je 0x378a6
leaq 0x595e9(%rip), %rdi     # 0x90e7a
callq 0x828c0
testb $0x1, 0x6bc63(%rip)     # 0xa3500
je 0x378a4
callq 0xb050
jmp 0x378a6
jmp 0x378aa
jmp 0x378aa
jmp 0x378ac
jmp 0x378ae
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x85f10
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x509e0
movl $0x0, -0x6c(%rbp)
callq 0x19e40
movl %eax, -0x70(%rbp)
movl -0x6c(%rbp), %eax
cmpl -0x70(%rbp), %eax
jae 0x37931
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movl -0x6c(%rbp), %esi
xorl %edx, %edx
callq 0x1a080
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x37924
movq -0x68(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x44600
jmp 0x37926
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0x378e7
movq -0x68(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x6c120
movq -0x68(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq 0x6bbd3(%rip), %rsi     # 0xa3528
callq 0x66bc0
movq -0x68(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x545c0
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)