// File: /workspace/github_cpp_makefile_star2_O1/cpottamus[P]btree_lab/buffercache.cc
// Function: BufferCache::Print(std::ostream&) const
ostream & BufferCache::Print(ostream &os) const
{
  os << "BufferCache(cachesize="<<cachesize
     << ", blocksize="<<GetBlockSize()
     << ", curtime="<<curtime
     << ", allocs="<<allocs
     << ", deallocs="<<deallocs
     << ", reads="<<reads
     << ", writes="<<writes
     << ", diskreads="<<diskreads
     << ", diskwrites="<<diskwrites
     << ", blocks = {";

  
  for (map<SIZE_T, Block, cache_compare_lessthan>::const_iterator b=blockmap.begin(); 
       b!=blockmap.end(); 
       ++b) {
    if (b!=blockmap.begin()) { 
      os << ", ";
    }
    os << (*b).first << ((*b).second.dirty ? "(dirty)" : "");
  }
  os << "}, disk="<<*disk<<")";
  
  return os;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r12
leaq 0x47e6(%rip), %rsi      # 0x9600
movl $0x16, %edx
movq %rbx, %rdi
callq 0x2230
movl 0x8(%r12), %esi
movq %rbx, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x46ed(%rip), %rsi      # 0x952b
movl $0xc, %edx
movq %rax, %rdi
callq 0x2230
movq (%r12), %rdi
callq 0x41c6
movl %eax, %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x47af(%rip), %rsi      # 0x9617
movl $0xa, %edx
movq %rax, %rdi
callq 0x2230
movsd 0x40(%r12), %xmm0
movq %r15, %rdi
callq 0x2310
movq %rax, %r15
leaq 0x4794(%rip), %rsi      # 0x9622
movl $0x9, %edx
movq %rax, %rdi
callq 0x2230
movl 0x48(%r12), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x477a(%rip), %rsi      # 0x962c
movl $0xb, %edx
movq %rax, %rdi
callq 0x2230
movl 0x4c(%r12), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x4762(%rip), %rsi      # 0x9638
movl $0x8, %edx
movq %rax, %rdi
callq 0x2230
movl 0x50(%r12), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x4747(%rip), %rsi      # 0x9641
movl $0x9, %edx
movq %rax, %rdi
callq 0x2230
movl 0x54(%r12), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x472d(%rip), %rsi      # 0x964b
movl $0xc, %edx
movq %rax, %rdi
callq 0x2230
movl 0x58(%r12), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x4716(%rip), %rsi      # 0x9658
movl $0xd, %edx
movq %rax, %rdi
callq 0x2230
movl 0x5c(%r12), %esi
movq %r15, %rdi
callq 0x2120
leaq 0x4703(%rip), %rsi      # 0x9666
movl $0xc, %edx
movq %rax, %rdi
callq 0x2230
movq 0x28(%r12), %r15
movq %r12, %r14
leaq 0x18(%r12), %r13
cmpq %r13, %r15
je 0x4fe8
leaq 0x4840(%rip), %r12      # 0x97c9
movl $0x7, %ebp
cmpq 0x28(%r14), %r15
je 0x4fa8
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x46d0(%rip), %rsi      # 0x9673
callq 0x2230
movl 0x20(%r15), %esi
movq %rbx, %rdi
callq 0x2120
cmpb $0x0, 0x48(%r15)
movq %r12, %rsi
leaq 0x46b3(%rip), %rcx      # 0x9676
cmovneq %rcx, %rsi
movl $0x0, %edx
cmovneq %rbp, %rdx
movq %rax, %rdi
callq 0x2230
movq %r15, %rdi
callq 0x2240
movq %rax, %r15
cmpq %r13, %rax
jne 0x4f8e
leaq 0x468f(%rip), %rsi      # 0x967e
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2230
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x43bc
leaq 0x473f(%rip), %rsi      # 0x974d
movl $0x1, %edx
movq %rax, %rdi
callq 0x2230
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop