// File: /workspace/github_cpp_makefile_star2_O3/cybozu[P]yrmcds/src/counter/counter.cpp
// Function: yrmcds::counter::response::stats()
void response::stats() {
    const statistics& s = g_stats;
    std::vector<char> body;
    add_stat_atomic(body, "objects", s.objects);
    add_stat_atomic(body, "total_objects", s.total_objects);
    add_stat_atomic(body, "used_memory", s.used_memory);
    add_stat_atomic(body, "conflicts", s.conflicts);
    add_stat_atomic(body, "gc_count", s.gc_count);
    add_stat_atomic(body, "last_gc_elapsed", s.last_gc_elapsed);
    add_stat_atomic(body, "total_gc_elapsed", s.total_gc_elapsed);
    add_stat_atomic(body, "curr_connections", s.curr_connections);
    add_stat_atomic(body, "total_connections", s.total_connections);
    add_stat_op(body, "command:noop", counter::command::Noop);
    add_stat_op(body, "command:get", counter::command::Get);
    add_stat_op(body, "command:acquire", counter::command::Acquire);
    add_stat_op(body, "command:release", counter::command::Release);
    add_stat_op(body, "command:stats", counter::command::Stats);
    add_stat_op(body, "command:dump", counter::command::Dump);

    char header[HEADER_SIZE];
    fill_header(header, counter::status::OK, body.size());
    cybozu::tcp_socket::iovec iov[] = {
        {header, HEADER_SIZE},
        {body.data(), body.size()},
    };
    m_socket.sendv(iov, 2, true);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x70, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x14a5b(%rip), %rsi     # 0x3697e
leaq 0x14a5b(%rip), %rdx     # 0x36985
movq %rsp, %rdi
callq 0x9760
leaq 0x24dc7(%rip), %r14     # 0x46d00
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movq %r14, %rdx
callq 0x223f1
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x21f5f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x14a0c(%rip), %rsi     # 0x36978
leaq 0x14a12(%rip), %rdx     # 0x36985
callq 0x9760
leaq 0x40(%r14), %rdx
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x224cc
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x21f9f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x149da(%rip), %rsi     # 0x36986
leaq 0x149de(%rip), %rdx     # 0x36991
callq 0x9760
leaq 0x8(%r14), %rdx
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x224cc
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x21fdf
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x15814(%rip), %rsi     # 0x37800
leaq 0x15816(%rip), %rdx     # 0x37809
callq 0x9760
leaq 0x10(%r14), %rdx
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x223f1
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2201f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x14966(%rip), %rsi     # 0x36992
leaq 0x14967(%rip), %rdx     # 0x3699a
callq 0x9760
leaq 0x14(%r14), %rdx
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x223f1
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2205f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x1492f(%rip), %rsi     # 0x3699b
leaq 0x14937(%rip), %rdx     # 0x369aa
callq 0x9760
leaq 0x18(%r14), %rdx
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x224cc
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2209f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x148ff(%rip), %rsi     # 0x369ab
leaq 0x14908(%rip), %rdx     # 0x369bb
callq 0x9760
leaq 0x20(%r14), %rdx
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x224cc
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x220df
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x148d0(%rip), %rsi     # 0x369bc
leaq 0x148d9(%rip), %rdx     # 0x369cc
callq 0x9760
subq $-0x80, %r14
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movq %r14, %rdx
callq 0x224cc
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x22122
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x1489e(%rip), %rsi     # 0x369cd
leaq 0x148a8(%rip), %rdx     # 0x369de
callq 0x9760
movl $0x88, %edx
addq 0x23e69(%rip), %rdx     # 0x45fb0
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x224cc
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2216a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x14868(%rip), %rsi     # 0x369df
leaq 0x1486d(%rip), %rdx     # 0x369eb
callq 0x9760
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
xorl %edx, %edx
callq 0x225b8
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x221a8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x14837(%rip), %rsi     # 0x369ec
leaq 0x1483b(%rip), %rdx     # 0x369f7
callq 0x9760
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movl $0x1, %edx
callq 0x225b8
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x221e9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x14802(%rip), %rsi     # 0x369f8
leaq 0x1480a(%rip), %rdx     # 0x36a07
callq 0x9760
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movl $0x2, %edx
callq 0x225b8
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2222a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x147d1(%rip), %rsi     # 0x36a08
leaq 0x147d9(%rip), %rdx     # 0x36a17
callq 0x9760
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movl $0x3, %edx
callq 0x225b8
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2226b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x147a0(%rip), %rsi     # 0x36a18
leaq 0x147a6(%rip), %rdx     # 0x36a25
callq 0x9760
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movl $0x10, %edx
callq 0x225b8
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x222ac
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x1476d(%rip), %rsi     # 0x36a26
leaq 0x14772(%rip), %rdx     # 0x36a32
callq 0x9760
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
movl $0x11, %edx
callq 0x225b8
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x222ed
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
subq %rax, %rcx
leaq 0x44(%rsp), %rdx
movb $-0x6f, (%rdx)
movq 0x8(%rbx), %rsi
movb 0x8(%rsi), %dil
movb %dil, 0x1(%rdx)
movw $0x0, 0x2(%rdx)
movl %ecx, %edi
bswapl %edi
movl %edi, 0x4(%rdx)
movq 0x10(%rsi), %rsi
movl (%rsi), %esi
movl %esi, 0x8(%rdx)
leaq 0x50(%rsp), %r8
movq %rdx, (%r8)
movq $0xc, 0x8(%r8)
movq %rax, 0x10(%r8)
movq %rcx, 0x18(%r8)
movq (%rbx), %rdi
movq %rsp, %rsi
movl $0x2, (%rsi)
movq %rdi, 0x8(%rsi)
movq %r8, 0x10(%rsi)
movb $0x1, 0x18(%rsi)
callq 0x22726
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x22370
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x7500
addq $0x70, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
jmp 0x223b4
jmp 0x223cf
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x223d2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
jmp 0x223d2
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x223e9
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x7500
movq %rbx, %rdi
callq 0x79a0