|
@@ -1,104 +1,111 @@
|
|
| 1 |
-
|
| 2 |
0000000000000000: 01 pushq %rbp
|
| 3 |
0000000000000001: 02 pushq %r15
|
| 4 |
0000000000000003: 02 pushq %r14
|
| 5 |
0000000000000005: 01 pushq %rbx
|
| 6 |
0000000000000006: 04 subq $72, %rsp
|
| 7 |
000000000000000a: 03 movq %rdx, %r14
|
| 8 |
000000000000000d: 03 movq %rsi, %rbp
|
| 9 |
0000000000000010: 03 movq %rdi, %r15
|
| 10 |
-
0000000000000013: 03
|
| 11 |
-
0000000000000016:
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
0000000000000024:
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
0000000000000067: 05 movl $
|
| 31 |
-
000000000000006c:
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
000000000000009a:
|
| 45 |
-
|
| 46 |
-
00000000000000a0: 04 movq 56(%rbx), %rdi
|
| 47 |
00000000000000a4: 03 movq (%rdi), %rax
|
| 48 |
00000000000000a7: 03 callq *24(%rax)
|
| 49 |
-
00000000000000aa:
|
| 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 |
-
0000000000000141:
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
0000000000494670 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)>:
|
| 2 |
0000000000000000: 01 pushq %rbp
|
| 3 |
0000000000000001: 02 pushq %r15
|
| 4 |
0000000000000003: 02 pushq %r14
|
| 5 |
0000000000000005: 01 pushq %rbx
|
| 6 |
0000000000000006: 04 subq $72, %rsp
|
| 7 |
000000000000000a: 03 movq %rdx, %r14
|
| 8 |
000000000000000d: 03 movq %rsi, %rbp
|
| 9 |
0000000000000010: 03 movq %rdi, %r15
|
| 10 |
+
0000000000000013: 03 testq %rdx, %rdx
|
| 11 |
+
0000000000000016: 02 jne 0x49469c <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0x2c>
|
| 12 |
+
0000000000000018: 07 movq 2694801(%rip), %r14 # 726520 <BloombergLP::bslma::Default::s_defaultAllocator>
|
| 13 |
+
000000000000001f: 03 testq %r14, %r14
|
| 14 |
+
0000000000000022: 02 jne 0x49469c <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0x2c>
|
| 15 |
+
0000000000000024: 05 callq 0x4bd7f0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()>
|
| 16 |
+
0000000000000029: 03 movq %rax, %r14
|
| 17 |
+
000000000000002c: 03 movq (%r14), %rax
|
| 18 |
+
000000000000002f: 05 movl $64, %esi
|
| 19 |
+
0000000000000034: 03 movq %r14, %rdi
|
| 20 |
+
0000000000000037: 03 callq *16(%rax)
|
| 21 |
+
000000000000003a: 03 movq %rax, %rbx
|
| 22 |
+
000000000000003d: 07 movq $4802560, (%rax)
|
| 23 |
+
0000000000000044: 04 movq (%rbp), %rax
|
| 24 |
+
0000000000000048: 04 movq %rax, 8(%rbx)
|
| 25 |
+
000000000000004c: 04 leaq 16(%rbx), %rdi
|
| 26 |
+
0000000000000050: 08 movq $0, 16(%rbx)
|
| 27 |
+
0000000000000058: 04 movq %r14, 56(%rbx)
|
| 28 |
+
000000000000005c: 07 movaps 336685(%rip), %xmm0 # 4e6a00 <MULTI_THREADED_TRY_PUSH::nullItem+0x150>
|
| 29 |
+
0000000000000063: 04 movups %xmm0, 40(%rbx)
|
| 30 |
+
0000000000000067: 05 movl $5150746, %ecx
|
| 31 |
+
000000000000006c: 02 xorl %esi, %esi
|
| 32 |
+
000000000000006e: 02 xorl %edx, %edx
|
| 33 |
+
0000000000000070: 05 callq 0x4c35b0 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::privateAppend(char const*, unsigned long, char const*)>
|
| 34 |
+
0000000000000075: 03 movq %rsp, %rdi
|
| 35 |
+
0000000000000078: 05 callq 0x4beeb0 <BloombergLP::bslmt::ThreadAttributes::ThreadAttributes()>
|
| 36 |
+
000000000000007d: 03 movq %rsp, %rsi
|
| 37 |
+
0000000000000080: 05 movl $4975120, %edx
|
| 38 |
+
0000000000000085: 03 movq %r15, %rdi
|
| 39 |
+
0000000000000088: 03 movq %rbx, %rcx
|
| 40 |
+
000000000000008b: 05 callq 0x4bf3a0 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::create(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, void* (*)(void*), void*)>
|
| 41 |
+
0000000000000090: 02 movl %eax, %ebp
|
| 42 |
+
0000000000000092: 06 cmpq $23, 56(%rsp)
|
| 43 |
+
0000000000000098: 02 je 0x49471a <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0xaa>
|
| 44 |
+
000000000000009a: 05 movq 24(%rsp), %rsi
|
| 45 |
+
000000000000009f: 05 movq 64(%rsp), %rdi
|
|
|
|
| 46 |
00000000000000a4: 03 movq (%rdi), %rax
|
| 47 |
00000000000000a7: 03 callq *24(%rax)
|
| 48 |
+
00000000000000aa: 02 testl %ebp, %ebp
|
| 49 |
+
00000000000000ac: 02 je 0x494747 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0xd7>
|
| 50 |
+
00000000000000ae: 05 cmpq $23, 48(%rbx)
|
| 51 |
+
00000000000000b3: 02 je 0x494733 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0xc3>
|
| 52 |
+
00000000000000b5: 04 movq 16(%rbx), %rsi
|
| 53 |
+
00000000000000b9: 04 movq 56(%rbx), %rdi
|
| 54 |
+
00000000000000bd: 03 movq (%rdi), %rax
|
| 55 |
+
00000000000000c0: 03 callq *24(%rax)
|
| 56 |
+
00000000000000c3: 08 movq $-1, 40(%rbx)
|
| 57 |
+
00000000000000cb: 03 movq (%r14), %rax
|
| 58 |
+
00000000000000ce: 03 movq %r14, %rdi
|
| 59 |
+
00000000000000d1: 03 movq %rbx, %rsi
|
| 60 |
+
00000000000000d4: 03 callq *24(%rax)
|
| 61 |
+
00000000000000d7: 02 movl %ebp, %eax
|
| 62 |
+
00000000000000d9: 04 addq $72, %rsp
|
| 63 |
+
00000000000000dd: 01 popq %rbx
|
| 64 |
+
00000000000000de: 02 popq %r14
|
| 65 |
+
00000000000000e0: 02 popq %r15
|
| 66 |
+
00000000000000e2: 01 popq %rbp
|
| 67 |
+
00000000000000e3: 01 retq
|
| 68 |
+
00000000000000e4: 03 movq %rax, %rdi
|
| 69 |
+
00000000000000e7: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 70 |
+
00000000000000ec: 03 movq %rax, %rdi
|
| 71 |
+
00000000000000ef: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 72 |
+
00000000000000f4: 03 movq %rax, %rdi
|
| 73 |
+
00000000000000f7: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 74 |
+
00000000000000fc: 03 movq %rax, %r15
|
| 75 |
+
00000000000000ff: 06 cmpq $23, 56(%rsp)
|
| 76 |
+
0000000000000105: 02 je 0x494794 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0x124>
|
| 77 |
+
0000000000000107: 05 movq 24(%rsp), %rsi
|
| 78 |
+
000000000000010c: 05 movq 64(%rsp), %rdi
|
| 79 |
+
0000000000000111: 03 movq (%rdi), %rax
|
| 80 |
+
0000000000000114: 03 callq *24(%rax)
|
| 81 |
+
0000000000000117: 02 jmp 0x494794 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0x124>
|
| 82 |
+
0000000000000119: 03 movq %rax, %rdi
|
| 83 |
+
000000000000011c: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 84 |
+
0000000000000121: 03 movq %rax, %r15
|
| 85 |
+
0000000000000124: 05 cmpq $23, 48(%rbx)
|
| 86 |
+
0000000000000129: 02 je 0x4947a9 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0x139>
|
| 87 |
+
000000000000012b: 04 movq 16(%rbx), %rsi
|
| 88 |
+
000000000000012f: 04 movq 56(%rbx), %rdi
|
| 89 |
+
0000000000000133: 03 movq (%rdi), %rax
|
| 90 |
+
0000000000000136: 03 callq *24(%rax)
|
| 91 |
+
0000000000000139: 08 movq $-1, 40(%rbx)
|
| 92 |
+
0000000000000141: 03 movq (%r14), %rax
|
| 93 |
+
0000000000000144: 03 movq %r14, %rdi
|
| 94 |
+
0000000000000147: 03 movq %rbx, %rsi
|
| 95 |
+
000000000000014a: 03 callq *24(%rax)
|
| 96 |
+
000000000000014d: 02 jmp 0x4947e6 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<USAGE_EXAMPLE_1::ProducerFunctor>(unsigned long*, USAGE_EXAMPLE_1::ProducerFunctor const&, BloombergLP::bslma::Allocator*)+0x176>
|
| 97 |
+
000000000000014f: 03 movq %rax, %rdi
|
| 98 |
+
0000000000000152: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 99 |
+
0000000000000157: 03 movq %rax, %rdi
|
| 100 |
+
000000000000015a: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 101 |
+
000000000000015f: 03 movq %rax, %r15
|
| 102 |
+
0000000000000162: 08 movq $0, 40(%rbx)
|
| 103 |
+
000000000000016a: 03 movq (%r14), %rax
|
| 104 |
+
000000000000016d: 03 movq %r14, %rdi
|
| 105 |
+
0000000000000170: 03 movq %rbx, %rsi
|
| 106 |
+
0000000000000173: 03 callq *24(%rax)
|
| 107 |
+
0000000000000176: 03 movq %r15, %rdi
|
| 108 |
+
0000000000000179: 05 callq 0x404850 <_Unwind_Resume@plt>
|
| 109 |
+
000000000000017e: 03 movq %rax, %rdi
|
| 110 |
+
0000000000000181: 05 callq 0x433ef0 <__clang_call_terminate>
|
| 111 |
+
0000000000000186: 10 nopw %cs:(%rax,%rax)
|