|
@@ -1,60 +1,128 @@
|
|
| 1 |
-
|
| 2 |
0000000000000000: 01 pushq %rbp
|
| 3 |
0000000000000001: 02 pushq %r14
|
| 4 |
0000000000000003: 01 pushq %rbx
|
| 5 |
-
0000000000000004:
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
000000000040b470 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)>:
|
| 2 |
0000000000000000: 01 pushq %rbp
|
| 3 |
0000000000000001: 02 pushq %r14
|
| 4 |
0000000000000003: 01 pushq %rbx
|
| 5 |
+
0000000000000004: 07 subq $144, %rsp
|
| 6 |
+
000000000000000b: 03 movq %rdx, %rbx
|
| 7 |
+
000000000000000e: 03 movq %rsi, %rbp
|
| 8 |
+
0000000000000011: 03 movq %rdi, %r14
|
| 9 |
+
0000000000000014: 03 cmpl $0, (%rdx)
|
| 10 |
+
0000000000000017: 02 je 0x40b4c4 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x54>
|
| 11 |
+
0000000000000019: 05 leaq 48(%rsp), %rdi
|
| 12 |
+
000000000000001e: 03 movq %rbx, %rsi
|
| 13 |
+
0000000000000021: 02 xorl %edx, %edx
|
| 14 |
+
0000000000000023: 05 callq 0x40ec90 <BloombergLP::bslmt::ThreadAttributes::ThreadAttributes(BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bslma::Allocator*)>
|
| 15 |
+
0000000000000028: 08 movl $0, 48(%rsp)
|
| 16 |
+
0000000000000030: 04 movq 32(%r14), %rcx
|
| 17 |
+
0000000000000034: 03 xorps %xmm0, %xmm0
|
| 18 |
+
0000000000000037: 05 movaps %xmm0, 16(%rsp)
|
| 19 |
+
000000000000003c: 04 movaps %xmm0, (%rsp)
|
| 20 |
+
0000000000000040: 05 movq 96(%rsp), %rax
|
| 21 |
+
0000000000000045: 06 cmpq $23, 104(%rsp)
|
| 22 |
+
000000000000004b: 02 je 0x40b4e6 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x76>
|
| 23 |
+
000000000000004d: 05 movq 72(%rsp), %rdx
|
| 24 |
+
0000000000000052: 02 jmp 0x40b4eb <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x7b>
|
| 25 |
+
0000000000000054: 04 movq 32(%r14), %rcx
|
| 26 |
+
0000000000000058: 03 xorps %xmm0, %xmm0
|
| 27 |
+
000000000000005b: 05 movaps %xmm0, 64(%rsp)
|
| 28 |
+
0000000000000060: 05 movaps %xmm0, 48(%rsp)
|
| 29 |
+
0000000000000065: 04 movq 48(%rbx), %rax
|
| 30 |
+
0000000000000069: 05 cmpq $23, 56(%rbx)
|
| 31 |
+
000000000000006e: 02 je 0x40b55b <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0xeb>
|
| 32 |
+
0000000000000070: 04 movq 24(%rbx), %rdx
|
| 33 |
+
0000000000000074: 02 jmp 0x40b55f <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0xef>
|
| 34 |
+
0000000000000076: 05 leaq 72(%rsp), %rdx
|
| 35 |
+
000000000000007b: 08 movq %rdx, 128(%rsp)
|
| 36 |
+
0000000000000083: 08 movq %rax, 136(%rsp)
|
| 37 |
+
000000000000008b: 03 movq %rsp, %rdi
|
| 38 |
+
000000000000008e: 08 leaq 128(%rsp), %rdx
|
| 39 |
+
0000000000000096: 03 movq %rbp, %rsi
|
| 40 |
+
0000000000000099: 05 callq 0x40bbe0 <void BloombergLP::bslmt::EntryPointFunctorAdapterUtil::allocateAdapter<bsl::function<void ()> >(BloombergLP::bslma::ManagedPtr<BloombergLP::bslmt::EntryPointFunctorAdapter<bsl::function<void ()> > >*, bsl::function<void ()> const&, BloombergLP::bslstl::StringRefImp<char> const&, BloombergLP::bslma::Allocator*)>
|
| 41 |
+
000000000000009e: 04 movq (%rsp), %rcx
|
| 42 |
+
00000000000000a2: 05 leaq 40(%rsp), %rdi
|
| 43 |
+
00000000000000a7: 05 leaq 48(%rsp), %rsi
|
| 44 |
+
00000000000000ac: 05 movl $4254080, %edx
|
| 45 |
+
00000000000000b1: 05 callq 0x40f0c0 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::create(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, void* (*)(void*), void*)>
|
| 46 |
+
00000000000000b6: 02 movl %eax, %ebp
|
| 47 |
+
00000000000000b8: 02 testl %eax, %eax
|
| 48 |
+
00000000000000ba: 02 je 0x40b541 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0xd1>
|
| 49 |
+
00000000000000bc: 05 cmpq $0, (%rsp)
|
| 50 |
+
00000000000000c1: 02 je 0x40b541 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0xd1>
|
| 51 |
+
00000000000000c3: 05 movq 8(%rsp), %rdi
|
| 52 |
+
00000000000000c8: 05 movq 16(%rsp), %rsi
|
| 53 |
+
00000000000000cd: 04 callq *24(%rsp)
|
| 54 |
+
00000000000000d1: 06 cmpq $23, 104(%rsp)
|
| 55 |
+
00000000000000d7: 02 je 0x40b5ab <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x13b>
|
| 56 |
+
00000000000000d9: 05 movq 72(%rsp), %rsi
|
| 57 |
+
00000000000000de: 05 movq 112(%rsp), %rdi
|
| 58 |
+
00000000000000e3: 03 movq (%rdi), %rax
|
| 59 |
+
00000000000000e6: 03 callq *24(%rax)
|
| 60 |
+
00000000000000e9: 02 jmp 0x40b5ab <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x13b>
|
| 61 |
+
00000000000000eb: 04 leaq 24(%rbx), %rdx
|
| 62 |
+
00000000000000ef: 04 movq %rdx, (%rsp)
|
| 63 |
+
00000000000000f3: 05 movq %rax, 8(%rsp)
|
| 64 |
+
00000000000000f8: 05 leaq 48(%rsp), %rdi
|
| 65 |
+
00000000000000fd: 03 movq %rsp, %rdx
|
| 66 |
+
0000000000000100: 03 movq %rbp, %rsi
|
| 67 |
+
0000000000000103: 05 callq 0x40bbe0 <void BloombergLP::bslmt::EntryPointFunctorAdapterUtil::allocateAdapter<bsl::function<void ()> >(BloombergLP::bslma::ManagedPtr<BloombergLP::bslmt::EntryPointFunctorAdapter<bsl::function<void ()> > >*, bsl::function<void ()> const&, BloombergLP::bslstl::StringRefImp<char> const&, BloombergLP::bslma::Allocator*)>
|
| 68 |
+
0000000000000108: 05 movq 48(%rsp), %rcx
|
| 69 |
+
000000000000010d: 05 leaq 40(%rsp), %rdi
|
| 70 |
+
0000000000000112: 05 movl $4254080, %edx
|
| 71 |
+
0000000000000117: 03 movq %rbx, %rsi
|
| 72 |
+
000000000000011a: 05 callq 0x40f0c0 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::create(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, void* (*)(void*), void*)>
|
| 73 |
+
000000000000011f: 02 movl %eax, %ebp
|
| 74 |
+
0000000000000121: 02 testl %eax, %eax
|
| 75 |
+
0000000000000123: 02 je 0x40b5ab <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x13b>
|
| 76 |
+
0000000000000125: 06 cmpq $0, 48(%rsp)
|
| 77 |
+
000000000000012b: 02 je 0x40b5ab <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x13b>
|
| 78 |
+
000000000000012d: 05 movq 56(%rsp), %rdi
|
| 79 |
+
0000000000000132: 05 movq 64(%rsp), %rsi
|
| 80 |
+
0000000000000137: 04 callq *72(%rsp)
|
| 81 |
+
000000000000013b: 02 testl %ebp, %ebp
|
| 82 |
+
000000000000013d: 02 jne 0x40b5bc <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x14c>
|
| 83 |
+
000000000000013f: 05 leaq 40(%rsp), %rsi
|
| 84 |
+
0000000000000144: 03 movq %r14, %rdi
|
| 85 |
+
0000000000000147: 05 callq 0x40efd0 <BloombergLP::bslmt::ThreadGroup::addThread(unsigned long const&)>
|
| 86 |
+
000000000000014c: 02 movl %ebp, %eax
|
| 87 |
+
000000000000014e: 07 addq $144, %rsp
|
| 88 |
+
0000000000000155: 01 popq %rbx
|
| 89 |
+
0000000000000156: 02 popq %r14
|
| 90 |
+
0000000000000158: 01 popq %rbp
|
| 91 |
+
0000000000000159: 01 retq
|
| 92 |
+
000000000000015a: 03 movq %rax, %rdi
|
| 93 |
+
000000000000015d: 05 callq 0x408560 <__clang_call_terminate>
|
| 94 |
+
0000000000000162: 03 movq %rax, %rdi
|
| 95 |
+
0000000000000165: 05 callq 0x408560 <__clang_call_terminate>
|
| 96 |
+
000000000000016a: 03 movq %rax, %rdi
|
| 97 |
+
000000000000016d: 05 callq 0x408560 <__clang_call_terminate>
|
| 98 |
+
0000000000000172: 02 jmp 0x40b5e4 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x174>
|
| 99 |
+
0000000000000174: 03 movq %rax, %rbx
|
| 100 |
+
0000000000000177: 06 cmpq $0, 48(%rsp)
|
| 101 |
+
000000000000017d: 02 je 0x40b639 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x1c9>
|
| 102 |
+
000000000000017f: 05 movq 56(%rsp), %rdi
|
| 103 |
+
0000000000000184: 05 movq 64(%rsp), %rsi
|
| 104 |
+
0000000000000189: 04 callq *72(%rsp)
|
| 105 |
+
000000000000018d: 02 jmp 0x40b639 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x1c9>
|
| 106 |
+
000000000000018f: 03 movq %rax, %rdi
|
| 107 |
+
0000000000000192: 05 callq 0x408560 <__clang_call_terminate>
|
| 108 |
+
0000000000000197: 02 jmp 0x40b609 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x199>
|
| 109 |
+
0000000000000199: 03 movq %rax, %rbx
|
| 110 |
+
000000000000019c: 05 cmpq $0, (%rsp)
|
| 111 |
+
00000000000001a1: 02 je 0x40b621 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x1b1>
|
| 112 |
+
00000000000001a3: 05 movq 8(%rsp), %rdi
|
| 113 |
+
00000000000001a8: 05 movq 16(%rsp), %rsi
|
| 114 |
+
00000000000001ad: 04 callq *24(%rsp)
|
| 115 |
+
00000000000001b1: 06 cmpq $23, 104(%rsp)
|
| 116 |
+
00000000000001b7: 02 je 0x40b639 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)+0x1c9>
|
| 117 |
+
00000000000001b9: 05 movq 72(%rsp), %rsi
|
| 118 |
+
00000000000001be: 05 movq 112(%rsp), %rdi
|
| 119 |
+
00000000000001c3: 03 movq (%rdi), %rax
|
| 120 |
+
00000000000001c6: 03 callq *24(%rax)
|
| 121 |
+
00000000000001c9: 03 movq %rbx, %rdi
|
| 122 |
+
00000000000001cc: 05 callq 0x404120 <_Unwind_Resume@plt>
|
| 123 |
+
00000000000001d1: 03 movq %rax, %rdi
|
| 124 |
+
00000000000001d4: 05 callq 0x408560 <__clang_call_terminate>
|
| 125 |
+
00000000000001d9: 03 movq %rax, %rdi
|
| 126 |
+
00000000000001dc: 05 callq 0x408560 <__clang_call_terminate>
|
| 127 |
+
00000000000001e1: 10 nopw %cs:(%rax,%rax)
|
| 128 |
+
00000000000001eb: 05 nopl (%rax,%rax)
|