// File: /workspace/github_cpp_makefile_star2_O3/cybozu[P]yrmcds/src/memcache/memcache.cpp
// Function: yrmcds::memcache::text_response::stats_general(unsigned long)
void text_response::stats_general(std::size_t n_slaves) {
    struct rusage ru;
    if( ::getrusage(RUSAGE_SELF, &ru) == -1 )
        cybozu::throw_unix_error(errno, "getrusage");

    std::ostringstream os;
    os << std::setfill('0');
    os << "STAT pid " << ::getpid() << CRLF;
    os << "STAT time " << g_current_time.load(relaxed) << CRLF;
    os << "STAT version " << VERSION << CRLF;
    os << "STAT pointer_size " << sizeof(void*)*8 << CRLF;
    os << "STAT rusage_user " << ru.ru_utime.tv_sec << '.'
       << std::setw(6) << ru.ru_utime.tv_usec << CRLF;
    os << "STAT rusage_system " << ru.ru_stime.tv_sec << '.'
       << std::setw(6) << ru.ru_stime.tv_usec << CRLF;
    os << "STAT curr_connections " << g_stats.curr_connections.load(relaxed) << CRLF;
    os << "STAT total_connections " << g_stats.total_connections.load(relaxed) << CRLF;
    os << "STAT curr_items " << g_stats.objects.load(relaxed) << CRLF;
    os << "STAT total_items " << g_stats.total_objects.load(relaxed) << CRLF;
    os << "STAT get_hits " << g_stats.get_hits.load(relaxed) << CRLF;
    os << "STAT get_misses " << g_stats.get_misses.load(relaxed) << CRLF;
    os << "STAT cas_hits " << g_stats.cas_hits.load(relaxed) << CRLF;
    os << "STAT cas_misses " << g_stats.cas_misses.load(relaxed) << CRLF;
    os << "STAT cas_badval " << g_stats.cas_badval.load(relaxed) << CRLF;
    os << "STAT bytes " << g_stats.used_memory.load(relaxed) << CRLF;
    os << "STAT limit_maxbytes " << g_config.memory_limit() << CRLF;
    os << "STAT threads " << g_config.workers() << CRLF;
    os << "STAT gc_count " << g_stats.gc_count.load(relaxed) << CRLF;
    os << "STAT slaves " << n_slaves << CRLF;
    os << "STAT last_expirations "
       << g_stats.last_expirations.load(relaxed) << CRLF;
    os << "STAT last_evictions "
       << g_stats.last_evictions.load(relaxed) << CRLF;
    os << "STAT evictions "
       << g_stats.total_evictions.load(relaxed) << CRLF;
    os << "STAT last_gc_elapsed "
       << g_stats.last_gc_elapsed.load(relaxed) << CRLF;
    os << "STAT total_gc_elapsed "
       << g_stats.total_gc_elapsed.load(relaxed) << CRLF;
    std::string s = os.str();
    m_socket.send(s.data(), s.size());
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x1b8(%rsp), %rsi
xorl %edi, %edi
callq 0x72b0
cmpl $-0x1, %eax
je 0x26145
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0x76f0
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%rsp,%rax), %r15
addq $0x20, %r15
cmpb $0x0, 0xe1(%r15)
jne 0x25a99
movq %r15, %rdi
movl $0x20, %esi
callq 0x74d0
movb $0x1, 0xe1(%r15)
movb $0x30, 0xe0(%r15)
leaq 0x11a7d(%rip), %rsi     # 0x37525
leaq 0x20(%rsp), %rdi
movl $0x9, %edx
callq 0x7570
callq 0x77c0
leaq 0x20(%rsp), %rdi
movl %eax, %esi
callq 0x7980
leaq 0x11340(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11a4c(%rip), %rsi     # 0x3752f
leaq 0x20(%rsp), %rdi
movl $0xa, %edx
callq 0x7570
leaq 0x21387(%rip), %rax     # 0x46e80
movq (%rax), %rsi
leaq 0x20(%rsp), %rdi
callq 0x74c0
leaq 0x11302(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11a19(%rip), %rsi     # 0x3753a
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x7570
leaq 0x112e9(%rip), %rsi     # 0x36e20
leaq 0x20(%rsp), %rdi
movl $0x15, %edx
callq 0x7570
leaq 0x112c2(%rip), %rsi     # 0x36e0f
leaq 0x20(%rsp), %rdi
movl $0x2, %edx
callq 0x7570
leaq 0x119e5(%rip), %rsi     # 0x37548
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x7570
leaq 0x20(%rsp), %rdi
movl $0x40, %esi
callq 0x7330
leaq 0x11287(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x119bf(%rip), %rsi     # 0x3755b
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x7570
movq 0x1b8(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0x74c0
leaq 0x198(%rsp), %rsi
movb $0x2e, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x7570
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
movq 0x1c0(%rsp), %rsi
movq %rax, %rdi
callq 0x74c0
leaq 0x11213(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x1195d(%rip), %rsi     # 0x3756d
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x7570
movq 0x1c8(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0x74c0
leaq 0x198(%rsp), %rsi
movb $0x2e, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x7570
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
movq 0x1d0(%rsp), %rsi
movq %rax, %rdi
callq 0x74c0
leaq 0x1119f(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x118fd(%rip), %rsi     # 0x37581
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x7570
leaq 0x21226(%rip), %r15     # 0x46ec0
movq 0x100(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x1115d(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x118d2(%rip), %rsi     # 0x37598
leaq 0x20(%rsp), %rdi
movl $0x17, %edx
callq 0x7570
movq 0x108(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x11122(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x118af(%rip), %rsi     # 0x375b0
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7570
movl (%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x110eb(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11889(%rip), %rsi     # 0x375c1
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x7570
movq 0x80(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x110b0(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11860(%rip), %rsi     # 0x375d3
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x7570
movq 0x488(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x11075(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11834(%rip), %rsi     # 0x375e2
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7570
movq 0x490(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x1103a(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x1180a(%rip), %rsi     # 0x375f3
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x7570
movq 0x498(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10fff(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x117de(%rip), %rsi     # 0x37602
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7570
movq 0x4a0(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10fc4(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x117b4(%rip), %rsi     # 0x37613
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7570
movq 0x4a8(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10f89(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x1178a(%rip), %rsi     # 0x37624
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x7570
movq 0x28(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10f51(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x1175e(%rip), %rsi     # 0x37630
leaq 0x20(%rsp), %rdi
movl $0x14, %edx
callq 0x7570
leaq 0x20cd8(%rip), %r12     # 0x46bc0
movq 0xe8(%r12), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10f0e(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11730(%rip), %rsi     # 0x37645
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x7570
movl 0x104(%r12), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10ed2(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11702(%rip), %rsi     # 0x37653
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x7570
movl 0x34(%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10e9a(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x116d9(%rip), %rsi     # 0x37662
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x7570
leaq 0x20(%rsp), %rdi
movq %r14, %rsi
callq 0x7330
leaq 0x10e63(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x116af(%rip), %rsi     # 0x3766f
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x7570
movl 0x48(%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10e2b(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x1168e(%rip), %rsi     # 0x37686
leaq 0x20(%rsp), %rdi
movl $0x14, %edx
callq 0x7570
movl 0x4c(%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10df3(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x1166b(%rip), %rsi     # 0x3769b
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x7570
movq 0x50(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10dbb(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11643(%rip), %rsi     # 0x376ab
leaq 0x20(%rsp), %rdi
movl $0x15, %edx
callq 0x7570
movq 0x58(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10d83(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x11621(%rip), %rsi     # 0x376c1
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x7570
movq 0x60(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10d4b(%rip), %rsi     # 0x36e0f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7570
leaq 0x28(%rsp), %rsi
movq %rsp, %rdi
callq 0x7870
movq (%rbx), %rdi
movups (%rsp), %xmm0
leaq 0x198(%rsp), %rsi
movq %rdi, (%rsi)
movups %xmm0, 0x8(%rsi)
movb $0x0, 0x18(%rsi)
callq 0x17a4e
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26118
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
movq 0x1fe61(%rip), %rsi     # 0x45f80
leaq 0x20(%rsp), %rdi
callq 0x7260
leaq 0x90(%rsp), %rdi
callq 0x7140
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r14
popq %r15
retq
callq 0x7040
movl (%rax), %edi
leaq 0x113c8(%rip), %rsi     # 0x3751b
callq 0x8d8d
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2617d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7500
jmp 0x2617d
jmp 0x2617a
movq %rax, %rbx
movq 0x1fdfc(%rip), %rsi     # 0x45f80
leaq 0x20(%rsp), %rdi
callq 0x7260
leaq 0x90(%rsp), %rdi
callq 0x7140
movq %rbx, %rdi
callq 0x79a0
nop