// File: williewillus[P]panda_scratchpad/src/tests/j-lang150.cpp
// Function: tests::testName::run(int)
virtual int run( int checkpoint ) override {
                
				test_path = mnt_dir_ ;
				A_path =  mnt_dir_ + "/A";
				AC_path =  mnt_dir_ + "/A/C";
				B_path =  mnt_dir_ + "/B";
				foo_path =  mnt_dir_ + "/foo";
				bar_path =  mnt_dir_ + "/bar";
				Afoo_path =  mnt_dir_ + "/A/foo";
				Abar_path =  mnt_dir_ + "/A/bar";
				Bfoo_path =  mnt_dir_ + "/B/foo";
				Bbar_path =  mnt_dir_ + "/B/bar";
				ACfoo_path =  mnt_dir_ + "/A/C/foo";
				ACbar_path =  mnt_dir_ + "/A/C/bar";
				int local_checkpoint = 0 ;

				if ( mkdir(A_path.c_str() , 0777) < 0){ 
					return errno;
				}


				int fd_Afoo = cm_->CmOpen(Afoo_path.c_str() , O_RDWR|O_CREAT , 0777); 
				if ( fd_Afoo < 0 ) { 
					cm_->CmClose( fd_Afoo); 
					return errno;
				}


				if ( WriteData ( fd_Afoo, 0, 32768) < 0){ 
					cm_->CmClose( fd_Afoo); 
					return errno;
				}


				if ( WriteData ( fd_Afoo, 0, 5000) < 0){ 
					cm_->CmClose( fd_Afoo); 
					return errno;
				}


				if ( cm_->CmFsync( fd_Afoo) < 0){ 
					return errno;
				}


				if ( cm_->CmCheckpoint() < 0){ 
					return -1;
				}
				local_checkpoint += 1; 
				if (local_checkpoint == checkpoint) { 
					return 1;
				}


				if ( cm_->CmClose ( fd_Afoo) < 0){ 
					return errno;
				}

                return 0;
            }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
movq %rdi, %rsi
addq $0x8, %rsi
addq $0x38, %rdi
callq 0x19090
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x38(%rbp), %rdi
leaq 0xda2f(%rip), %rdx      # 0x29012
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x58, %rdi
leaq -0x38(%rbp), %rsi
callq 0x1a130
leaq -0x38(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x58(%rbp), %rdi
leaq 0xd9fa(%rip), %rdx      # 0x29015
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x78, %rdi
leaq -0x58(%rbp), %rsi
callq 0x1a130
leaq -0x58(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x78(%rbp), %rdi
leaq 0xd9c7(%rip), %rdx      # 0x2901a
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x98, %rdi
leaq -0x78(%rbp), %rsi
callq 0x1a130
leaq -0x78(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x98(%rbp), %rdi
leaq 0xd98e(%rip), %rdx      # 0x2901f
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0xb8, %rdi
leaq -0x98(%rbp), %rsi
callq 0x1a130
leaq -0x98(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0xb8(%rbp), %rdi
leaq 0xd951(%rip), %rdx      # 0x29026
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0xd8, %rdi
leaq -0xb8(%rbp), %rsi
callq 0x1a130
leaq -0xb8(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0xd8(%rbp), %rdi
leaq 0xd904(%rip), %rdx      # 0x2901d
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0xf8, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x1a130
leaq -0xd8(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0xf8(%rbp), %rdi
leaq 0xd8c7(%rip), %rdx      # 0x29024
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x118, %rdi            # imm = 0x118
leaq -0xf8(%rbp), %rsi
callq 0x1a130
leaq -0xf8(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x118(%rbp), %rdi
leaq 0xd88a(%rip), %rdx      # 0x2902b
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
leaq -0x118(%rbp), %rsi
callq 0x1a130
leaq -0x118(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x138(%rbp), %rdi
leaq 0xd84d(%rip), %rdx      # 0x29032
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x158, %rdi            # imm = 0x158
leaq -0x138(%rbp), %rsi
callq 0x1a130
leaq -0x138(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x158(%rbp), %rdi
leaq 0xd810(%rip), %rdx      # 0x29039
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x178, %rdi            # imm = 0x178
leaq -0x158(%rbp), %rsi
callq 0x1a130
leaq -0x158(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rsi
addq $0x8, %rsi
leaq -0x178(%rbp), %rdi
leaq 0xd7d5(%rip), %rdx      # 0x29042
callq 0x1a1b0
movq -0x1c0(%rbp), %rdi
addq $0x198, %rdi            # imm = 0x198
leaq -0x178(%rbp), %rsi
callq 0x1a130
leaq -0x178(%rbp), %rdi
callq 0x197c0
movq -0x1c0(%rbp), %rdi
movl $0x0, -0x17c(%rbp)
addq $0x58, %rdi
callq 0x19510
movq %rax, %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0x19570
cmpl $0x0, %eax
jge 0x1b8d3
callq 0x190b0
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x1baff
movq -0x1c0(%rbp), %rdi
movq 0x30(%rdi), %rax
movq %rax, -0x1d8(%rbp)
addq $0xf8, %rdi
callq 0x19510
movq %rax, -0x1d0(%rbp)
leaq -0x1a1(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x1aa00
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
leaq -0x1a0(%rbp), %rdi
callq 0x1a2c0
jmp 0x1b927
movq -0x1d8(%rbp), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
leaq -0x1a0(%rbp), %rsi
movl $0x42, %edx
movl $0x1ff, %ecx            # imm = 0x1FF
callq *%rax
movl %eax, -0x1dc(%rbp)
jmp 0x1b950
leaq -0x1a0(%rbp), %rdi
callq 0x197c0
leaq -0x1a1(%rbp), %rdi
callq 0x19ee0
movl -0x1dc(%rbp), %eax
movl %eax, -0x180(%rbp)
cmpl $0x0, -0x180(%rbp)
jge 0x1b9e6
movq -0x1c0(%rbp), %rax
movq 0x30(%rax), %rdi
movl -0x180(%rbp), %esi
movq (%rdi), %rax
callq *0x68(%rax)
callq 0x190b0
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x1baff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x1b9d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x197c0
leaq -0x1a1(%rbp), %rdi
callq 0x19ee0
jmp 0x1bb0b
movl -0x180(%rbp), %edi
xorl %esi, %esi
movl $0x8000, %edx           # imm = 0x8000
callq 0x1a730
cmpl $0x0, %eax
jge 0x1ba23
movq -0x1c0(%rbp), %rax
movq 0x30(%rax), %rdi
movl -0x180(%rbp), %esi
movq (%rdi), %rax
callq *0x68(%rax)
callq 0x190b0
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x1baff
movl -0x180(%rbp), %edi
xorl %esi, %esi
movl $0x1388, %edx           # imm = 0x1388
callq 0x1a730
cmpl $0x0, %eax
jge 0x1ba60
movq -0x1c0(%rbp), %rax
movq 0x30(%rax), %rdi
movl -0x180(%rbp), %esi
movq (%rdi), %rax
callq *0x68(%rax)
callq 0x190b0
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x1baff
movq -0x1c0(%rbp), %rax
movq 0x30(%rax), %rdi
movl -0x180(%rbp), %esi
movq (%rdi), %rax
callq *0x88(%rax)
cmpl $0x0, %eax
jge 0x1ba8b
callq 0x190b0
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x1baff
movq -0x1c0(%rbp), %rax
movq 0x30(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
cmpl $0x0, %eax
jge 0x1baad
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1baff
movl -0x17c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x17c(%rbp)
movl -0x17c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x1bad0
movl $0x1, -0x4(%rbp)
jmp 0x1baff
movq -0x1c0(%rbp), %rax
movq 0x30(%rax), %rdi
movl -0x180(%rbp), %esi
movq (%rdi), %rax
callq *0x68(%rax)
cmpl $0x0, %eax
jge 0x1baf8
callq 0x190b0
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x1baff
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
movq -0x1b0(%rbp), %rdi
callq 0x1a9e0
nopw (%rax,%rax)