// File: mh0fm4[P]SCDC/src/components/node/nodeconn_pool.cc
// Function: scdc_nodeconn_pool::del(scdc_nodeconn*)
void scdc_nodeconn_pool::del(scdc_nodeconn *nodeconn)
{
  SCDC_TRACE("del: nodeconn: '" << nodeconn << "'");

  SCDC_ASSERT(nodeconn->ref <= 0);

  iterator i = find(nodeconn->key);

  if (i == end() || i->second.erase(nodeconn) < 1)
  {
    SCDC_FAIL("del: nodeconn '" << nodeconn << "' not found");
    return;
  }

  if (i != end() && i->second.size() <= 0) erase(i);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x5049a
jmp 0x5049c
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jle 0x5055e
jmp 0x504ad
leaq 0x841f4(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x5055a
leaq 0x841db(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x841cc(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x5607b(%rip), %rsi     # 0xa6569
callq 0xc670
movq %rax, %rdi
leaq 0x57483(%rip), %rsi     # 0xa7980
callq 0xc670
movq %rax, %rdi
leaq 0x55e58(%rip), %rsi     # 0xa6364
callq 0xc670
movq %rax, %rdi
movl $0x47, %esi
callq 0xcb80
movq %rax, %rdi
leaq 0x5746e(%rip), %rsi     # 0xa7996
callq 0xc670
movq %rax, %rdi
leaq 0x579d5(%rip), %rsi     # 0xa7f0c
callq 0xc670
movq %rax, %rdi
movq 0x83a7a(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x84156(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x5055c
jmp 0x5055e
jmp 0x50560
movq -0x40(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x510c0
movq -0x40(%rbp), %rdi
movq %rax, -0x18(%rbp)
callq 0x51120
movq %rax, -0x20(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x510f0
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x41(%rbp)
jne 0x505be
leaq -0x18(%rbp), %rdi
callq 0x51150
movq %rax, %rdi
addq $0x20, %rdi
leaq -0x10(%rbp), %rsi
callq 0x51170
cmpq $0x1, %rax
setb %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
testb $0x1, %al
jne 0x505ca
jmp 0x5066d
jmp 0x505cc
leaq 0x840d5(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x50669
leaq 0x840bc(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x840ad(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x55ba3(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x57390(%rip), %rsi     # 0xa79ac
callq 0xc670
movq %rax, %rdi
leaq 0x57391(%rip), %rsi     # 0xa79bc
callq 0xc670
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0xc4f0
movq %rax, %rdi
leaq 0x56420(%rip), %rsi     # 0xa6a66
callq 0xc670
movq %rax, %rdi
movq 0x8396b(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x84047(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x5066b
jmp 0x506d6
movq -0x40(%rbp), %rdi
callq 0x51120
movq %rax, -0x28(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x511a0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x42(%rbp)
jne 0x50695
jmp 0x506b4
leaq -0x18(%rbp), %rdi
callq 0x51150
movq %rax, %rdi
addq $0x20, %rdi
callq 0x511d0
cmpq $0x0, %rax
setbe %al
movb %al, -0x42(%rbp)
movb -0x42(%rbp), %al
testb $0x1, %al
jne 0x506bd
jmp 0x506d6
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rsi
callq 0x511f0
movq %rax, -0x38(%rbp)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)