Comparing BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject() in assumed vs ignored

Files changed (1) hide show
  1. bdlcc_sharedobjectpool.t/{0.assume.s → 0.none.s} +115 -113
bdlcc_sharedobjectpool.t/{0.assume.s → 0.none.s} RENAMED
@@ -1,181 +1,183 @@
1
  0000000000409210 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()>:
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: 04 subq $40, %rsp
9
  000000000000000e: 03 movq %rdi, %rbp
10
  0000000000000011: 07 leaq 144(%rdi), %r14
11
  0000000000000018: 04 leaq 120(%rdi), %r15
12
  000000000000001c: 04 leaq 16(%rdi), %r12
13
  0000000000000020: 04 movq 8(%rbp), %rbx
14
  0000000000000024: 03 testq %rbx, %rbx
15
  0000000000000027: 02 je 0x4092a2 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x92>
16
  0000000000000029: 05 movl $2, %eax
17
  000000000000002e: 01 lock
18
  000000000000002f: 04 xaddl %eax, 8(%rbx)
19
  0000000000000033: 02 testl %eax, %eax
20
  0000000000000035: 02 jne 0x4092c0 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0xb0>
21
  0000000000000037: 04 movq 8(%rbp), %rax
22
  000000000000003b: 05 movq %rax, 16(%rsp)
23
  0000000000000040: 05 movq 16(%rsp), %rax
24
  0000000000000045: 03 cmpq %rbx, %rax
25
  0000000000000048: 02 jne 0x40928a <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x7a>
26
  000000000000004a: 05 movq 16(%rsp), %rax
27
  000000000000004f: 03 movq (%rax), %rcx
28
  0000000000000052: 03 movq %rbx, %rax
29
  0000000000000055: 01 lock
30
  0000000000000056: 05 cmpxchgq %rcx, 8(%rbp)
31
  000000000000005b: 03 cmpq %rax, %rbx
32
- 000000000000005e: 06 je 0x4093da <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1ca>
33
  0000000000000064: 02 jmp 0x40928a <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x7a>
34
  0000000000000066: 02 movl %ecx, %edx
35
  0000000000000068: 03 xorl $1, %edx
36
  000000000000006b: 02 movl %ecx, %eax
37
  000000000000006d: 01 lock
38
  000000000000006e: 04 cmpxchgl %edx, 8(%rbx)
39
  0000000000000072: 02 cmpl %eax, %ecx
40
- 0000000000000074: 06 je 0x4093da <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1ca>
41
  000000000000007a: 03 movl 8(%rbx), %ecx
42
  000000000000007d: 03 testb $1, %cl
43
  0000000000000080: 02 jne 0x409276 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x66>
44
  0000000000000082: 03 leal -2(%rcx), %edx
45
  0000000000000085: 02 movl %ecx, %eax
46
  0000000000000087: 01 lock
47
  0000000000000088: 04 cmpxchgl %edx, 8(%rbx)
48
  000000000000008c: 02 cmpl %eax, %ecx
49
  000000000000008e: 02 jne 0x40928a <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x7a>
50
  0000000000000090: 02 jmp 0x409230 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x20>
51
  0000000000000092: 03 movq %r14, %rdi
52
  0000000000000095: 05 callq 0x403a50 <pthread_mutex_lock@plt>
53
  000000000000009a: 04 movq 8(%rbp), %rbx
54
  000000000000009e: 03 testq %rbx, %rbx
55
  00000000000000a1: 02 je 0x4092e3 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0xd3>
56
  00000000000000a3: 03 movq %r14, %rdi
57
  00000000000000a6: 05 callq 0x403b00 <pthread_mutex_unlock@plt>
58
  00000000000000ab: 05 jmp 0x409239 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x29>
59
  00000000000000b0: 04 movq 8(%rbp), %rax
60
  00000000000000b4: 03 cmpq %rax, %rbx
61
  00000000000000b7: 06 jne 0x409247 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x37>
62
  00000000000000bd: 04 movq 8(%rbp), %rax
63
  00000000000000c1: 03 cmpq %rax, %rbx
64
  00000000000000c4: 06 jne 0x409247 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x37>
