|
@@ -1,97 +1,105 @@
|
|
| 1 |
0000000000410240 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)>:
|
| 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 %rcx, %r14
|
| 10 |
000000000000000e: 03 movq %rdx, %r12
|
| 11 |
0000000000000011: 03 movq %rsi, %r15
|
| 12 |
0000000000000014: 04 movq %rdi, (%rsp)
|
| 13 |
-
0000000000000018:
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
0000000000000023:
|
| 17 |
-
|
| 18 |
-
0000000000000029: 04
|
| 19 |
-
000000000000002d: 03
|
| 20 |
-
0000000000000030:
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
000000000000003e:
|
| 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 |
-
00000000000000c6:
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
00000000000000ed:
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
0000000000000113: 03
|
| 84 |
-
0000000000000116:
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
000000000000014a:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
0000000000410240 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)>:
|
| 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 %rcx, %r14
|
| 10 |
000000000000000e: 03 movq %rdx, %r12
|
| 11 |
0000000000000011: 03 movq %rsi, %r15
|
| 12 |
0000000000000014: 04 movq %rdi, (%rsp)
|
| 13 |
+
0000000000000018: 05 cmpq $23, 56(%rsi)
|
| 14 |
+
000000000000001d: 02 je 0x410265 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0x25>
|
| 15 |
+
000000000000001f: 04 movq 24(%r15), %r13
|
| 16 |
+
0000000000000023: 02 jmp 0x410269 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0x29>
|
| 17 |
+
0000000000000025: 04 leaq 24(%r15), %r13
|
| 18 |
+
0000000000000029: 04 movq 48(%r15), %rbp
|
| 19 |
+
000000000000002d: 03 testq %r14, %r14
|
| 20 |
+
0000000000000030: 02 jne 0x410286 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0x46>
|
| 21 |
+
0000000000000032: 07 movq 2386111(%rip), %r14 # 656b38 <BloombergLP::bslma::Default::s_defaultAllocator>
|
| 22 |
+
0000000000000039: 03 testq %r14, %r14
|
| 23 |
+
000000000000003c: 02 jne 0x410286 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0x46>
|
| 24 |
+
000000000000003e: 05 callq 0x414540 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()>
|
| 25 |
+
0000000000000043: 03 movq %rax, %r14
|
| 26 |
+
0000000000000046: 03 movq (%r14), %rax
|
| 27 |
+
0000000000000049: 05 movl $72, %esi
|
| 28 |
+
000000000000004e: 03 movq %r14, %rdi
|
| 29 |
+
0000000000000051: 03 callq *16(%rax)
|
| 30 |
+
0000000000000054: 03 movq %rax, %rbx
|
| 31 |
+
0000000000000057: 07 movq $4260784, (%rax)
|
| 32 |
+
000000000000005e: 04 movq (%r12), %rax
|
| 33 |
+
0000000000000062: 04 movq %rax, 8(%rbx)
|
| 34 |
+
0000000000000066: 05 movq 8(%r12), %rax
|
| 35 |
+
000000000000006b: 04 movq %rax, 16(%rbx)
|
| 36 |
+
000000000000006f: 04 leaq 24(%rbx), %rdi
|
| 37 |
+
0000000000000073: 08 movq $0, 24(%rbx)
|
| 38 |
+
000000000000007b: 04 movq %r14, 64(%rbx)
|
| 39 |
+
000000000000007f: 07 movaps 180762(%rip), %xmm0 # 43c4e0 <main::DATA+0x210>
|
| 40 |
+
0000000000000086: 04 movups %xmm0, 48(%rbx)
|
| 41 |
+
000000000000008a: 05 movl $4445673, %ecx
|
| 42 |
+
000000000000008f: 03 movq %r13, %rsi
|
| 43 |
+
0000000000000092: 03 movq %rbp, %rdx
|
| 44 |
+
0000000000000095: 05 callq 0x418520 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::privateAppend(char const*, unsigned long, char const*)>
|
| 45 |
+
000000000000009a: 05 movl $4281440, %edx
|
| 46 |
+
000000000000009f: 04 movq (%rsp), %rdi
|
| 47 |
+
00000000000000a3: 03 movq %r15, %rsi
|
| 48 |
+
00000000000000a6: 03 movq %rbx, %rcx
|
| 49 |
+
00000000000000a9: 05 callq 0x415b30 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::create(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, void* (*)(void*), void*)>
|
| 50 |
+
00000000000000ae: 02 movl %eax, %ebp
|
| 51 |
+
00000000000000b0: 02 testl %eax, %eax
|
| 52 |
+
00000000000000b2: 02 je 0x41031d <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0xdd>
|
| 53 |
+
00000000000000b4: 05 cmpq $23, 56(%rbx)
|
| 54 |
+
00000000000000b9: 02 je 0x410309 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0xc9>
|
| 55 |
+
00000000000000bb: 04 movq 24(%rbx), %rsi
|
| 56 |
+
00000000000000bf: 04 movq 64(%rbx), %rdi
|
| 57 |
+
00000000000000c3: 03 movq (%rdi), %rax
|
| 58 |
+
00000000000000c6: 03 callq *24(%rax)
|
| 59 |
+
00000000000000c9: 08 movq $-1, 48(%rbx)
|
| 60 |
+
00000000000000d1: 03 movq (%r14), %rax
|
| 61 |
+
00000000000000d4: 03 movq %r14, %rdi
|
| 62 |
+
00000000000000d7: 03 movq %rbx, %rsi
|
| 63 |
+
00000000000000da: 03 callq *24(%rax)
|
| 64 |
+
00000000000000dd: 02 movl %ebp, %eax
|
| 65 |
+
00000000000000df: 04 addq $8, %rsp
|
| 66 |
+
00000000000000e3: 01 popq %rbx
|
| 67 |
+
00000000000000e4: 02 popq %r12
|
| 68 |
+
00000000000000e6: 02 popq %r13
|
| 69 |
+
00000000000000e8: 02 popq %r14
|
| 70 |
+
00000000000000ea: 02 popq %r15
|
| 71 |
+
00000000000000ec: 01 popq %rbp
|
| 72 |
+
00000000000000ed: 01 retq
|
| 73 |
+
00000000000000ee: 03 movq %rax, %rdi
|
| 74 |
+
00000000000000f1: 05 callq 0x40e530 <__clang_call_terminate>
|
| 75 |
+
00000000000000f6: 03 movq %rax, %rdi
|
| 76 |
+
00000000000000f9: 05 callq 0x40e530 <__clang_call_terminate>
|
| 77 |
+
00000000000000fe: 03 movq %rax, %rbp
|
| 78 |
+
0000000000000101: 05 cmpq $23, 56(%rbx)
|
| 79 |
+
0000000000000106: 02 je 0x410356 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0x116>
|
| 80 |
+
0000000000000108: 04 movq 24(%rbx), %rsi
|
| 81 |
+
000000000000010c: 04 movq 64(%rbx), %rdi
|
| 82 |
+
0000000000000110: 03 movq (%rdi), %rax
|
| 83 |
+
0000000000000113: 03 callq *24(%rax)
|
| 84 |
+
0000000000000116: 08 movq $-1, 48(%rbx)
|
| 85 |
+
000000000000011e: 03 movq (%r14), %rax
|
| 86 |
+
0000000000000121: 03 movq %r14, %rdi
|
| 87 |
+
0000000000000124: 03 movq %rbx, %rsi
|
| 88 |
+
0000000000000127: 03 callq *24(%rax)
|
| 89 |
+
000000000000012a: 02 jmp 0x410393 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, BloombergLP::bdlf::Bind<BloombergLP::bslmf::Nil, void (*)(BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*), BloombergLP::bdlf::Bind_BoundTuple1<BloombergLP::bdlcc::SingleConsumerQueue<my_WorkData>*> > const&, BloombergLP::bslma::Allocator*)+0x153>
|
| 90 |
+
000000000000012c: 03 movq %rax, %rdi
|
| 91 |
+
000000000000012f: 05 callq 0x40e530 <__clang_call_terminate>
|
| 92 |
+
0000000000000134: 03 movq %rax, %rdi
|
| 93 |
+
0000000000000137: 05 callq 0x40e530 <__clang_call_terminate>
|
| 94 |
+
000000000000013c: 03 movq %rax, %rbp
|
| 95 |
+
000000000000013f: 08 movq $0, 48(%rbx)
|
| 96 |
+
0000000000000147: 03 movq (%r14), %rax
|
| 97 |
+
000000000000014a: 03 movq %r14, %rdi
|
| 98 |
+
000000000000014d: 03 movq %rbx, %rsi
|
| 99 |
+
0000000000000150: 03 callq *24(%rax)
|
| 100 |
+
0000000000000153: 03 movq %rbp, %rdi
|
| 101 |
+
0000000000000156: 05 callq 0x403c20 <_Unwind_Resume@plt>
|
| 102 |
+
000000000000015b: 03 movq %rax, %rdi
|
| 103 |
+
000000000000015e: 05 callq 0x40e530 <__clang_call_terminate>
|
| 104 |
+
0000000000000163: 10 nopw %cs:(%rax,%rax)
|
| 105 |
+
000000000000016d: 03 nopl (%rax)
|