Last active
March 2, 2016 01:21
-
-
Save psiha/f92a7b8a93c5ce1736ae to your computer and use it in GitHub Desktop.
mmap.demo1 Clang codegen
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
btest`main: | |
0x100000c00 <+0>: pushq %rbp | |
0x100000c01 <+1>: movq %rsp, %rbp | |
0x100000c04 <+4>: pushq %r15 | |
0x100000c06 <+6>: pushq %r14 | |
0x100000c08 <+8>: pushq %r13 | |
0x100000c0a <+10>: pushq %r12 | |
0x100000c0c <+12>: pushq %rbx | |
0x100000c0d <+13>: subq $0x98, %rsp | |
0x100000c14 <+20>: leaq 0x28b(%rip), %rdi ; "foo" | |
0x100000c1b <+27>: xorl %esi, %esi | |
0x100000c1d <+29>: movl $0xffff, %edx | |
0x100000c22 <+34>: xorl %eax, %eax | |
0x100000c24 <+36>: callq 0x100000e2a ; symbol stub for: open | |
0x100000c29 <+41>: movl %eax, %r15d | |
0x100000c2c <+44>: cmpl $-0x1, %r15d | |
0x100000c30 <+48>: je 0x100000cfa ; <+250> [inlined] boost::err::last_errno::get() at errno.hpp:76 | |
0x100000c36 <+54>: leaq -0xb8(%rbp), %rsi | |
0x100000c3d <+61>: movl %r15d, %edi | |
0x100000c40 <+64>: callq 0x100000e18 ; symbol stub for: fstat$INODE64 | |
0x100000c45 <+69>: testl %eax, %eax | |
0x100000c47 <+71>: jne 0x100000d19 ; <+281> [inlined] boost::err::last_errno::get() at errno.hpp:76 | |
0x100000c4d <+77>: movq -0x58(%rbp), %rbx | |
0x100000c51 <+81>: xorl %r14d, %r14d | |
0x100000c54 <+84>: xorl %edi, %edi | |
0x100000c56 <+86>: movl $0x1, %edx | |
0x100000c5b <+91>: movl $0x1, %ecx | |
0x100000c60 <+96>: xorl %r9d, %r9d | |
0x100000c63 <+99>: movq %rbx, %rsi | |
0x100000c66 <+102>: movl %r15d, %r8d | |
0x100000c69 <+105>: callq 0x100000e1e ; symbol stub for: mmap | |
0x100000c6e <+110>: cmpq $-0x1, %rax | |
0x100000c72 <+114>: movl $0x0, %r12d | |
0x100000c78 <+120>: je 0x100000c83 ; <+131> [inlined] boost::mmap::basic_mapped_view<char const, boost::mmap::posix::mapper>::map(boost::mmap::posix::mapping const&, boost::mmap::posix::flags::viewing, unsigned long long, unsigned long) + 32 at mapped_view.hpp:160 | |
0x100000c7a <+122>: addq %rax, %rbx | |
0x100000c7d <+125>: movq %rbx, %r14 | |
0x100000c80 <+128>: movq %rax, %r12 | |
0x100000c83 <+131>: leaq -0xc0(%rbp), %r13 | |
0x100000c8a <+138>: movb $0x1, -0xc0(%rbp) | |
0x100000c91 <+145>: movb $0x0, -0xbf(%rbp) | |
0x100000c98 <+152>: movabsq $-0x100000000, %rbx | |
0x100000ca2 <+162>: andq %r12, %rbx | |
0x100000ca5 <+165>: movl %r15d, %edi | |
0x100000ca8 <+168>: callq 0x100000e0c ; symbol stub for: close | |
0x100000cad <+173>: movb $0x1, -0xbf(%rbp) | |
0x100000cb4 <+180>: movzwl (%r13), %eax | |
0x100000cb9 <+185>: testb %al, %al | |
0x100000cbb <+187>: je 0x100000ce5 ; <+229> at ConsoleApplication1.cpp:220 | |
0x100000cbd <+189>: movl %r12d, %eax | |
0x100000cc0 <+192>: orq %rax, %rbx | |
0x100000cc3 <+195>: movl $0xffffffff, %r12d | |
0x100000cc9 <+201>: cmpq %r14, %rbx | |
0x100000ccc <+204>: je 0x100000cd2 ; <+210> [inlined] boost::mmap::posix::mapper::unmap(void const*, unsigned long) at mapped_view.inl:102 | |
0x100000cce <+206>: movsbl (%rbx), %r12d | |
0x100000cd2 <+210>: testq %rbx, %rbx | |
0x100000cd5 <+213>: je 0x100000ce5 ; <+229> at ConsoleApplication1.cpp:220 | |
0x100000cd7 <+215>: subq %rbx, %r14 | |
0x100000cda <+218>: movq %rbx, %rdi | |
0x100000cdd <+221>: movq %r14, %rsi | |
0x100000ce0 <+224>: callq 0x100000e24 ; symbol stub for: munmap | |
0x100000ce5 <+229>: movl %r12d, %eax | |
0x100000ce8 <+232>: addq $0x98, %rsp | |
0x100000cef <+239>: popq %rbx | |
0x100000cf0 <+240>: popq %r12 | |
0x100000cf2 <+242>: popq %r13 | |
0x100000cf4 <+244>: popq %r14 | |
0x100000cf6 <+246>: popq %r15 | |
0x100000cf8 <+248>: popq %rbp | |
0x100000cf9 <+249>: retq | |
0x100000cfa <+250>: callq 0x100000e06 ; symbol stub for: __error | |
0x100000cff <+255>: movl (%rax), %r12d | |
0x100000d02 <+258>: leaq -0xc0(%rbp), %r13 | |
0x100000d09 <+265>: movb $0x0, -0xc0(%rbp) | |
0x100000d10 <+272>: movb $0x0, -0xbf(%rbp) | |
0x100000d17 <+279>: jmp 0x100000d3e ; <+318> at handle.hpp:77 | |
0x100000d19 <+281>: callq 0x100000e06 ; symbol stub for: __error | |
0x100000d1e <+286>: movl (%rax), %r12d | |
0x100000d21 <+289>: leaq -0xc0(%rbp), %r13 | |
0x100000d28 <+296>: movb $0x0, -0xc0(%rbp) | |
0x100000d2f <+303>: movb $0x0, -0xbf(%rbp) | |
0x100000d36 <+310>: movl %r15d, %edi | |
0x100000d39 <+313>: callq 0x100000e0c ; symbol stub for: close | |
0x100000d3e <+318>: xorl %ebx, %ebx | |
0x100000d40 <+320>: jmp 0x100000cad ; <+173> [inlined] boost::err::result_or_error<boost::mmap::basic_mapped_view<char const, boost::mmap::posix::mapper>, boost::err::last_errno, void>::succeeded() const at result_or_error.hpp:94 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment