// File: /workspace/github_cpp_makefile_star2_O1/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 0x26b40
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0x7700
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%rsp,%rax), %r15
addq $0x20, %r15
cmpb $0x0, 0xe1(%r15)
jne 0x26494
movq %r15, %rdi
movl $0x20, %esi
callq 0x74e0
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x30, 0xe0(%r15)
leaq 0x110d2(%rip), %rsi     # 0x37575
leaq 0x20(%rsp), %rdi
movl $0x9, %edx
callq 0x7580
callq 0x77d0
leaq 0x20(%rsp), %rdi
movl %eax, %esi
callq 0x7990
leaq 0x10995(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x110a1(%rip), %rsi     # 0x3757f
leaq 0x20(%rsp), %rdi
movl $0xa, %edx
callq 0x7580
leaq 0x2098c(%rip), %rax     # 0x46e80
movq (%rax), %rsi
leaq 0x20(%rsp), %rdi
callq 0x74d0
leaq 0x10957(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x1106e(%rip), %rsi     # 0x3758a
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x7580
leaq 0x1093e(%rip), %rsi     # 0x36e70
leaq 0x20(%rsp), %rdi
movl $0x15, %edx
callq 0x7580
leaq 0x10917(%rip), %rsi     # 0x36e5f
leaq 0x20(%rsp), %rdi
movl $0x2, %edx
callq 0x7580
leaq 0x1103a(%rip), %rsi     # 0x37598
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x7580
leaq 0x20(%rsp), %rdi
movl $0x40, %esi
callq 0x7330
leaq 0x108dc(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x11014(%rip), %rsi     # 0x375ab
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x7580
movq 0x1b8(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0x74d0
leaq 0x198(%rsp), %rsi
movb $0x2e, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x7580
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
movq 0x1c0(%rsp), %rsi
movq %rax, %rdi
callq 0x74d0
leaq 0x10868(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10fb2(%rip), %rsi     # 0x375bd
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x7580
movq 0x1c8(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0x74d0
leaq 0x198(%rsp), %rsi
movb $0x2e, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x7580
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
movq 0x1d0(%rsp), %rsi
movq %rax, %rdi
callq 0x74d0
leaq 0x107f4(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10f52(%rip), %rsi     # 0x375d1
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x7580
leaq 0x2082b(%rip), %r15     # 0x46ec0
movq 0x100(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x107b2(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10f27(%rip), %rsi     # 0x375e8
leaq 0x20(%rsp), %rdi
movl $0x17, %edx
callq 0x7580
movq 0x108(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10777(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10f04(%rip), %rsi     # 0x37600
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7580
movl (%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10740(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10ede(%rip), %rsi     # 0x37611
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x7580
movq 0x80(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10705(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10eb5(%rip), %rsi     # 0x37623
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x7580
movq 0x488(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x106ca(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10e89(%rip), %rsi     # 0x37632
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7580
movq 0x490(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x1068f(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10e5f(%rip), %rsi     # 0x37643
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x7580
movq 0x498(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10654(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10e33(%rip), %rsi     # 0x37652
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7580
movq 0x4a0(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10619(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10e09(%rip), %rsi     # 0x37663
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x7580
movq 0x4a8(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x105de(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10ddf(%rip), %rsi     # 0x37674
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x7580
movq 0x28(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x105a6(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10db3(%rip), %rsi     # 0x37680
leaq 0x20(%rsp), %rdi
movl $0x14, %edx
callq 0x7580
leaq 0x202dd(%rip), %r12     # 0x46bc0
movq 0xe8(%r12), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10563(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10d85(%rip), %rsi     # 0x37695
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x7580
movl 0x104(%r12), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10527(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10d57(%rip), %rsi     # 0x376a3
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x7580
movl 0x34(%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x104ef(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10d2e(%rip), %rsi     # 0x376b2
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x7580
leaq 0x20(%rsp), %rdi
movq %r14, %rsi
callq 0x7330
leaq 0x104b8(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10d04(%rip), %rsi     # 0x376bf
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x7580
movl 0x48(%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10480(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10ce3(%rip), %rsi     # 0x376d6
leaq 0x20(%rsp), %rdi
movl $0x14, %edx
callq 0x7580
movl 0x4c(%r15), %esi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10448(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10cc0(%rip), %rsi     # 0x376eb
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x7580
movq 0x50(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x10410(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10c98(%rip), %rsi     # 0x376fb
leaq 0x20(%rsp), %rdi
movl $0x15, %edx
callq 0x7580
movq 0x58(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x103d8(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x10c76(%rip), %rsi     # 0x37711
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x7580
movq 0x60(%r15), %rsi
leaq 0x20(%rsp), %rdi
callq 0x7330
leaq 0x103a0(%rip), %rsi     # 0x36e5f
movl $0x2, %edx
movq %rax, %rdi
callq 0x7580
leaq 0x28(%rsp), %rsi
movq %rsp, %rdi
callq 0x7880
movq (%rbx), %rdi
movups (%rsp), %xmm0
leaq 0x198(%rsp), %rsi
movq %rdi, (%rsi)
movups %xmm0, 0x8(%rsi)
movb $0x0, 0x18(%rsi)
callq 0x17b04
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26b13
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7510
movq 0x1f466(%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 0x10a1d(%rip), %rsi     # 0x3756b
callq 0x8dd3
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x26b78
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7510
jmp 0x26b78
jmp 0x26b75
movq %rax, %rbx
movq 0x1f401(%rip), %rsi     # 0x45f80
leaq 0x20(%rsp), %rdi
callq 0x7260
leaq 0x90(%rsp), %rdi
callq 0x7140
movq %rbx, %rdi
callq 0x79b0