65
  00000000000000ca: 04 movq 8(%rbp), %rax
66
  00000000000000ce: 05 jmp 0x409247 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x37>
67
  00000000000000d3: 04 movl 100(%rbp), %r13d
68
  00000000000000d7: 03 movl %r13d, %ebx
69
  00000000000000da: 02 negl %ebx
70
  00000000000000dc: 04 cmovll %r13d, %ebx
71
- 00000000000000e0: 02 movl %ebx, %esi
72
- 00000000000000e2: 03 shll $5, %esi
73
- 00000000000000e5: 03 orl $16, %esi
74
- 00000000000000e8: 03 movq %r15, %rdi
75
- 00000000000000eb: 05 callq 0x4104b0 <BloombergLP::bdlma::InfrequentDeleteBlockList::allocate(unsigned long)>
76
- 00000000000000f0: 04 movq 112(%rbp), %rcx
77
- 00000000000000f4: 03 movq %rcx, (%rax)
78
- 00000000000000f7: 04 movl %ebx, 4(%rsp)
79
- 00000000000000fb: 03 movl %ebx, 8(%rax)
80
- 00000000000000fe: 04 leaq 16(%rax), %rbx
81
- 0000000000000102: 05 movq %rbx, 24(%rsp)
82
- 0000000000000107: 03 testl %r13d, %r13d
83
- 000000000000010a: 02 je 0x409384 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x174>
84
- 000000000000010c: 04 movl 4(%rsp), %ecx
85
- 0000000000000110: 02 negl %ecx
86
- 0000000000000112: 05 movq %rcx, 32(%rsp)
87
- 0000000000000117: 06 movl $1, %r13d
88
- 000000000000011d: 05 movq %rax, 8(%rsp)
89
- 0000000000000122: 03 movq %rax, %rbx
90
- 0000000000000125: 04 leaq 48(%rbx), %rax
91
- 0000000000000129: 04 movq %rax, 16(%rbx)
92
- 000000000000012d: 07 movl $0, 24(%rbx)
93
- 0000000000000134: 04 movq 80(%rbp), %rax
94
- 0000000000000138: 03 testq %rax, %rax
95
- 000000000000013b: 06 je 0x4093fb <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1eb>
96
- 0000000000000141: 07 movq 136(%rbp), %rdx
97
- 0000000000000148: 04 addq $32, %rbx
98
- 000000000000014c: 03 movq %r12, %rdi
99
- 000000000000014f: 03 movq %rbx, %rsi
100
- 0000000000000152: 02 callq *%rax
101
- 0000000000000154: 05 movq 32(%rsp), %rax
102
- 0000000000000159: 05 leal 1(%rax,%r13), %eax
103
- 000000000000015e: 03 movl %r13d, %ecx
104
- 0000000000000161: 02 incl %ecx
105
- 0000000000000163: 03 movl %ecx, %r13d
106
- 0000000000000166: 03 cmpl $1, %eax
107
- 0000000000000169: 02 jne 0x409335 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x125>
108
- 000000000000016b: 04 addq $16, %rbx
109
- 000000000000016f: 05 movq 8(%rsp), %rax
110
- 0000000000000174: 07 movl $0, -24(%rbx)
111
- 000000000000017b: 04 movq %rax, 112(%rbp)
112
- 000000000000017f: 05 movq 24(%rsp), %rdx
113
- 0000000000000184: 04 movq 8(%rbp), %rcx
114
- 0000000000000188: 04 movq %rcx, -32(%rbx)
115
- 000000000000018c: 03 movq %rcx, %rax
116
- 000000000000018f: 01 lock
117
- 0000000000000190: 05 cmpxchgq %rdx, 8(%rbp)
118
- 0000000000000195: 03 cmpq %rax, %rcx
119
- 0000000000000198: 02 jne 0x409394 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x184>
120
- 000000000000019a: 04 movl 4(%rsp), %eax
121
- 000000000000019e: 01 lock
122
- 000000000000019f: 03 addl %eax, 108(%rbp)
123
- 00000000000001a2: 01 lock
124
- 00000000000001a3: 03 addl %eax, 104(%rbp)
125
- 00000000000001a6: 03 movl 100(%rbp), %eax
126
- 00000000000001a9: 02 testl %eax, %eax
127
- 00000000000001ab: 02 jns 0x4093cd <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1bd>
128
- 00000000000001ad: 02 movl %eax, %ecx
129
- 00000000000001af: 02 negl %ecx
130
- 00000000000001b1: 03 leal (%rax,%rax), %edx
131
- 00000000000001b4: 03 cmpl $-32, %eax
132
- 00000000000001b7: 03 cmovlel %ecx, %edx
133
- 00000000000001ba: 03 movl %edx, 100(%rbp)
134
- 00000000000001bd: 03 movq %r14, %rdi
135
- 00000000000001c0: 05 callq 0x403b00 <pthread_mutex_unlock@plt>
136
- 00000000000001c5: 05 jmp 0x409230 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x20>
137
- 00000000000001ca: 07 movq $0, (%rbx)
138
- 00000000000001d1: 01 lock
139
- 00000000000001d2: 03 decl 104(%rbp)
140
- 00000000000001d5: 04 addq $16, %rbx
141
- 00000000000001d9: 03 movq %rbx, %rax
142
- 00000000000001dc: 04 addq $40, %rsp
143
- 00000000000001e0: 01 popq %rbx
144
- 00000000000001e1: 02 popq %r12
145
- 00000000000001e3: 02 popq %r13
146
- 00000000000001e5: 02 popq %r14
147
- 00000000000001e7: 02 popq %r15
148
- 00000000000001e9: 01 popq %rbp
149
- 00000000000001ea: 01 retq
150
- 00000000000001eb: 05 movl $8, %edi
151
- 00000000000001f0: 05 callq 0x403690 <__cxa_allocate_exception@plt>
152
- 00000000000001f5: 07 movq $4430616, (%rax)
153
- 00000000000001fc: 05 movl $4430576, %esi
154
- 0000000000000201: 05 movl $4208976, %edx
155
- 0000000000000206: 03 movq %rax, %rdi
156
- 0000000000000209: 05 callq 0x403740 <__cxa_throw@plt>
157
- 000000000000020e: 03 movq %rax, %rbx
158
- 0000000000000211: 02 jmp 0x40942e <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x21e>
159
- 0000000000000213: 02 jmp 0x409425 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x215>
160
- 0000000000000215: 03 movq %rax, %rbx
161
- 0000000000000218: 04 cmpl $1, %r13d
162
- 000000000000021c: 02 jne 0x40943e <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x22e>
163
- 000000000000021e: 03 movq %r14, %rdi
164
- 0000000000000221: 05 callq 0x403b00 <pthread_mutex_unlock@plt>
165
- 0000000000000226: 03 movq %rbx, %rdi
166
- 0000000000000229: 05 callq 0x403ab0 <_Unwind_Resume@plt>
167
- 000000000000022e: 05 movq 8(%rsp), %rbp
168
- 0000000000000233: 04 addq $40, %rbp
169
- 0000000000000237: 02 jmp 0x409456 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x246>
170
- 0000000000000239: 04 addq $32, %rbp
171
- 000000000000023d: 03 decl %r13d
172
- 0000000000000240: 04 cmpl $1, %r13d
173
- 0000000000000244: 02 jle 0x40942e <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x21e>
174
- 0000000000000246: 04 movq (%rbp), %rdi
175
- 000000000000024a: 03 testq %rdi, %rdi
176
- 000000000000024d: 02 je 0x409449 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x239>
177
- 000000000000024f: 05 callq 0x410c10 <BloombergLP::bslma::SharedPtrRep::releaseRef()>
178
- 0000000000000254: 02 jmp 0x409449 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x239>
179
- 0000000000000256: 03 movq %rax, %rdi
180
- 0000000000000259: 05 callq 0x40c2e0 <__clang_call_terminate>
181
- 000000000000025e: 02 nop
 
 
1
  0000000000409210 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()>:
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: 04 subq $40, %rsp
9
  000000000000000e: 03 movq %rdi, %rbp
