// File: /workspace/github_cpp_makefile_star2_O3/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 %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %esi, %r14d
movq %rdi, %rbx
leaq 0x8(%rdi), %rsi
addq $0x38, %rdi
callq 0x81d0
leaq -0x38(%rbp), %r13
movq %r13, -0x10(%r13)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
leaq -0x48(%rbp), %r15
movq %r15, %rdi
callq 0x8150
leaq 0x512c(%rip), %rsi      # 0xe012
movq %r15, %rdi
callq 0x8670
leaq 0x58(%rbx), %r15
leaq -0x48(%rbp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x8f0f
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x50e8(%rip), %rsi      # 0xe015
movq %r12, %rdi
callq 0x8670
leaq 0x78(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x8f4f
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x50ad(%rip), %rsi      # 0xe01a
movq %r12, %rdi
callq 0x8670
leaq 0x98(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x8f92
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x506f(%rip), %rsi      # 0xe01f
movq %r12, %rdi
callq 0x8670
leaq 0xb8(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x8fd5
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x5033(%rip), %rsi      # 0xe026
movq %r12, %rdi
callq 0x8670
leaq 0xd8(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x9018
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x4fe7(%rip), %rsi      # 0xe01d
movq %r12, %rdi
callq 0x8670
leaq 0xf8(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x905b
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x4fab(%rip), %rsi      # 0xe024
movq %r12, %rdi
callq 0x8670
leaq 0x118(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x909e
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x4f6f(%rip), %rsi      # 0xe02b
movq %r12, %rdi
callq 0x8670
leaq 0x138(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x90e1
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x4f33(%rip), %rsi      # 0xe032
movq %r12, %rdi
callq 0x8670
leaq 0x158(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x9124
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x4ef7(%rip), %rsi      # 0xe039
movq %r12, %rdi
callq 0x8670
leaq 0x178(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x9167
callq 0x8350
movq %r13, (%r12)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x8150
leaq 0x4ebd(%rip), %rsi      # 0xe042
movq %r12, %rdi
callq 0x8670
leaq 0x198(%rbx), %rdi
movq %r12, %rsi
callq 0x8410
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x91aa
callq 0x8350
movq (%r15), %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0x8180
testl %eax, %eax
js 0x927e
movq 0x30(%rbx), %r15
movq 0xf8(%rbx), %rsi
leaq -0x48(%rbp), %rdi
leaq -0x49(%rbp), %rdx
callq 0x8140
movq (%r15), %rax
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
movl $0x42, %edx
movl $0x1ff, %ecx            # imm = 0x1FF
callq *0x28(%rax)
movl %eax, %r15d
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x91ff
callq 0x8350
testl %r15d, %r15d
js 0x9271
movl %r15d, %edi
xorl %esi, %esi
movl $0x8000, %edx           # imm = 0x8000
callq 0x8520
testl %eax, %eax
js 0x9271
movl %r15d, %edi
xorl %esi, %esi
movl $0x1388, %edx           # imm = 0x1388
callq 0x8520
movq 0x30(%rbx), %rdi
movq (%rdi), %rcx
testl %eax, %eax
js 0x9278
movl %r15d, %esi
callq *0x88(%rcx)
testl %eax, %eax
js 0x927e
movq 0x30(%rbx), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
testl %eax, %eax
js 0x9294
movl $0x1, %eax
cmpl $0x1, %r14d
je 0x9285
movq 0x30(%rbx), %rdi
movq (%rdi), %rax
movl %r15d, %esi
callq *0x68(%rax)
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
jns 0x9285
jmp 0x927e
movq 0x30(%rbx), %rdi
movq (%rdi), %rcx
movl %r15d, %esi
callq *0x68(%rcx)
callq 0x8070
movl (%rax), %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x9285
jmp 0x92b6
movq %rax, %rbx
jmp 0x92c7
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
jmp 0x92b6
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x92c7
callq 0x8350
movq %rbx, %rdi
callq 0x85e0
nop