// File: /workspace/github_c_makefile_star2_O0/zhou-yuxin[P]redis-aof-no-cow/deps/jemalloc/src/jemalloc.c
// Function: je_jemalloc_postfork_child
void
jemalloc_postfork_child(void)
{
	tsd_t *tsd;
	unsigned i, narenas;

	assert(malloc_initialized());

	tsd = tsd_fetch();

	witness_postfork_child(tsd);
	/* Release all mutexes, now that fork() has completed. */
	base_postfork_child(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_child(tsd_tsdn(tsd), arena);
	}
	prof_postfork_child(tsd_tsdn(tsd));
	malloc_mutex_postfork_child(tsd_tsdn(tsd), &arenas_lock);
	ctl_postfork_child(tsd_tsdn(tsd));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
jmp 0x3798d
movb $0x1, -0x21(%rbp)
movb -0x21(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movq 0x6b650(%rip), %rcx     # 0xa2ff0
movq %fs:0x0, %rax
addq %rcx, %rax
movq %rax, -0x30(%rbp)
testb $0x1, -0x21(%rbp)
jne 0x379d2
xorl %eax, %eax
testb $0x1, %al
jne 0x379be
jmp 0x379d2
cmpq $0x0, -0x30(%rbp)
jne 0x379d2
movq $0x0, -0x20(%rbp)
jmp 0x37af6
movq -0x30(%rbp), %rax
cmpl $0x1, (%rax)
setne %al
testb $0x1, %al
jne 0x379e5
jmp 0x37aee
movq -0x30(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x37a68
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x6b5e9(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rdi
addq %rax, %rdi
movq -0x10(%rbp), %rsi
movl $0x68, %edx
callq 0xb310
leaq 0x6cb0c(%rip), %rax     # 0xa4534
movl (%rax), %edi
movq 0x6b5bf(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rsi
addq %rax, %rsi
callq 0xb590
cmpl $0x0, %eax
je 0x37a63
leaq 0x5942c(%rip), %rdi     # 0x90e7a
callq 0x828c0
testb $0x1, 0x6baa6(%rip)     # 0xa3500
je 0x37a61
callq 0xb050
jmp 0x37a63
jmp 0x37aec
movq -0x30(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x37ae8
movq -0x30(%rbp), %rax
movl $0x3, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movq 0x6b566(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rdi
addq %rax, %rdi
movq -0x8(%rbp), %rsi
movl $0x68, %edx
callq 0xb310
leaq 0x6ca89(%rip), %rax     # 0xa4534
movl (%rax), %edi
movq 0x6b53c(%rip), %rax     # 0xa2ff0
movq %fs:0x0, %rsi
addq %rax, %rsi
callq 0xb590
cmpl $0x0, %eax
je 0x37ae6
leaq 0x593a9(%rip), %rdi     # 0x90e7a
callq 0x828c0
testb $0x1, 0x6ba23(%rip)     # 0xa3500
je 0x37ae4
callq 0xb050
jmp 0x37ae6
jmp 0x37aea
jmp 0x37aea
jmp 0x37aec
jmp 0x37aee
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x85f40
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x50a10
movl $0x0, -0x6c(%rbp)
callq 0x19e40
movl %eax, -0x70(%rbp)
movl -0x6c(%rbp), %eax
cmpl -0x70(%rbp), %eax
jae 0x37b71
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 0x37b64
movq -0x68(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x446a0
jmp 0x37b66
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0x37b27
movq -0x68(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x6c230
movq -0x68(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq 0x6b993(%rip), %rsi     # 0xa3528
callq 0x66c20
movq -0x68(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x545f0
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)