10
  0000000000000011: 07 leaq 144(%rdi), %r14
11
  0000000000000018: 04 leaq 120(%rdi), %r15
12
  000000000000001c: 04 leaq 16(%rdi), %r12
13
  0000000000000020: 04 movq 8(%rbp), %rbx
14
  0000000000000024: 03 testq %rbx, %rbx
15
  0000000000000027: 02 je 0x4092a2 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x92>
16
  0000000000000029: 05 movl $2, %eax
17
  000000000000002e: 01 lock
18
  000000000000002f: 04 xaddl %eax, 8(%rbx)
19
  0000000000000033: 02 testl %eax, %eax
20
  0000000000000035: 02 jne 0x4092c0 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0xb0>
21
  0000000000000037: 04 movq 8(%rbp), %rax
22
  000000000000003b: 05 movq %rax, 16(%rsp)
23
  0000000000000040: 05 movq 16(%rsp), %rax
24
  0000000000000045: 03 cmpq %rbx, %rax
25
  0000000000000048: 02 jne 0x40928a <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x7a>
26
  000000000000004a: 05 movq 16(%rsp), %rax
27
  000000000000004f: 03 movq (%rax), %rcx
28
  0000000000000052: 03 movq %rbx, %rax
29
  0000000000000055: 01 lock
