// File: /workspace/github_cpp_makefile_star2_O3/cpottamus[P]btree_lab/disksystem.cc
// Function: DiskSystem::Print(std::ostream&) const
ostream & DiskSystem::Print(ostream &os) const
{
  os << "DiskSystem(diskfilestem="<<diskfilestem
     << ", offset="<<offset
     << ", numblocks="<<numblocks
     << ", blocksize="<<blocksize
     << ", numheads="<<numheads
     << ", blockspertrack="<<blockspertrack
     << ", numtracks="<<numtracks
     << ", last_track="<<last_track
     << ", last_sector="<<last_sector
     << ", averageseeklatency="<<averageseeklatency
     << ", trackseeklatency="<<trackseeklatency
     << ", rotationallatency="<<rotationallatency
     << ", bitmap=";

  for (SIZE_T i=0;i<numblocks;i++) { 
    if (GETBIT(i)) { 
      os <<"*";
    } else {
      os <<".";
    }
  }

  os <<")";
  return os;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x5148(%rip), %rsi      # 0x94fb
movl $0x18, %edx
movq %rbx, %rdi
callq 0x2230
movq 0x28(%r14), %rsi
movq 0x30(%r14), %rdx
movq %rbx, %rdi
callq 0x2230
movq %rax, %r15
leaq 0x513a(%rip), %rsi      # 0x9514
movl $0x9, %edx
movq %rax, %rdi
callq 0x2230
movl 0x48(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x5121(%rip), %rsi      # 0x951e
movl $0xc, %edx
movq %rax, %rdi
callq 0x2230
movl 0x4c(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x510b(%rip), %rsi      # 0x952b
movl $0xc, %edx
movq %rax, %rdi
callq 0x2230
movl 0x50(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x50f5(%rip), %rsi      # 0x9538
movl $0xb, %edx
movq %rax, %rdi
callq 0x2230
movl 0x54(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x50de(%rip), %rsi      # 0x9544
movl $0x11, %edx
movq %rax, %rdi
callq 0x2230
movl 0x58(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x50cd(%rip), %rsi      # 0x9556
movl $0xc, %edx
movq %rax, %rdi
callq 0x2230
movl 0x5c(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x50b7(%rip), %rsi      # 0x9563
movl $0xd, %edx
movq %rax, %rdi
callq 0x2230
movl 0x60(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x50a2(%rip), %rsi      # 0x9571
movl $0xe, %edx
movq %rax, %rdi
callq 0x2230
movl 0x64(%r14), %esi
movq %r15, %rdi
callq 0x2120
movq %rax, %r15
leaq 0x508e(%rip), %rsi      # 0x9580
movl $0x15, %edx
movq %rax, %rdi
callq 0x2230
movsd 0x68(%r14), %xmm0
movq %r15, %rdi
callq 0x2310
movq %rax, %r15
leaq 0x507f(%rip), %rsi      # 0x9596
movl $0x13, %edx
movq %rax, %rdi
callq 0x2230
movsd 0x70(%r14), %xmm0
movq %r15, %rdi
callq 0x2310
movq %rax, %r15
leaq 0x506e(%rip), %rsi      # 0x95aa
movl $0x14, %edx
movq %rax, %rdi
callq 0x2230
movsd 0x78(%r14), %xmm0
movq %r15, %rdi
callq 0x2310
leaq 0x5061(%rip), %rsi      # 0x95bf
movl $0x9, %edx
movq %rax, %rdi
callq 0x2230
cmpl $0x0, 0x4c(%r14)
je 0x45b9
xorl %ebp, %ebp
leaq 0x52c5(%rip), %r15      # 0x9840
leaq 0x5047(%rip), %r12      # 0x95c9
movq 0x8(%r14), %rax
movl %ebp, %ecx
shrl $0x3, %ecx
movzbl (%rax,%rcx), %eax
movl %ebp, %ecx
notb %cl
movzbl %cl, %ecx
andl $0x7, %ecx
btl %ecx, %eax
movq %r15, %rsi
jae 0x45a4
movq %r12, %rsi
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2230
incl %ebp
cmpl 0x4c(%r14), %ebp
jb 0x4582
leaq 0x51a5(%rip), %rsi      # 0x9765
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2230
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq