// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movl %esi, %r14d
movq %rdi, %rbx
leaq 0x8(%rdi), %r15
addq $0x38, %rdi
movq %r15, %rsi
callq 0xa230
leaq 0x408c(%rip), %rdx      # 0xf012
leaq -0x48(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x58(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x4065(%rip), %rdx      # 0xf015
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x78(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x4044(%rip), %rdx      # 0xf01a
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x98(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x4020(%rip), %rdx      # 0xf01f
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0xb8(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3ffe(%rip), %rdx      # 0xf026
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0xd8(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3fcc(%rip), %rdx      # 0xf01d
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0xf8(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3faa(%rip), %rdx      # 0xf024
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x118(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3f88(%rip), %rdx      # 0xf02b
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x138(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3f66(%rip), %rdx      # 0xf032
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x158(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3f44(%rip), %rdx      # 0xf039
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x178(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
leaq 0x3f24(%rip), %rdx      # 0xf042
movq %r12, %rdi
movq %r15, %rsi
callq 0xa570
leaq 0x198(%rbx), %rdi
movq %r12, %rsi
callq 0xa550
movq %r12, %rdi
callq 0xa1d0
movq 0x58(%rbx), %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0xa1e0
testl %eax, %eax
js 0xb1f4
movq 0x30(%rbx), %r15
movq 0xf8(%rbx), %rsi
leaq -0x21(%rbp), %rdx
movq %r12, %rdi
callq 0xa190
movq (%r15), %rax
pushq $0x42
popq %rdx
movq %r15, %rdi
movq %r12, %rsi
movl $0x1ff, %ecx            # imm = 0x1FF
callq *0x28(%rax)
movl %eax, %r15d
leaq -0x48(%rbp), %rdi
callq 0xa1d0
testl %r15d, %r15d
js 0xb1e7
movl %r15d, %edi
xorl %esi, %esi
movl $0x8000, %edx           # imm = 0x8000
callq 0xa750
testl %eax, %eax
js 0xb1e7
movl %r15d, %edi
xorl %esi, %esi
movl $0x1388, %edx           # imm = 0x1388
callq 0xa750
movq 0x30(%rbx), %rdi
movq (%rdi), %rcx
testl %eax, %eax
js 0xb1ee
movl %r15d, %esi
callq *0x88(%rcx)
testl %eax, %eax
js 0xb1f4
movq 0x30(%rbx), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
testl %eax, %eax
js 0xb208
cmpl $0x1, %r14d
jne 0xb20d
pushq $0x1
jmp 0xb20a
movq 0x30(%rbx), %rdi
movq (%rdi), %rcx
movl %r15d, %esi
callq *0x68(%rcx)
callq 0xa070
movl (%rax), %eax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $-0x1
popq %rax
jmp 0xb1fb
movq 0x30(%rbx), %rdi
movq (%rdi), %rax
movl %r15d, %esi
callq *0x68(%rax)
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
jns 0xb1fb
jmp 0xb1f4
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0xa1d0
movq %rbx, %rdi
callq 0xa840