30
  0000000000000056: 05 cmpxchgq %rcx, 8(%rbp)
31
  000000000000005b: 03 cmpq %rax, %rbx
32
+ 000000000000005e: 06 je 0x4093dd <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1cd>
33
  0000000000000064: 02 jmp 0x40928a <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x7a>
34
  0000000000000066: 02 movl %ecx, %edx
35
  0000000000000068: 03 xorl $1, %edx
36
  000000000000006b: 02 movl %ecx, %eax
37
  000000000000006d: 01 lock
38
  000000000000006e: 04 cmpxchgl %edx, 8(%rbx)
39
  0000000000000072: 02 cmpl %eax, %ecx
40
+ 0000000000000074: 06 je 0x4093dd <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1cd>
41
  000000000000007a: 03 movl 8(%rbx), %ecx
42
  000000000000007d: 03 testb $1, %cl
43
  0000000000000080: 02 jne 0x409276 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x66>
44
  0000000000000082: 03 leal -2(%rcx), %edx
45
  0000000000000085: 02 movl %ecx, %eax
46
  0000000000000087: 01 lock
47
  0000000000000088: 04 cmpxchgl %edx, 8(%rbx)
48
  000000000000008c: 02 cmpl %eax, %ecx
49
  000000000000008e: 02 jne 0x40928a <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x7a>
50
  0000000000000090: 02 jmp 0x409230 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x20>
51
  0000000000000092: 03 movq %r14, %rdi
52
  0000000000000095: 05 callq 0x403a50 <pthread_mutex_lock@plt>
53
  000000000000009a: 04 movq 8(%rbp), %rbx
54
  000000000000009e: 03 testq %rbx, %rbx
55
  00000000000000a1: 02 je 0x4092e3 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0xd3>
56
  00000000000000a3: 03 movq %r14, %rdi
57
  00000000000000a6: 05 callq 0x403b00 <pthread_mutex_unlock@plt>
58
  00000000000000ab: 05 jmp 0x409239 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x29>
59
  00000000000000b0: 04 movq 8(%rbp), %rax
60
  00000000000000b4: 03 cmpq %rax, %rbx
61
  00000000000000b7: 06 jne 0x409247 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x37>
62
  00000000000000bd: 04 movq 8(%rbp), %rax
63
  00000000000000c1: 03 cmpq %rax, %rbx
64
  00000000000000c4: 06 jne 0x409247 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x37>
65
  00000000000000ca: 04 movq 8(%rbp), %rax
66
  00000000000000ce: 05 jmp 0x409247 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x37>
67
  00000000000000d3: 04 movl 100(%rbp), %r13d
68
  00000000000000d7: 03 movl %r13d, %ebx
69
  00000000000000da: 02 negl %ebx
70
  00000000000000dc: 04 cmovll %r13d, %ebx
