00000000005849a0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)>:
M0000000000000000: pushq %rbp ; 1 bytes
M0000000000000001: pushq %r15 ; 2 bytes
M0000000000000003: pushq %r14 ; 2 bytes
M0000000000000005: pushq %r13 ; 2 bytes
M0000000000000007: pushq %r12 ; 2 bytes
M0000000000000009: pushq %rbx ; 1 bytes
M000000000000000a: subq $472, %rsp ; 7 bytes
M0000000000000011: movq %r9, 144(%rsp) ; 8 bytes
M0000000000000019: movq %r8, %r12 ; 3 bytes
M000000000000001c: movl %ecx, %r15d ; 3 bytes
M000000000000001f: movl %edx, 40(%rsp) ; 4 bytes
M0000000000000023: movq %rsi, 160(%rsp) ; 8 bytes
M000000000000002b: movq %rdi, %r13 ; 3 bytes
M000000000000002e: movq (%rdi), %rax ; 3 bytes
M0000000000000031: movq 8(%rdi), %r14 ; 4 bytes
M0000000000000035: movq %r14, %rcx ; 3 bytes
M0000000000000038: subq %rax, %rcx ; 3 bytes
M000000000000003b: shrq $8, %rcx ; 4 bytes
M000000000000003f: subq %rax, %r14 ; 3 bytes
M0000000000000042: movq %rcx, 24(%rsp) ; 5 bytes
M0000000000000047: je 0x584a11 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x71> ; 2 bytes
M0000000000000049: movl 80(%rax), %ebx ; 3 bytes
M000000000000004c: cmpl $2, %ecx ; 3 bytes
M000000000000004f: jl 0x584a7f <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xdf> ; 6 bytes
M0000000000000055: movl %ecx, %edx ; 2 bytes
M0000000000000057: leaq -1(%rdx), %rsi ; 4 bytes
M000000000000005b: addq $-2, %rdx ; 4 bytes
M000000000000005f: movl %esi, %ecx ; 2 bytes
M0000000000000061: andl $3, %ecx ; 3 bytes
M0000000000000064: cmpq $3, %rdx ; 4 bytes
M0000000000000068: jae 0x584a15 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x75> ; 2 bytes
M000000000000006a: movl $1, %edx ; 5 bytes
M000000000000006f: jmp 0x584a5a <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xba> ; 2 bytes
M0000000000000071: xorl %ebx, %ebx ; 2 bytes
M0000000000000073: jmp 0x584a7f <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xdf> ; 2 bytes
M0000000000000075: leaq 1104(%rax), %rdi ; 7 bytes
M000000000000007c: andq $-4, %rsi ; 4 bytes
M0000000000000080: negq %rsi ; 3 bytes
M0000000000000083: movl $1, %edx ; 5 bytes
M0000000000000088: nopl (%rax,%rax) ; 8 bytes
M0000000000000090: addl -768(%rdi), %ebx ; 6 bytes
M0000000000000096: addl -512(%rdi), %ebx ; 6 bytes
M000000000000009c: addl -256(%rdi), %ebx ; 6 bytes
M00000000000000a2: addl (%rdi), %ebx ; 2 bytes
M00000000000000a4: addq $1024, %rdi ; 7 bytes
M00000000000000ab: leaq 4(%rsi,%rdx), %rbp ; 5 bytes
M00000000000000b0: addq $4, %rdx ; 4 bytes
M00000000000000b4: cmpq $1, %rbp ; 4 bytes
M00000000000000b8: jne 0x584a30 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x90> ; 2 bytes
M00000000000000ba: testq %rcx, %rcx ; 3 bytes
M00000000000000bd: je 0x584a7f <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xdf> ; 2 bytes
M00000000000000bf: shlq $8, %rdx ; 4 bytes
M00000000000000c3: leaq 80(%rax,%rdx), %rax ; 5 bytes
M00000000000000c8: shlq $8, %rcx ; 4 bytes
M00000000000000cc: xorl %edx, %edx ; 2 bytes
M00000000000000ce: nop ; 2 bytes
M00000000000000d0: addl (%rax,%rdx), %ebx ; 3 bytes
M00000000000000d3: addq $256, %rdx ; 7 bytes
M00000000000000da: cmpq %rdx, %rcx ; 3 bytes
M00000000000000dd: jne 0x584a70 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xd0> ; 2 bytes
M00000000000000df: movq %rbx, 112(%rsp) ; 5 bytes
M00000000000000e4: shrq $8, %r14 ; 4 bytes
M00000000000000e8: movq 2746961(%rip), %rax # 8234e0 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000000ef: testq %rax, %rax ; 3 bytes
M00000000000000f2: jne 0x584a99 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xf9> ; 2 bytes
M00000000000000f4: callq 0x582990 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000000f9: movslq %r14d, %rbp ; 3 bytes
M00000000000000fc: testq %rax, %rax ; 3 bytes
M00000000000000ff: jne 0x584ab2 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x112> ; 2 bytes
M0000000000000101: movq 2746936(%rip), %rax # 8234e0 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M0000000000000108: testq %rax, %rax ; 3 bytes
M000000000000010b: jne 0x584ab2 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x112> ; 2 bytes
M000000000000010d: callq 0x582990 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M0000000000000112: movq %rax, 352(%rsp) ; 8 bytes
M000000000000011a: leaq 168(%rsp), %rdi ; 8 bytes
M0000000000000122: leaq 352(%rsp), %rdx ; 8 bytes
M000000000000012a: movq %rbp, %rsi ; 3 bytes
M000000000000012d: callq 0x59dcb0 <bsl::vector<int, bsl::allocator<int> >::vector(unsigned long, bsl::allocator<int> const&)> ; 5 bytes
M0000000000000132: cmpl $0, 24(%rsp) ; 5 bytes
M0000000000000137: jle 0x584b5a <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x1ba> ; 6 bytes
M000000000000013d: movq 24(%rsp), %rax ; 5 bytes
M0000000000000142: movl %eax, %edx ; 2 bytes
M0000000000000144: andl $1, %eax ; 3 bytes
M0000000000000147: cmpq $1, %rdx ; 4 bytes
M000000000000014b: jne 0x584af1 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x151> ; 2 bytes
M000000000000014d: xorl %ecx, %ecx ; 2 bytes
M000000000000014f: jmp 0x584b3b <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x19b> ; 2 bytes
M0000000000000151: subq %rax, %rdx ; 3 bytes
M0000000000000154: xorl %esi, %esi ; 2 bytes
M0000000000000156: xorl %ecx, %ecx ; 2 bytes
M0000000000000158: nopl (%rax,%rax) ; 8 bytes
M0000000000000160: movq (%r13), %rdi ; 4 bytes
M0000000000000164: movl 80(%rdi,%rsi), %edi ; 4 bytes
M0000000000000168: movq 168(%rsp), %rbp ; 8 bytes
M0000000000000170: movl %edi, (%rbp,%rcx,4) ; 4 bytes
M0000000000000174: movq (%r13), %rdi ; 4 bytes
M0000000000000178: movl 336(%rdi,%rsi), %edi ; 7 bytes
M000000000000017f: movq 168(%rsp), %rbp ; 8 bytes
M0000000000000187: movl %edi, 4(%rbp,%rcx,4) ; 4 bytes
M000000000000018b: addq $2, %rcx ; 4 bytes
M000000000000018f: addq $512, %rsi ; 7 bytes
M0000000000000196: cmpq %rcx, %rdx ; 3 bytes
M0000000000000199: jne 0x584b00 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x160> ; 2 bytes
M000000000000019b: testq %rax, %rax ; 3 bytes
M000000000000019e: je 0x584b5a <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x1ba> ; 2 bytes
M00000000000001a0: movq (%r13), %rax ; 4 bytes
M00000000000001a4: movq %rcx, %rdx ; 3 bytes
M00000000000001a7: shlq $8, %rdx ; 4 bytes
M00000000000001ab: movl 80(%rax,%rdx), %eax ; 4 bytes
M00000000000001af: movq 168(%rsp), %rdx ; 8 bytes
M00000000000001b7: movl %eax, (%rdx,%rcx,4) ; 3 bytes
M00000000000001ba: leaq 168(%rsp), %rdx ; 8 bytes
M00000000000001c2: movq 160(%rsp), %rdi ; 8 bytes
M00000000000001ca: movl %r15d, %esi ; 3 bytes
M00000000000001cd: callq 0x586190 <BloombergLP::bslmt::ThroughputBenchmarkResult::initialize(int, bsl::vector<int, bsl::allocator<int> > const&)> ; 5 bytes
M00000000000001d2: leal -1(%r15), %eax ; 4 bytes
M00000000000001d6: movq %rax, 120(%rsp) ; 5 bytes
M00000000000001db: leaq 392(%rsp), %rbx ; 8 bytes
M00000000000001e3: movq 112(%rsp), %rax ; 5 bytes
M00000000000001e8: leal 1(%rax), %ecx ; 3 bytes
M00000000000001eb: movl %ecx, 104(%rsp) ; 4 bytes
M00000000000001ef: cltq ; 2 bytes
M00000000000001f1: movq %rax, 216(%rsp) ; 8 bytes
M00000000000001f9: shlq $4, %rax ; 4 bytes
M00000000000001fd: movq %rax, 128(%rsp) ; 8 bytes
M0000000000000205: imull $1000, 40(%rsp), %eax ; 8 bytes
M000000000000020d: movl %eax, 100(%rsp) ; 4 bytes
M0000000000000211: movl %r15d, %eax ; 3 bytes
M0000000000000214: movq %rax, 200(%rsp) ; 8 bytes
M000000000000021c: movl 24(%rsp), %eax ; 4 bytes
M0000000000000220: movq %rax, 152(%rsp) ; 8 bytes
M0000000000000228: xorl %eax, %eax ; 2 bytes
M000000000000022a: movq %rax, 16(%rsp) ; 5 bytes
M000000000000022f: movq %r12, 208(%rsp) ; 8 bytes
M0000000000000237: movq %r13, 80(%rsp) ; 5 bytes
M000000000000023c: jmp 0x584c13 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x273> ; 2 bytes
M000000000000023e: nop ; 2 bytes
M0000000000000240: leaq 352(%rsp), %rdi ; 8 bytes
M0000000000000248: callq 0x5ae2a0 <BloombergLP::bslmt::Barrier::~Barrier()> ; 5 bytes
M000000000000024d: movq 16(%rsp), %rcx ; 5 bytes
M0000000000000252: incq %rcx ; 3 bytes
M0000000000000255: movq %rcx, %rax ; 3 bytes
M0000000000000258: movq %rcx, 16(%rsp) ; 5 bytes
M000000000000025d: cmpq 200(%rsp), %rcx ; 8 bytes
M0000000000000265: leaq 392(%rsp), %rbx ; 8 bytes
M000000000000026d: je 0x585250 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x8b0> ; 6 bytes
M0000000000000273: movq 64(%r12), %rax ; 5 bytes
M0000000000000278: testq %rax, %rax ; 3 bytes
M000000000000027b: je 0x584c2e <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x28e> ; 2 bytes
M000000000000027d: xorl %esi, %esi ; 2 bytes
M000000000000027f: cmpq $0, 16(%rsp) ; 6 bytes
M0000000000000285: sete %sil ; 4 bytes
M0000000000000289: movq %r12, %rdi ; 3 bytes
M000000000000028c: callq *%rax ; 2 bytes
M000000000000028e: movl $0, 32(%r13) ; 8 bytes
M0000000000000296: leaq 352(%rsp), %rdi ; 8 bytes
M000000000000029e: xorl %esi, %esi ; 2 bytes
M00000000000002a0: callq 0x405060 <pthread_mutex_init@plt> ; 5 bytes
M00000000000002a5: movq %rbx, %rdi ; 3 bytes
M00000000000002a8: xorl %esi, %esi ; 2 bytes
M00000000000002aa: callq 0x5ae470 <BloombergLP::bslmt::ConditionImpl<BloombergLP::bslmt::Platform::PosixThreads>::ConditionImpl(BloombergLP::bsls::SystemClockType::Enum)> ; 5 bytes
M00000000000002af: movl 104(%rsp), %eax ; 4 bytes
M00000000000002b3: movl %eax, 448(%rsp) ; 7 bytes
M00000000000002ba: xorpd %xmm0, %xmm0 ; 4 bytes
M00000000000002be: movupd %xmm0, 60(%rbx) ; 5 bytes
M00000000000002c3: movq 2746486(%rip), %rax # 8234e0 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000002ca: testq %rax, %rax ; 3 bytes
M00000000000002cd: movq 24(%rsp), %r14 ; 5 bytes
M00000000000002d2: movq 112(%rsp), %rbp ; 5 bytes
M00000000000002d7: movq 216(%rsp), %rbx ; 8 bytes
M00000000000002df: jne 0x584c86 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x2e6> ; 2 bytes
M00000000000002e1: callq 0x582990 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000002e6: movq %rax, 240(%rsp) ; 8 bytes
M00000000000002ee: leaq 320(%rsp), %rdi ; 8 bytes
M00000000000002f6: movq %rbx, %rsi ; 3 bytes
M00000000000002f9: leaq 240(%rsp), %rdx ; 8 bytes
M0000000000000301: callq 0x5a17b0 <bsl::vector<unsigned long, bsl::allocator<unsigned long> >::vector(unsigned long, bsl::allocator<unsigned long> const&)> ; 5 bytes
M0000000000000306: movq 2746419(%rip), %rax # 8234e0 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M000000000000030d: testq %rax, %rax ; 3 bytes
M0000000000000310: jne 0x584cb7 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x317> ; 2 bytes
M0000000000000312: callq 0x582990 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M0000000000000317: movq %rax, 240(%rsp) ; 8 bytes
M000000000000031f: leaq 48(%rsp), %rdi ; 5 bytes
M0000000000000324: movq %rbx, %rsi ; 3 bytes
M0000000000000327: leaq 240(%rsp), %rdx ; 8 bytes
M000000000000032f: callq 0x5858b0 <bsl::vector<BloombergLP::bslmt::ThroughputBenchmark_WorkData, bsl::allocator<BloombergLP::bslmt::ThroughputBenchmark_WorkData> >::vector(unsigned long, bsl::allocator<BloombergLP::bslmt::ThroughputBenchmark_WorkData> const&)> ; 5 bytes
M0000000000000334: movq 2746373(%rip), %rbx # 8234e0 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M000000000000033b: testq %rbx, %rbx ; 3 bytes
M000000000000033e: jne 0x584ce8 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x348> ; 2 bytes
M0000000000000340: callq 0x582990 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M0000000000000345: movq %rax, %rbx ; 3 bytes
M0000000000000348: testl %ebp, %ebp ; 2 bytes
M000000000000034a: js 0x58527d <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x8dd> ; 6 bytes
M0000000000000350: movq %rbx, 136(%rsp) ; 8 bytes
M0000000000000358: je 0x584d40 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x3a0> ; 2 bytes
M000000000000035a: movq (%rbx), %rax ; 3 bytes
M000000000000035d: movq %rbx, %rdi ; 3 bytes
M0000000000000360: movq 128(%rsp), %rsi ; 8 bytes
M0000000000000368: callq *16(%rax) ; 3 bytes
M000000000000036b: movq %rax, %rbp ; 3 bytes
M000000000000036e: movq %rax, %rdi ; 3 bytes
M0000000000000371: xorl %esi, %esi ; 2 bytes
M0000000000000373: movq 128(%rsp), %rbx ; 8 bytes
M000000000000037b: movq %rbx, %rdx ; 3 bytes
M000000000000037e: callq 0x404e00 <memset@plt> ; 5 bytes
M0000000000000383: movq %rbp, %rax ; 3 bytes
M0000000000000386: movq %rbp, 8(%rsp) ; 5 bytes
M000000000000038b: addq %rbx, %rbp ; 3 bytes
M000000000000038e: movq %rbp, 32(%rsp) ; 5 bytes
M0000000000000393: jmp 0x584d4e <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x3ae> ; 2 bytes
M0000000000000395: nopw %cs:(%rax,%rax) ; 10 bytes
M000000000000039f: nop ; 1 bytes
M00000000000003a0: xorl %eax, %eax ; 2 bytes
M00000000000003a2: movq %rax, 32(%rsp) ; 5 bytes
M00000000000003a7: xorl %eax, %eax ; 2 bytes
M00000000000003a9: movq %rax, 8(%rsp) ; 5 bytes
M00000000000003ae: testl %r14d, %r14d ; 3 bytes
M00000000000003b1: leaq 296(%rsp), %r14 ; 8 bytes
M00000000000003b9: leaq 240(%rsp), %rbp ; 8 bytes
M00000000000003c1: jle 0x585030 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x690> ; 6 bytes
M00000000000003c7: xorl %eax, %eax ; 2 bytes
M00000000000003c9: xorl %ecx, %ecx ; 2 bytes
M00000000000003cb: jmp 0x584da5 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x405> ; 2 bytes
M00000000000003cd: nopl (%rax) ; 3 bytes
M00000000000003d0: movq 224(%rsp), %rcx ; 8 bytes
M00000000000003d8: leal 1(%rcx,%rax), %ecx ; 4 bytes
M00000000000003dc: leaq 296(%rsp), %r14 ; 8 bytes
M00000000000003e4: leaq 240(%rsp), %rbp ; 8 bytes
M00000000000003ec: movq 232(%rsp), %rax ; 8 bytes
M00000000000003f4: incq %rax ; 3 bytes
M00000000000003f7: cmpq 152(%rsp), %rax ; 8 bytes
M00000000000003ff: je 0x585030 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x690> ; 6 bytes
M0000000000000405: movq (%r13), %rsi ; 4 bytes
M0000000000000409: movq %rax, %rdx ; 3 bytes
M000000000000040c: shlq $8, %rdx ; 4 bytes
M0000000000000410: movq %rdx, 40(%rsp) ; 5 bytes
M0000000000000415: movl 80(%rsi,%rdx), %edx ; 4 bytes
M0000000000000419: testl %edx, %edx ; 2 bytes
M000000000000041b: jle 0x584d94 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x3f4> ; 2 bytes
M000000000000041d: movq %rax, 232(%rsp) ; 8 bytes
M0000000000000425: movq %rcx, 224(%rsp) ; 8 bytes
M000000000000042d: movslq %ecx, %r12 ; 3 bytes
M0000000000000430: imulq $304, %r12, %r15 ; 7 bytes
M0000000000000437: shlq $3, %r12 ; 4 bytes
M000000000000043b: decl %edx ; 2 bytes
M000000000000043d: movl %edx, 108(%rsp) ; 4 bytes
M0000000000000441: xorl %eax, %eax ; 2 bytes
M0000000000000443: movq %rax, 88(%rsp) ; 5 bytes
M0000000000000448: nopl (%rax,%rax) ; 8 bytes
M0000000000000450: movq 48(%rsp), %rbx ; 5 bytes
M0000000000000455: movq 48(%rbx,%r15), %rax ; 5 bytes
M000000000000045a: movq %rax, 288(%rsp) ; 8 bytes
M0000000000000462: xorpd %xmm0, %xmm0 ; 4 bytes
M0000000000000466: movupd %xmm0, (%r14) ; 5 bytes
M000000000000046b: addq 40(%rsp), %rsi ; 5 bytes
M0000000000000470: movq %rbp, %rdi ; 3 bytes
M0000000000000473: callq 0x58a4f0 <BloombergLP::bslstl::Function_Rep::copyInit(BloombergLP::bslstl::Function_Rep const&)> ; 5 bytes
M0000000000000478: addq %r15, %rbx ; 3 bytes
M000000000000047b: movq %rbx, %rdi ; 3 bytes
M000000000000047e: callq 0x58a6b0 <BloombergLP::bslstl::Function_Rep::makeEmpty()> ; 5 bytes
M0000000000000483: movq %rbx, %rdi ; 3 bytes
M0000000000000486: movq %rbp, %rsi ; 3 bytes
M0000000000000489: callq 0x58a580 <BloombergLP::bslstl::Function_Rep::moveInit(BloombergLP::bslstl::Function_Rep*)> ; 5 bytes
M000000000000048e: movq %rbp, %rdi ; 3 bytes
M0000000000000491: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M0000000000000496: movq (%r13), %rax ; 4 bytes
M000000000000049a: movq 40(%rsp), %rdx ; 5 bytes
M000000000000049f: movq 88(%rax,%rdx), %rax ; 5 bytes
M00000000000004a4: movq 48(%rsp), %rcx ; 5 bytes
M00000000000004a9: movq %rax, 80(%rcx,%r15) ; 5 bytes
M00000000000004ae: movq (%r13), %rax ; 4 bytes
M00000000000004b2: movq 48(%rsp), %rbx ; 5 bytes
M00000000000004b7: movq 144(%rbx,%r15), %rcx ; 8 bytes
M00000000000004bf: movq %rcx, 288(%rsp) ; 8 bytes
M00000000000004c7: xorpd %xmm0, %xmm0 ; 4 bytes
M00000000000004cb: movupd %xmm0, (%r14) ; 5 bytes
M00000000000004d0: leaq 96(%rax,%rdx), %rsi ; 5 bytes
M00000000000004d5: movq %rbp, %rdi ; 3 bytes
M00000000000004d8: callq 0x58a4f0 <BloombergLP::bslstl::Function_Rep::copyInit(BloombergLP::bslstl::Function_Rep const&)> ; 5 bytes
M00000000000004dd: leaq 96(%rbx,%r15), %rbx ; 5 bytes
M00000000000004e2: movq %rbx, %rdi ; 3 bytes
M00000000000004e5: callq 0x58a6b0 <BloombergLP::bslstl::Function_Rep::makeEmpty()> ; 5 bytes
M00000000000004ea: movq %rbx, %rdi ; 3 bytes
M00000000000004ed: movq %rbp, %rsi ; 3 bytes
M00000000000004f0: callq 0x58a580 <BloombergLP::bslstl::Function_Rep::moveInit(BloombergLP::bslstl::Function_Rep*)> ; 5 bytes
M00000000000004f5: movq %rbp, %rdi ; 3 bytes
M00000000000004f8: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000004fd: movq (%r13), %rax ; 4 bytes
M0000000000000501: movq 48(%rsp), %rbx ; 5 bytes
M0000000000000506: movq 224(%rbx,%r15), %rcx ; 8 bytes
M000000000000050e: movq %rcx, 288(%rsp) ; 8 bytes
M0000000000000516: xorpd %xmm0, %xmm0 ; 4 bytes
M000000000000051a: movupd %xmm0, (%r14) ; 5 bytes
M000000000000051f: movq 40(%rsp), %rcx ; 5 bytes
M0000000000000524: leaq 176(%rax,%rcx), %rsi ; 8 bytes
M000000000000052c: movq %rbp, %rdi ; 3 bytes
M000000000000052f: callq 0x58a4f0 <BloombergLP::bslstl::Function_Rep::copyInit(BloombergLP::bslstl::Function_Rep const&)> ; 5 bytes
M0000000000000534: leaq 176(%rbx,%r15), %rbx ; 8 bytes
M000000000000053c: movq %rbx, %rdi ; 3 bytes
M000000000000053f: callq 0x58a6b0 <BloombergLP::bslstl::Function_Rep::makeEmpty()> ; 5 bytes
M0000000000000544: movq %rbx, %rdi ; 3 bytes
M0000000000000547: movq %rbp, %rsi ; 3 bytes
M000000000000054a: callq 0x58a580 <BloombergLP::bslstl::Function_Rep::moveInit(BloombergLP::bslstl::Function_Rep*)> ; 5 bytes
M000000000000054f: movq %rbp, %rdi ; 3 bytes
M0000000000000552: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M0000000000000557: movq 48(%rsp), %rax ; 5 bytes
M000000000000055c: movq %r13, 256(%rax,%r15) ; 8 bytes
M0000000000000564: movq 48(%rsp), %rax ; 5 bytes
M0000000000000569: movq 88(%rsp), %rcx ; 5 bytes
M000000000000056e: movl %ecx, 264(%rax,%r15) ; 8 bytes
M0000000000000576: movq 48(%rsp), %rax ; 5 bytes
M000000000000057b: leaq 352(%rsp), %rcx ; 8 bytes
M0000000000000583: movq %rcx, 272(%rax,%r15) ; 8 bytes
M000000000000058b: movl $8, %edi ; 5 bytes
M0000000000000590: callq 0x404ee0 <_Znwm@plt> ; 5 bytes
M0000000000000595: movl 108(%rsp), %ebp ; 4 bytes
M0000000000000599: movq %rax, %r14 ; 3 bytes
M000000000000059c: movq 48(%rsp), %rax ; 5 bytes
M00000000000005a1: addq %r15, %rax ; 3 bytes
M00000000000005a4: movq %rax, (%r14) ; 3 bytes
M00000000000005a7: movq 2745746(%rip), %r13 # 8234e0 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000005ae: testq %r13, %r13 ; 3 bytes
M00000000000005b1: jne 0x584f5b <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x5bb> ; 2 bytes
M00000000000005b3: callq 0x582990 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000005b8: movq %rax, %r13 ; 3 bytes
M00000000000005bb: movq (%r13), %rax ; 4 bytes
M00000000000005bf: movl $40, %esi ; 5 bytes
M00000000000005c4: movq %r13, %rdi ; 3 bytes
M00000000000005c7: callq *16(%rax) ; 3 bytes
M00000000000005ca: movabsq $4294967298, %rcx ; 10 bytes
M00000000000005d4: movq %rcx, 8(%rax) ; 4 bytes
M00000000000005d8: movq $6019328, (%rax) ; 7 bytes
M00000000000005df: movq %r14, 24(%rax) ; 4 bytes
M00000000000005e3: movq %r13, 32(%rax) ; 4 bytes
M00000000000005e7: movq 8(%rsp), %rcx ; 5 bytes
M00000000000005ec: movq %r14, (%rcx,%r12,2) ; 4 bytes
M00000000000005f0: movq 8(%rcx,%r12,2), %rdi ; 5 bytes
M00000000000005f5: movq %rax, 8(%rcx,%r12,2) ; 5 bytes
M00000000000005fa: testq %rdi, %rdi ; 3 bytes
M00000000000005fd: je 0x584fc0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x620> ; 2 bytes
M00000000000005ff: callq 0x5ae210 <BloombergLP::bslma::SharedPtrRep::releaseRef()> ; 5 bytes
M0000000000000604: movq 80(%rsp), %r13 ; 5 bytes
M0000000000000609: movq 8(%rsp), %rax ; 5 bytes
M000000000000060e: movq (%rax,%r12,2), %r14 ; 4 bytes
M0000000000000612: jmp 0x584fc5 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x625> ; 2 bytes
M0000000000000614: nopw %cs:(%rax,%rax) ; 10 bytes
M000000000000061e: nop ; 2 bytes
M0000000000000620: movq 80(%rsp), %r13 ; 5 bytes
M0000000000000625: movq 320(%rsp), %rbx ; 8 bytes
M000000000000062d: addq %r12, %rbx ; 3 bytes
M0000000000000630: movq 2745617(%rip), %rax # 8234e8 <BloombergLP::bslma::Default::s_globalAllocator> ; 7 bytes
M0000000000000637: testq %rax, %rax ; 3 bytes
M000000000000063a: jne 0x584fe1 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x641> ; 2 bytes
M000000000000063c: callq 0x582af0 <BloombergLP::bslma::NewDeleteAllocator::singleton()> ; 5 bytes
M0000000000000641: movq %rbx, %rdi ; 3 bytes
M0000000000000644: movq %r14, %rsi ; 3 bytes
M0000000000000647: movq %rax, %rdx ; 3 bytes
M000000000000064a: callq 0x585c70 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<BloombergLP::bslmt::ThroughputBenchmark_WorkFunction>(unsigned long*, BloombergLP::bslmt::ThroughputBenchmark_WorkFunction const&, BloombergLP::bslma::Allocator*)> ; 5 bytes
M000000000000064f: movq 88(%rsp), %rax ; 5 bytes
M0000000000000654: cmpl %eax, %ebp ; 2 bytes
M0000000000000656: je 0x584d70 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x3d0> ; 6 bytes
M000000000000065c: incl %eax ; 2 bytes
M000000000000065e: movq %rax, 88(%rsp) ; 5 bytes
M0000000000000663: movq (%r13), %rsi ; 4 bytes
M0000000000000667: addq $8, %r12 ; 4 bytes
M000000000000066b: addq $304, %r15 ; 7 bytes
M0000000000000672: leaq 296(%rsp), %r14 ; 8 bytes
M000000000000067a: leaq 240(%rsp), %rbp ; 8 bytes
M0000000000000682: jmp 0x584df0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x450> ; 5 bytes
M0000000000000687: nopw (%rax,%rax) ; 9 bytes
M0000000000000690: leaq 352(%rsp), %rdi ; 8 bytes
M0000000000000698: callq 0x5ae3e0 <BloombergLP::bslmt::Barrier::wait()> ; 5 bytes
M000000000000069d: movl 100(%rsp), %edi ; 4 bytes
M00000000000006a1: xorl %esi, %esi ; 2 bytes
M00000000000006a3: xorl %edx, %edx ; 2 bytes
M00000000000006a5: callq 0x583f60 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::microSleep(int, int, BloombergLP::bsls::TimeInterval*)> ; 5 bytes
M00000000000006aa: movl $1, 32(%r13) ; 8 bytes
M00000000000006b2: movq 144(%rsp), %rax ; 8 bytes
M00000000000006ba: movq 64(%rax), %rax ; 4 bytes
M00000000000006be: testq %rax, %rax ; 3 bytes
M00000000000006c1: je 0x58507d <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x6dd> ; 2 bytes
M00000000000006c3: xorl %esi, %esi ; 2 bytes
M00000000000006c5: movq 16(%rsp), %rcx ; 5 bytes
M00000000000006ca: cmpq 120(%rsp), %rcx ; 5 bytes
M00000000000006cf: sete %sil ; 4 bytes
M00000000000006d3: movq 144(%rsp), %rdi ; 8 bytes
M00000000000006db: callq *%rax ; 2 bytes
M00000000000006dd: cmpl $0, 24(%rsp) ; 5 bytes
M00000000000006e2: jle 0x585150 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x7b0> ; 6 bytes
M00000000000006e8: xorl %r15d, %r15d ; 3 bytes
M00000000000006eb: xorl %r14d, %r14d ; 3 bytes
M00000000000006ee: jmp 0x5850ac <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x70c> ; 2 bytes
M00000000000006f0: addl %r14d, %r12d ; 3 bytes
M00000000000006f3: incq %r15 ; 3 bytes
M00000000000006f6: movl %r12d, %r14d ; 3 bytes
M00000000000006f9: cmpq 152(%rsp), %r15 ; 8 bytes
M0000000000000701: movq 80(%rsp), %r13 ; 5 bytes
M0000000000000706: je 0x585150 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x7b0> ; 6 bytes
M000000000000070c: movq (%r13), %rax ; 4 bytes
M0000000000000710: movq %r15, %rcx ; 3 bytes
M0000000000000713: shlq $8, %rcx ; 4 bytes
M0000000000000717: movl 80(%rax,%rcx), %r12d ; 5 bytes
M000000000000071c: testl %r12d, %r12d ; 3 bytes
M000000000000071f: jle 0x585090 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x6f0> ; 2 bytes
M0000000000000721: movslq %r14d, %r13 ; 3 bytes
M0000000000000724: shlq $3, %r13 ; 4 bytes
M0000000000000728: movl $36, %ebp ; 5 bytes
M000000000000072d: xorl %ebx, %ebx ; 2 bytes
M000000000000072f: nop ; 1 bytes
M0000000000000730: movq 320(%rsp), %rax ; 8 bytes
M0000000000000738: addq %r13, %rax ; 3 bytes
M000000000000073b: movq (%rax,%rbx,8), %rdi ; 4 bytes
M000000000000073f: xorl %esi, %esi ; 2 bytes
M0000000000000741: callq 0x405230 <pthread_join@plt> ; 5 bytes
M0000000000000746: movq 48(%rsp), %rax ; 5 bytes
M000000000000074b: xorps %xmm0, %xmm0 ; 3 bytes
M000000000000074e: cvtsi2sdq (%rax,%rbp,8), %xmm0 ; 6 bytes
M0000000000000754: mulsd 231300(%rip), %xmm0 # 5bd880 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::INVALID_HANDLE+0x18> ; 8 bytes
M000000000000075c: xorps %xmm1, %xmm1 ; 3 bytes
M000000000000075f: cvtsi2sdq -8(%rax,%rbp,8), %xmm1 ; 7 bytes
M0000000000000766: divsd %xmm1, %xmm0 ; 4 bytes
M000000000000076a: movq 160(%rsp), %rax ; 8 bytes
M0000000000000772: movq (%rax), %rax ; 3 bytes
M0000000000000775: movq 16(%rsp), %rcx ; 5 bytes
M000000000000077a: shlq $5, %rcx ; 4 bytes
M000000000000077e: movq (%rax,%rcx), %rax ; 4 bytes
M0000000000000782: movq %r15, %rcx ; 3 bytes
M0000000000000785: shlq $5, %rcx ; 4 bytes
M0000000000000789: movq (%rax,%rcx), %rax ; 4 bytes
M000000000000078d: movsd %xmm0, (%rax,%rbx,8) ; 5 bytes
M0000000000000792: incq %rbx ; 3 bytes
M0000000000000795: addq $38, %rbp ; 4 bytes
M0000000000000799: cmpq %rbx, %r12 ; 3 bytes
M000000000000079c: jne 0x5850d0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x730> ; 2 bytes
M000000000000079e: jmp 0x585090 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x6f0> ; 5 bytes
M00000000000007a3: nopw %cs:(%rax,%rax) ; 10 bytes
M00000000000007ad: nopl (%rax) ; 3 bytes
M00000000000007b0: movq 528(%rsp), %rdi ; 8 bytes
M00000000000007b8: movq 64(%rdi), %rax ; 4 bytes
M00000000000007bc: testq %rax, %rax ; 3 bytes
M00000000000007bf: je 0x585173 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x7d3> ; 2 bytes
M00000000000007c1: xorl %esi, %esi ; 2 bytes
M00000000000007c3: movq 16(%rsp), %rcx ; 5 bytes
M00000000000007c8: cmpq 120(%rsp), %rcx ; 5 bytes
M00000000000007cd: sete %sil ; 4 bytes
M00000000000007d1: callq *%rax ; 2 bytes
M00000000000007d3: movq 8(%rsp), %rax ; 5 bytes
M00000000000007d8: testq %rax, %rax ; 3 bytes
M00000000000007db: movq 208(%rsp), %r12 ; 8 bytes
M00000000000007e3: je 0x5851d3 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x833> ; 2 bytes
M00000000000007e5: cmpq 32(%rsp), %rax ; 5 bytes
M00000000000007ea: je 0x5851c0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x820> ; 2 bytes
M00000000000007ec: movq 8(%rsp), %rbx ; 5 bytes
M00000000000007f1: jmp 0x5851ab <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x80b> ; 2 bytes
M00000000000007f3: nopw %cs:(%rax,%rax) ; 10 bytes
M00000000000007fd: nopl (%rax) ; 3 bytes
M0000000000000800: addq $16, %rbx ; 4 bytes
M0000000000000804: cmpq %rbx, 32(%rsp) ; 5 bytes
M0000000000000809: je 0x5851c0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x820> ; 2 bytes
M000000000000080b: movq 8(%rbx), %rdi ; 4 bytes
M000000000000080f: testq %rdi, %rdi ; 3 bytes
M0000000000000812: je 0x5851a0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x800> ; 2 bytes
M0000000000000814: callq 0x5ae210 <BloombergLP::bslma::SharedPtrRep::releaseRef()> ; 5 bytes
M0000000000000819: jmp 0x5851a0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x800> ; 2 bytes
M000000000000081b: nopl (%rax,%rax) ; 5 bytes
M0000000000000820: movq 136(%rsp), %rdi ; 8 bytes
M0000000000000828: movq (%rdi), %rax ; 3 bytes
M000000000000082b: movq 8(%rsp), %rsi ; 5 bytes
M0000000000000830: callq *24(%rax) ; 3 bytes
M0000000000000833: movq 48(%rsp), %rbp ; 5 bytes
M0000000000000838: testq %rbp, %rbp ; 3 bytes
M000000000000083b: je 0x58522c <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x88c> ; 2 bytes
M000000000000083d: movq 56(%rsp), %rbx ; 5 bytes
M0000000000000842: cmpq %rbx, %rbp ; 3 bytes
M0000000000000845: je 0x58521e <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x87e> ; 2 bytes
M0000000000000847: nopw (%rax,%rax) ; 9 bytes
M0000000000000850: leaq 176(%rbp), %rdi ; 7 bytes
M0000000000000857: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M000000000000085c: leaq 96(%rbp), %rdi ; 4 bytes
M0000000000000860: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M0000000000000865: movq %rbp, %rdi ; 3 bytes
M0000000000000868: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M000000000000086d: addq $304, %rbp ; 7 bytes
M0000000000000874: cmpq %rbp, %rbx ; 3 bytes
M0000000000000877: jne 0x5851f0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x850> ; 2 bytes
M0000000000000879: movq 48(%rsp), %rbp ; 5 bytes
M000000000000087e: movq 72(%rsp), %rdi ; 5 bytes
M0000000000000883: movq (%rdi), %rax ; 3 bytes
M0000000000000886: movq %rbp, %rsi ; 3 bytes
M0000000000000889: callq *24(%rax) ; 3 bytes
M000000000000088c: movq 320(%rsp), %rsi ; 8 bytes
M0000000000000894: testq %rsi, %rsi ; 3 bytes
M0000000000000897: je 0x584be0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x240> ; 6 bytes
M000000000000089d: movq 344(%rsp), %rdi ; 8 bytes
M00000000000008a5: movq (%rdi), %rax ; 3 bytes
M00000000000008a8: callq *24(%rax) ; 3 bytes
M00000000000008ab: jmp 0x584be0 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x240> ; 5 bytes
M00000000000008b0: movq 168(%rsp), %rsi ; 8 bytes
M00000000000008b8: testq %rsi, %rsi ; 3 bytes
M00000000000008bb: je 0x58526b <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x8cb> ; 2 bytes
M00000000000008bd: movq 192(%rsp), %rdi ; 8 bytes
M00000000000008c5: movq (%rdi), %rax ; 3 bytes
M00000000000008c8: callq *24(%rax) ; 3 bytes
M00000000000008cb: addq $472, %rsp ; 7 bytes
M00000000000008d2: popq %rbx ; 1 bytes
M00000000000008d3: popq %r12 ; 2 bytes
M00000000000008d5: popq %r13 ; 2 bytes
M00000000000008d7: popq %r14 ; 2 bytes
M00000000000008d9: popq %r15 ; 2 bytes
M00000000000008db: popq %rbp ; 1 bytes
M00000000000008dc: retq ; 1 bytes
M00000000000008dd: movl $6000429, %edi ; 5 bytes
M00000000000008e2: callq 0x58aaf0 <BloombergLP::bslstl::StdExceptUtil::throwLengthError(char const*)> ; 5 bytes
M00000000000008e7: movq %rax, %rdi ; 3 bytes
M00000000000008ea: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M00000000000008ef: movq %rax, %r15 ; 3 bytes
M00000000000008f2: jmp 0x5853d4 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa34> ; 5 bytes
M00000000000008f7: movq %rax, %rdi ; 3 bytes
M00000000000008fa: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M00000000000008ff: jmp 0x585325 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x985> ; 5 bytes
M0000000000000904: movq %rax, %rdi ; 3 bytes
M0000000000000907: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M000000000000090c: movq %rax, %rdi ; 3 bytes
M000000000000090f: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000914: movq %rax, %r15 ; 3 bytes
M0000000000000917: jmp 0x5853d4 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa34> ; 5 bytes
M000000000000091c: jmp 0x5852fd <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x95d> ; 2 bytes
M000000000000091e: movq %rax, %r15 ; 3 bytes
M0000000000000921: leaq 352(%rsp), %rdi ; 8 bytes
M0000000000000929: callq 0x5838f0 <BloombergLP::bslmt::MutexImpl<BloombergLP::bslmt::Platform::PosixThreads>::~MutexImpl()> ; 5 bytes
M000000000000092e: jmp 0x5853d4 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa34> ; 5 bytes
M0000000000000933: movq %rax, %r15 ; 3 bytes
M0000000000000936: jmp 0x5853ac <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa0c> ; 5 bytes
M000000000000093b: movq %rax, %r15 ; 3 bytes
M000000000000093e: jmp 0x5853c7 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa27> ; 5 bytes
M0000000000000943: jmp 0x585325 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x985> ; 2 bytes
M0000000000000945: movq %rax, %rdi ; 3 bytes
M0000000000000948: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M000000000000094d: movq %rax, %rdi ; 3 bytes
M0000000000000950: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000955: jmp 0x585313 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x973> ; 2 bytes
M0000000000000957: jmp 0x585313 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x973> ; 2 bytes
M0000000000000959: jmp 0x585313 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x973> ; 2 bytes
M000000000000095b: jmp 0x585325 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x985> ; 2 bytes
M000000000000095d: movq %rax, %r15 ; 3 bytes
M0000000000000960: jmp 0x585350 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x9b0> ; 2 bytes
M0000000000000962: movq %rax, %r15 ; 3 bytes
M0000000000000965: movq %r14, %rdi ; 3 bytes
M0000000000000968: callq 0x404ff0 <_ZdlPv@plt> ; 5 bytes
M000000000000096d: jmp 0x585328 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x988> ; 2 bytes
M000000000000096f: jmp 0x585313 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x973> ; 2 bytes
M0000000000000971: jmp 0x585313 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x973> ; 2 bytes
M0000000000000973: movq %rax, %r15 ; 3 bytes
M0000000000000976: leaq 240(%rsp), %rdi ; 8 bytes
M000000000000097e: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M0000000000000983: jmp 0x585328 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x988> ; 2 bytes
M0000000000000985: movq %rax, %r15 ; 3 bytes
M0000000000000988: movq 8(%rsp), %rax ; 5 bytes
M000000000000098d: testq %rax, %rax ; 3 bytes
M0000000000000990: je 0x585350 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x9b0> ; 2 bytes
M0000000000000992: cmpq 32(%rsp), %rax ; 5 bytes
M0000000000000997: jne 0x5853f7 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa57> ; 6 bytes
M000000000000099d: movq 136(%rsp), %rdi ; 8 bytes
M00000000000009a5: movq (%rdi), %rax ; 3 bytes
M00000000000009a8: movq 8(%rsp), %rsi ; 5 bytes
M00000000000009ad: callq *24(%rax) ; 3 bytes
M00000000000009b0: movq 48(%rsp), %rbp ; 5 bytes
M00000000000009b5: testq %rbp, %rbp ; 3 bytes
M00000000000009b8: je 0x5853ac <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa0c> ; 2 bytes
M00000000000009ba: movq 56(%rsp), %rbx ; 5 bytes
M00000000000009bf: cmpq %rbx, %rbp ; 3 bytes
M00000000000009c2: je 0x58539e <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x9fe> ; 2 bytes
M00000000000009c4: nopw %cs:(%rax,%rax) ; 10 bytes
M00000000000009ce: nop ; 2 bytes
M00000000000009d0: leaq 176(%rbp), %rdi ; 7 bytes
M00000000000009d7: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000009dc: leaq 96(%rbp), %rdi ; 4 bytes
M00000000000009e0: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000009e5: movq %rbp, %rdi ; 3 bytes
M00000000000009e8: callq 0x58a460 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000009ed: addq $304, %rbp ; 7 bytes
M00000000000009f4: cmpq %rbp, %rbx ; 3 bytes
M00000000000009f7: jne 0x585370 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x9d0> ; 2 bytes
M00000000000009f9: movq 48(%rsp), %rbp ; 5 bytes
M00000000000009fe: movq 72(%rsp), %rdi ; 5 bytes
M0000000000000a03: movq (%rdi), %rax ; 3 bytes
M0000000000000a06: movq %rbp, %rsi ; 3 bytes
M0000000000000a09: callq *24(%rax) ; 3 bytes
M0000000000000a0c: movq 320(%rsp), %rsi ; 8 bytes
M0000000000000a14: testq %rsi, %rsi ; 3 bytes
M0000000000000a17: je 0x5853c7 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa27> ; 2 bytes
M0000000000000a19: movq 344(%rsp), %rdi ; 8 bytes
M0000000000000a21: movq (%rdi), %rax ; 3 bytes
M0000000000000a24: callq *24(%rax) ; 3 bytes
M0000000000000a27: leaq 352(%rsp), %rdi ; 8 bytes
M0000000000000a2f: callq 0x5ae2a0 <BloombergLP::bslmt::Barrier::~Barrier()> ; 5 bytes
M0000000000000a34: movq 168(%rsp), %rsi ; 8 bytes
M0000000000000a3c: testq %rsi, %rsi ; 3 bytes
M0000000000000a3f: je 0x5853ef <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa4f> ; 2 bytes
M0000000000000a41: movq 192(%rsp), %rdi ; 8 bytes
M0000000000000a49: movq (%rdi), %rax ; 3 bytes
M0000000000000a4c: callq *24(%rax) ; 3 bytes
M0000000000000a4f: movq %r15, %rdi ; 3 bytes
M0000000000000a52: callq 0x405710 <_Unwind_Resume@plt> ; 5 bytes
M0000000000000a57: movq 8(%rsp), %rbx ; 5 bytes
M0000000000000a5c: jmp 0x58540f <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa6f> ; 2 bytes
M0000000000000a5e: nop ; 2 bytes
M0000000000000a60: addq $16, %rbx ; 4 bytes
M0000000000000a64: cmpq %rbx, 32(%rsp) ; 5 bytes
M0000000000000a69: je 0x58533d <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0x99d> ; 6 bytes
M0000000000000a6f: movq 8(%rbx), %rdi ; 4 bytes
M0000000000000a73: testq %rdi, %rdi ; 3 bytes
M0000000000000a76: je 0x585400 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa60> ; 2 bytes
M0000000000000a78: callq 0x5ae210 <BloombergLP::bslma::SharedPtrRep::releaseRef()> ; 5 bytes
M0000000000000a7d: jmp 0x585400 <BloombergLP::bslmt::ThroughputBenchmark::execute(BloombergLP::bslmt::ThroughputBenchmarkResult*, int, int, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&, bsl::function<void (bool)> const&)+0xa60> ; 2 bytes
M0000000000000a7f: movq %rax, %rdi ; 3 bytes
M0000000000000a82: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000a87: movq %rax, %rdi ; 3 bytes
M0000000000000a8a: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000a8f: movq %rax, %rdi ; 3 bytes
M0000000000000a92: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000a97: movq %rax, %rdi ; 3 bytes
M0000000000000a9a: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000a9f: movq %rax, %rdi ; 3 bytes
M0000000000000aa2: callq 0x569b60 <__clang_call_terminate> ; 5 bytes
M0000000000000aa7: nopw (%rax,%rax) ; 9 bytes