// File: /workspace/github_c_makefile_star2_O3/nilyang[P]redis-tdd-annotation/deps/jemalloc/src/ckh.c
// Function: ckh_try_insert
JEMALLOC_INLINE bool
ckh_try_insert(ckh_t *ckh, void const**argkey, void const**argdata)
{
	size_t hash1, hash2, bucket;
	const void *key = *argkey;
	const void *data = *argdata;

	ckh->hash(key, ckh->lg_curbuckets, &hash1, &hash2);

	/* Try to insert in primary bucket. */
	bucket = hash1 & ((ZU(1) << ckh->lg_curbuckets) - 1);
	if (ckh_try_bucket_insert(ckh, bucket, key, data) == false)
		return (false);

	/* Try to insert in secondary bucket. */
	bucket = hash2 & ((ZU(1) << ckh->lg_curbuckets) - 1);
	if (ckh_try_bucket_insert(ckh, bucket, key, data) == false)
		return (false);

	/*
	 * Try to find a place for this item via iterative eviction/relocation.
	 */
	return (ckh_evict_reloc_insert(ckh, bucket, argkey, argdata));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r14
movq %rdi, %rbx
movq %rsi, 0x8(%rsp)
movq (%rsi), %r12
movq (%rdx), %rbp
movl 0x14(%rdi), %esi
leaq 0x30(%rsp), %r13
leaq 0x18(%rsp), %rcx
movq %r12, %rdi
movq %r13, %rdx
callq *0x18(%rbx)
movl 0x14(%rbx), %ecx
movq $-0x1, %r15
shlq %cl, %r15
notq %r15
movq (%r13), %rsi
andq %r15, %rsi
imull $0x41c64e69, (%rbx), %eax # imm = 0x41C64E69
addl $0x303b, %eax           # imm = 0x303B
movl %eax, (%rbx)
movl %eax, %edi
shrl $0x1e, %edi
movq 0x28(%rbx), %rdx
leaq (%rdi,%rsi,4), %r8
shlq $0x4, %r8
cmpq $0x0, (%rdx,%r8)
je 0x9365e
shlq $0x2, %rsi
incl %edi
movl $0x1, %r8d
cmpl $-0x2, %r8d
je 0x934e1
movl %edi, %r9d
andl $0x3, %r9d
orq %rsi, %r9
shlq $0x4, %r9
decl %r8d
incl %edi
cmpq $0x0, (%rdx,%r9)
jne 0x934a6
addq %rdx, %r9
negl %r8d
movq %r12, (%r9)
movq %rbp, 0x8(%r9)
incq 0x8(%rbx)
cmpl $0x3, %r8d
jb 0x93671
andq 0x18(%rsp), %r15
imull $0x41c64e69, %eax, %esi # imm = 0x41C64E69
addl $0x303b, %esi           # imm = 0x303B
movl %esi, (%rbx)
movl %esi, %eax
shrl $0x1e, %eax
leaq (%rax,%r15,4), %rdi
shlq $0x4, %rdi
cmpq $0x0, (%rdx,%rdi)
je 0x93663
leaq (,%r15,4), %r8
incl %eax
movl $0x1, %edi
cmpl $-0x2, %edi
je 0x93552
movl %eax, %r9d
andl $0x3, %r9d
orq %r8, %r9
shlq $0x4, %r9
decl %edi
incl %eax
cmpq $0x0, (%rdx,%r9)
jne 0x9351b
addq %rdx, %r9
negl %edi
movq %r12, (%r9)
movq %rbp, 0x8(%r9)
incq 0x8(%rbx)
cmpl $0x3, %edi
jb 0x93671
movq 0x8(%rsp), %rax
movq (%rax), %rbp
movq %r14, 0x10(%rsp)
movq (%r14), %r12
leaq 0x20(%rsp), %r13
movq %r15, %r14
movq %rbp, %rax
movq %r12, %rdi
imull $0x41c64e69, %esi, %esi # imm = 0x41C64E69
addl $0x303b, %esi           # imm = 0x303B
movl %esi, (%rbx)
movq %r14, %r8
shlq $0x6, %r8
shrl $0x1a, %esi
andl $-0x10, %esi
orq %r8, %rsi
movq (%rdx,%rsi), %rbp
movq 0x8(%rdx,%rsi), %r12
movq %rax, (%rdx,%rsi)
movq %rdi, 0x8(%rdx,%rsi)
movq %rbp, %rdi
movl %ecx, %esi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
callq *0x18(%rbx)
movl 0x14(%rbx), %ecx
movq $-0x1, %rax
shlq %cl, %rax
notq %rax
movq 0x20(%rsp), %rdx
andq %rax, %rdx
andq 0x28(%rsp), %rax
cmpq %r14, %rdx
movq %rax, %r14
cmovneq %rdx, %r14
cmpq %r15, %r14
sete %al
je 0x93682
imull $0x41c64e69, (%rbx), %esi # imm = 0x41C64E69
addl $0x303b, %esi           # imm = 0x303B
movl %esi, (%rbx)
movl %esi, %edi
shrl $0x1e, %edi
movq 0x28(%rbx), %rdx
leaq (%rdi,%r14,4), %r8
shlq $0x4, %r8
cmpq $0x0, (%rdx,%r8)
je 0x93694
leaq (,%r14,4), %r9
incl %edi
movl $0x1, %r8d
cmpl $-0x2, %r8d
je 0x9356a
movl %edi, %r10d
andl $0x3, %r10d
orq %r9, %r10
shlq $0x4, %r10
decl %r8d
incl %edi
cmpq $0x0, (%rdx,%r10)
jne 0x9361d
addq %rdx, %r10
negl %r8d
movq %rbp, (%r10)
movq %r12, 0x8(%r10)
incq 0x8(%rbx)
cmpl $0x2, %r8d
ja 0x9356a
jmp 0x93673
addq %r8, %rdx
jmp 0x93666
addq %rdi, %rdx
movq %r12, (%rdx)
movq %rbp, 0x8(%rdx)
incq 0x8(%rbx)
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rsp), %rcx
movq %rbp, (%rcx)
movq 0x10(%rsp), %rcx
movq %r12, (%rcx)
jmp 0x93673
addq %r8, %rdx
movq %rbp, (%rdx)
movq %r12, 0x8(%rdx)
incq 0x8(%rbx)
jmp 0x93673