71
+ 00000000000000e0: 02 movl %ebx, %eax
72
+ 00000000000000e2: 03 shll $5, %eax
73
+ 00000000000000e5: 03 orl $16, %eax
74
+ 00000000000000e8: 03 movslq %eax, %rsi
75
+ 00000000000000eb: 03 movq %r15, %rdi
76
+ 00000000000000ee: 05 callq 0x410520 <BloombergLP::bdlma::InfrequentDeleteBlockList::allocate(unsigned long)>
77
+ 00000000000000f3: 04 movq 112(%rbp), %rcx
78
+ 00000000000000f7: 03 movq %rcx, (%rax)
79
+ 00000000000000fa: 04 movl %ebx, 4(%rsp)
80
+ 00000000000000fe: 03 movl %ebx, 8(%rax)
81
+ 0000000000000101: 04 leaq 16(%rax), %rbx
82
+ 0000000000000105: 05 movq %rbx, 24(%rsp)
83
+ 000000000000010a: 03 testl %r13d, %r13d
84
+ 000000000000010d: 02 je 0x409387 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x177>
85
+ 000000000000010f: 04 movl 4(%rsp), %ecx
86
+ 0000000000000113: 02 negl %ecx
87
+ 0000000000000115: 05 movq %rcx, 32(%rsp)
88
+ 000000000000011a: 06 movl $1, %r13d
89
+ 0000000000000120: 05 movq %rax, 8(%rsp)
90
+ 0000000000000125: 03 movq %rax, %rbx
91
+ 0000000000000128: 04 leaq 48(%rbx), %rax
92
+ 000000000000012c: 04 movq %rax, 16(%rbx)
93
+ 0000000000000130: 07 movl $0, 24(%rbx)
94
+ 0000000000000137: 04 movq 80(%rbp), %rax
95
+ 000000000000013b: 03 testq %rax, %rax
96
+ 000000000000013e: 06 je 0x4093fe <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1ee>
97
+ 0000000000000144: 07 movq 136(%rbp), %rdx
98
+ 000000000000014b: 04 addq $32, %rbx
99
+ 000000000000014f: 03 movq %r12, %rdi
100
+ 0000000000000152: 03 movq %rbx, %rsi
101
+ 0000000000000155: 02 callq *%rax
102
+ 0000000000000157: 05 movq 32(%rsp), %rax
103
+ 000000000000015c: 05 leal 1(%rax,%r13), %eax
104
+ 0000000000000161: 03 movl %r13d, %ecx
105
+ 0000000000000164: 02 incl %ecx
106
+ 0000000000000166: 03 movl %ecx, %r13d
107
+ 0000000000000169: 03 cmpl $1, %eax
108
+ 000000000000016c: 02 jne 0x409338 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x128>
109
+ 000000000000016e: 04 addq $16, %rbx
110
+ 0000000000000172: 05 movq 8(%rsp), %rax
111
+ 0000000000000177: 07 movl $0, -24(%rbx)
112
+ 000000000000017e: 04 movq %rax, 112(%rbp)
113
+ 0000000000000182: 05 movq 24(%rsp), %rdx
114
+ 0000000000000187: 04 movq 8(%rbp), %rcx
115
+ 000000000000018b: 04 movq %rcx, -32(%rbx)
116
+ 000000000000018f: 03 movq %rcx, %rax
117
+ 0000000000000192: 01 lock
118
+ 0000000000000193: 05 cmpxchgq %rdx, 8(%rbp)
119
+ 0000000000000198: 03 cmpq %rax, %rcx
120
+ 000000000000019b: 02 jne 0x409397 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x187>
121
+ 000000000000019d: 04 movl 4(%rsp), %eax
122
+ 00000000000001a1: 01 lock
123
+ 00000000000001a2: 03 addl %eax, 108(%rbp)
124
+ 00000000000001a5: 01 lock
125
+ 00000000000001a6: 03 addl %eax, 104(%rbp)
126
+ 00000000000001a9: 03 movl 100(%rbp), %eax
127
+ 00000000000001ac: 02 testl %eax, %eax
128
+ 00000000000001ae: 02 jns 0x4093d0 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x1c0>
129
+ 00000000000001b0: 02 movl %eax, %ecx
130
+ 00000000000001b2: 02 negl %ecx
131
+ 00000000000001b4: 03 leal (%rax,%rax), %edx
132
+ 00000000000001b7: 03 cmpl $-32, %eax
133
+ 00000000000001ba: 03 cmovlel %ecx, %edx
134
+ 00000000000001bd: 03 movl %edx, 100(%rbp)
135
+ 00000000000001c0: 03 movq %r14, %rdi
136
+ 00000000000001c3: 05 callq 0x403b00 <pthread_mutex_unlock@plt>
137
+ 00000000000001c8: 05 jmp 0x409230 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x20>
138
+ 00000000000001cd: 07 movq $0, (%rbx)
139
+ 00000000000001d4: 01 lock
140
+ 00000000000001d5: 03 decl 104(%rbp)
141
+ 00000000000001d8: 04 addq $16, %rbx
142
+ 00000000000001dc: 03 movq %rbx, %rax
143
+ 00000000000001df: 04 addq $40, %rsp
144
+ 00000000000001e3: 01 popq %rbx
145
+ 00000000000001e4: 02 popq %r12
146
+ 00000000000001e6: 02 popq %r13
147
+ 00000000000001e8: 02 popq %r14
148
+ 00000000000001ea: 02 popq %r15
149
+ 00000000000001ec: 01 popq %rbp
150
+ 00000000000001ed: 01 retq
151
+ 00000000000001ee: 05 movl $8, %edi
152
+ 00000000000001f3: 05 callq 0x403690 <__cxa_allocate_exception@plt>
153
+ 00000000000001f8: 07 movq $4430784, (%rax)
154
+ 00000000000001ff: 05 movl $4430744, %esi
155
+ 0000000000000204: 05 movl $4208976, %edx
156
+ 0000000000000209: 03 movq %rax, %rdi
157
+ 000000000000020c: 05 callq 0x403740 <__cxa_throw@plt>
158
+ 0000000000000211: 03 movq %rax, %rbx
159
+ 0000000000000214: 02 jmp 0x409431 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x221>
160
+ 0000000000000216: 02 jmp 0x409428 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x218>
161
+ 0000000000000218: 03 movq %rax, %rbx
162
+ 000000000000021b: 04 cmpl $1, %r13d
163
+ 000000000000021f: 02 jne 0x409441 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x231>
164
+ 0000000000000221: 03 movq %r14, %rdi
165
+ 0000000000000224: 05 callq 0x403b00 <pthread_mutex_unlock@plt>
166
+ 0000000000000229: 03 movq %rbx, %rdi
167
+ 000000000000022c: 05 callq 0x403ab0 <_Unwind_Resume@plt>
168
+ 0000000000000231: 05 movq 8(%rsp), %rbp
169
+ 0000000000000236: 04 addq $40, %rbp
170
+ 000000000000023a: 02 jmp 0x409459 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x249>
171
+ 000000000000023c: 04 addq $32, %rbp
172
+ 0000000000000240: 03 decl %r13d
173
+ 0000000000000243: 04 cmpl $1, %r13d
174
+ 0000000000000247: 02 jle 0x409431 <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x221>
175
+ 0000000000000249: 04 movq (%rbp), %rdi
176
+ 000000000000024d: 03 testq %rdi, %rdi
177
+ 0000000000000250: 02 je 0x40944c <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x23c>
178
+ 0000000000000252: 05 callq 0x410c80 <BloombergLP::bslma::SharedPtrRep::releaseRef()>
179
+ 0000000000000257: 02 jmp 0x40944c <BloombergLP::bdlcc::ObjectPool<(anonymous namespace)::SpLink, bsl::function<void (void*, BloombergLP::bslma::Allocator*)>, BloombergLP::bdlcc::ObjectPoolFunctors::Nil<(anonymous namespace)::SpLink> >::getObject()+0x23c>
180
+ 0000000000000259: 03 movq %rax, %rdi
181
+ 000000000000025c: 05 callq 0x40c350 <__clang_call_terminate>
182
+ 0000000000000261: 10 nopw %cs:(%rax,%rax)
183
+ 000000000000026b: 05 nopl (%rax,%rax)