|
@@ -1,100 +1,134 @@
|
|
| 1 |
-
|
| 2 |
0000000000000000: 01 pushq %rbp
|
| 3 |
0000000000000001: 02 pushq %r15
|
| 4 |
0000000000000003: 02 pushq %r14
|
| 5 |
-
0000000000000005: 02 pushq %
|
| 6 |
-
0000000000000007:
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
0000000000000023:
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
0000000000000041: 02
|
| 28 |
-
0000000000000043:
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
000000000000004c:
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
0000000000000059:
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
0000000000000069:
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
0000000000412830 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)>:
|
| 2 |
0000000000000000: 01 pushq %rbp
|
| 3 |
0000000000000001: 02 pushq %r15
|
| 4 |
0000000000000003: 02 pushq %r14
|
| 5 |
+
0000000000000005: 02 pushq %r13
|
| 6 |
+
0000000000000007: 02 pushq %r12
|
| 7 |
+
0000000000000009: 01 pushq %rbx
|
| 8 |
+
000000000000000a: 01 pushq %rax
|
| 9 |
+
000000000000000b: 03 movq %rsi, %r15
|
| 10 |
+
000000000000000e: 03 movq %rdi, %r14
|
| 11 |
+
0000000000000011: 02 testl %edx, %edx
|
| 12 |
+
0000000000000013: 06 js 0x41291d <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0xed>
|
| 13 |
+
0000000000000019: 03 movl %edx, %r13d
|
| 14 |
+
000000000000001c: 03 movq (%r15), %r12
|
| 15 |
+
000000000000001f: 04 movq 8(%r15), %rbp
|
| 16 |
+
0000000000000023: 02 movl %ebp, %ebx
|
| 17 |
+
0000000000000025: 02 movl %edx, %eax
|
| 18 |
+
0000000000000027: 02 movl %ebp, %ecx
|
| 19 |
+
0000000000000029: 03 sarl $31, %ecx
|
| 20 |
+
000000000000002c: 02 andl %ebp, %ecx
|
| 21 |
+
000000000000002e: 02 nop
|
| 22 |
+
0000000000000030: 02 testl %ebx, %ebx
|
| 23 |
+
0000000000000032: 02 jle 0x412877 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x47>
|
| 24 |
+
0000000000000034: 04 leaq -1(%rbx), %rdx
|
| 25 |
+
0000000000000038: 06 cmpb $47, -1(%r12,%rbx)
|
| 26 |
+
000000000000003e: 03 movq %rdx, %rbx
|
| 27 |
+
0000000000000041: 02 je 0x412860 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x30>
|
| 28 |
+
0000000000000043: 02 incl %edx
|
| 29 |
+
0000000000000045: 02 movl %edx, %ecx
|
| 30 |
+
0000000000000047: 05 movl $4294967295, %ebp
|
| 31 |
+
000000000000004c: 02 cmpl %ecx, %eax
|
| 32 |
+
000000000000004e: 06 jge 0x41290c <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0xdc>
|
| 33 |
+
0000000000000054: 03 movq %r14, %rdi
|
| 34 |
+
0000000000000057: 02 xorl %esi, %esi
|
| 35 |
+
0000000000000059: 05 callq 0x41a800 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::privateClear(bool)>
|
| 36 |
+
000000000000005e: 03 movq (%r15), %rbx
|
| 37 |
+
0000000000000061: 04 movl 8(%r15), %eax
|
| 38 |
+
0000000000000065: 02 testl %eax, %eax
|
| 39 |
+
0000000000000067: 02 jns 0x4128a1 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x71>
|
| 40 |
+
0000000000000069: 03 movq %rbx, %rdi
|
| 41 |
+
000000000000006c: 05 callq 0x404a70 <strlen@plt>
|
| 42 |
+
0000000000000071: 02 movl %eax, %edx
|
| 43 |
+
0000000000000073: 02 movl %eax, %ecx
|
| 44 |
+
0000000000000075: 03 sarl $31, %ecx
|
| 45 |
+
0000000000000078: 02 andl %eax, %ecx
|
| 46 |
+
000000000000007a: 06 nopw (%rax,%rax)
|
| 47 |
+
0000000000000080: 02 testl %edx, %edx
|
| 48 |
+
0000000000000082: 02 jle 0x4128c6 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x96>
|
| 49 |
+
0000000000000084: 04 leaq -1(%rdx), %rax
|
| 50 |
+
0000000000000088: 05 cmpb $47, -1(%rbx,%rdx)
|
| 51 |
+
000000000000008d: 03 movq %rax, %rdx
|
| 52 |
+
0000000000000090: 02 je 0x4128b0 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x80>
|
| 53 |
+
0000000000000092: 02 incl %eax
|
| 54 |
+
0000000000000094: 02 movl %eax, %ecx
|
| 55 |
+
0000000000000096: 03 movslq %ecx, %rcx
|
| 56 |
+
0000000000000099: 03 movslq %r13d, %rax
|
| 57 |
+
000000000000009c: 03 addq %rbx, %rax
|
| 58 |
+
000000000000009f: 03 decq %rcx
|
| 59 |
+
00000000000000a2: 10 nopw %cs:(%rax,%rax)
|
| 60 |
+
00000000000000ac: 04 nopl (%rax)
|
| 61 |
+
00000000000000b0: 03 movq %rcx, %rdx
|
| 62 |
+
00000000000000b3: 04 leaq (%rbx,%rcx), %rsi
|
| 63 |
+
00000000000000b7: 03 cmpq %rax, %rsi
|
| 64 |
+
00000000000000ba: 02 jbe 0x4128f5 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0xc5>
|
| 65 |
+
00000000000000bc: 04 leaq -1(%rdx), %rcx
|
| 66 |
+
00000000000000c0: 03 cmpb $47, (%rsi)
|
| 67 |
+
00000000000000c3: 02 jne 0x4128e0 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0xb0>
|
| 68 |
+
00000000000000c5: 02 xorl %ebp, %ebp
|
| 69 |
+
00000000000000c7: 03 testq %rdx, %rdx
|
| 70 |
+
00000000000000ca: 02 je 0x41290c <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0xdc>
|
| 71 |
+
00000000000000cc: 05 movl $4445197, %ecx
|
| 72 |
+
00000000000000d1: 03 movq %r14, %rdi
|
| 73 |
+
00000000000000d4: 03 movq %rbx, %rsi
|
| 74 |
+
00000000000000d7: 05 callq 0x41a440 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::privateAppend(char const*, unsigned long, char const*)>
|
| 75 |
+
00000000000000dc: 02 movl %ebp, %eax
|
| 76 |
+
00000000000000de: 04 addq $8, %rsp
|
| 77 |
+
00000000000000e2: 01 popq %rbx
|
| 78 |
+
00000000000000e3: 02 popq %r12
|
| 79 |
+
00000000000000e5: 02 popq %r13
|
| 80 |
+
00000000000000e7: 02 popq %r14
|
| 81 |
+
00000000000000e9: 02 popq %r15
|
| 82 |
+
00000000000000eb: 01 popq %rbp
|
| 83 |
+
00000000000000ec: 01 retq
|
| 84 |
+
00000000000000ed: 03 movq (%r15), %r12
|
| 85 |
+
00000000000000f0: 04 movq 8(%r15), %rbp
|
| 86 |
+
00000000000000f4: 02 movl %ebp, %ebx
|
| 87 |
+
00000000000000f6: 02 movl %ebp, %eax
|
| 88 |
+
00000000000000f8: 02 testl %ebp, %ebp
|
| 89 |
+
00000000000000fa: 02 js 0x41295f <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x12f>
|
| 90 |
+
00000000000000fc: 02 testl %eax, %eax
|
| 91 |
+
00000000000000fe: 02 jle 0x41296b <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x13b>
|
| 92 |
+
0000000000000100: 02 movl %eax, %eax
|
| 93 |
+
0000000000000102: 03 xorl %r13d, %r13d
|
| 94 |
+
0000000000000105: 10 nopw %cs:(%rax,%rax)
|
| 95 |
+
000000000000010f: 01 nop
|
| 96 |
+
0000000000000110: 05 cmpb $47, (%r12,%r13)
|
| 97 |
+
0000000000000115: 02 jne 0x412952 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x122>
|
| 98 |
+
0000000000000117: 03 incq %r13
|
| 99 |
+
000000000000011a: 03 cmpq %r13, %rax
|
| 100 |
+
000000000000011d: 02 jne 0x412940 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x110>
|
| 101 |
+
000000000000011f: 03 movq %rax, %r13
|
| 102 |
+
0000000000000122: 03 testl %r13d, %r13d
|
| 103 |
+
0000000000000125: 02 js 0x412975 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x145>
|
| 104 |
+
0000000000000127: 03 movl %r13d, %eax
|
| 105 |
+
000000000000012a: 05 jmp 0x412857 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x27>
|
| 106 |
+
000000000000012f: 03 movq %r12, %rdi
|
| 107 |
+
0000000000000132: 05 callq 0x404a70 <strlen@plt>
|
| 108 |
+
0000000000000137: 02 testl %eax, %eax
|
| 109 |
+
0000000000000139: 02 jg 0x412930 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x100>
|
| 110 |
+
000000000000013b: 03 xorl %r13d, %r13d
|
| 111 |
+
000000000000013e: 02 xorl %eax, %eax
|
| 112 |
+
0000000000000140: 05 jmp 0x412857 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x27>
|
| 113 |
+
0000000000000145: 02 movl %ebp, %eax
|
| 114 |
+
0000000000000147: 02 testl %ebp, %ebp
|
| 115 |
+
0000000000000149: 02 jns 0x412983 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x153>
|
| 116 |
+
000000000000014b: 03 movq %r12, %rdi
|
| 117 |
+
000000000000014e: 05 callq 0x404a70 <strlen@plt>
|
| 118 |
+
0000000000000153: 02 testl %eax, %eax
|
| 119 |
+
0000000000000155: 02 jle 0x4129ab <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x17b>
|
| 120 |
+
0000000000000157: 02 movl %eax, %ecx
|
| 121 |
+
0000000000000159: 02 xorl %eax, %eax
|
| 122 |
+
000000000000015b: 05 nopl (%rax,%rax)
|
| 123 |
+
0000000000000160: 05 cmpb $47, (%r12,%rax)
|
| 124 |
+
0000000000000165: 06 jne 0x412857 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x27>
|
| 125 |
+
000000000000016b: 03 incq %rax
|
| 126 |
+
000000000000016e: 03 cmpq %rax, %rcx
|
| 127 |
+
0000000000000171: 02 jne 0x412990 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x160>
|
| 128 |
+
0000000000000173: 03 movq %rcx, %rax
|
| 129 |
+
0000000000000176: 05 jmp 0x412857 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x27>
|
| 130 |
+
000000000000017b: 02 xorl %eax, %eax
|
| 131 |
+
000000000000017d: 05 jmp 0x412857 <BloombergLP::bdls::PathUtil::getDirname(bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >*, BloombergLP::bslstl::StringRefImp<char> const&, int)+0x27>
|
| 132 |
+
0000000000000182: 03 movq %rax, %rdi
|
| 133 |
+
0000000000000185: 05 callq 0x4096c0 <__clang_call_terminate>
|
| 134 |
+
000000000000018a: 06 nopw (%rax,%rax)
|