000000000040dec0 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()>:
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 $360, %rsp ; 7 bytes
M0000000000000011: movq %rdi, %r13 ; 3 bytes
M0000000000000014: leaq 40(%rdi), %rbx ; 4 bytes
M0000000000000018: movq %rbx, %rdi ; 3 bytes
M000000000000001b: callq 0x4044e0 <pthread_mutex_lock@plt> ; 5 bytes
M0000000000000020: movl 516(%r13), %eax ; 7 bytes
M0000000000000027: xorl %ebp, %ebp ; 2 bytes
M0000000000000029: cmpl $1, %eax ; 3 bytes
M000000000000002c: je 0x40e152 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x292> ; 6 bytes
M0000000000000032: leaq 104(%rsp), %r15 ; 5 bytes
M0000000000000037: movq %r15, %rdi ; 3 bytes
M000000000000003a: callq 0x403f40 <sigfillset@plt> ; 5 bytes
M000000000000003f: movq %r15, %rdi ; 3 bytes
M0000000000000042: movl $7, %esi ; 5 bytes
M0000000000000047: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M000000000000004c: movq %r15, %rdi ; 3 bytes
M000000000000004f: movl $8, %esi ; 5 bytes
M0000000000000054: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M0000000000000059: movq %r15, %rdi ; 3 bytes
M000000000000005c: movl $4, %esi ; 5 bytes
M0000000000000061: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M0000000000000066: movq %r15, %rdi ; 3 bytes
M0000000000000069: movl $11, %esi ; 5 bytes
M000000000000006e: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M0000000000000073: movq %r15, %rdi ; 3 bytes
M0000000000000076: movl $31, %esi ; 5 bytes
M000000000000007b: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M0000000000000080: movq %r15, %rdi ; 3 bytes
M0000000000000083: movl $6, %esi ; 5 bytes
M0000000000000088: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M000000000000008d: movq %r15, %rdi ; 3 bytes
M0000000000000090: movl $5, %esi ; 5 bytes
M0000000000000095: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M000000000000009a: movq %r15, %rdi ; 3 bytes
M000000000000009d: movl $6, %esi ; 5 bytes
M00000000000000a2: callq 0x4044f0 <sigdelset@plt> ; 5 bytes
M00000000000000a7: leaq 232(%rsp), %rdx ; 8 bytes
M00000000000000af: xorl %edi, %edi ; 2 bytes
M00000000000000b1: movq %r15, %rsi ; 3 bytes
M00000000000000b4: callq 0x4044a0 <pthread_sigmask@plt> ; 5 bytes
M00000000000000b9: movq 2402816(%rip), %rax # 658980 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000000c0: testq %rax, %rax ; 3 bytes
M00000000000000c3: jne 0x40df8a <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0xca> ; 2 bytes
M00000000000000c5: callq 0x40fb10 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000000ca: movq 2402799(%rip), %rax # 658980 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000000d1: testq %rax, %rax ; 3 bytes
M00000000000000d4: jne 0x40df9b <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0xdb> ; 2 bytes
M00000000000000d6: callq 0x40fb10 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000000db: movq %rax, 64(%rsp) ; 5 bytes
M00000000000000e0: xorps %xmm0, %xmm0 ; 3 bytes
M00000000000000e3: movups %xmm0, 72(%rsp) ; 5 bytes
M00000000000000e8: leaq 16(%rsp), %rdi ; 5 bytes
M00000000000000ed: movl $24, %esi ; 5 bytes
M00000000000000f2: callq 0x412300 <BloombergLP::bslstl::Function_Rep::allocateBuf(unsigned long)> ; 5 bytes
M00000000000000f7: movq $4255840, 72(%rsp) ; 9 bytes
M0000000000000100: movq $4249648, 16(%rsp) ; 9 bytes
M0000000000000109: movq $0, 24(%rsp) ; 9 bytes
M0000000000000112: cmpq $0, 64(%rsp) ; 6 bytes
M0000000000000118: jne 0x40dfeb <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x12b> ; 2 bytes
M000000000000011a: movq 2402719(%rip), %rax # 658980 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M0000000000000121: testq %rax, %rax ; 3 bytes
M0000000000000124: jne 0x40dfeb <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x12b> ; 2 bytes
M0000000000000126: callq 0x40fb10 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M000000000000012b: movq %r13, 32(%rsp) ; 5 bytes
M0000000000000130: movq $4255808, 80(%rsp) ; 9 bytes
M0000000000000139: movq %r13, %rdi ; 3 bytes
M000000000000013c: callq 0x4044e0 <pthread_mutex_lock@plt> ; 5 bytes
M0000000000000141: xorl %eax, %eax ; 2 bytes
M0000000000000143: xchgl %eax, 516(%r13) ; 7 bytes
M000000000000014a: xorl %eax, %eax ; 2 bytes
M000000000000014c: movl 520(%r13), %ecx ; 7 bytes
M0000000000000153: cmpl $1, %ecx ; 3 bytes
M0000000000000156: jne 0x40e01f <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x15f> ; 2 bytes
M0000000000000158: xchgl %eax, 520(%r13) ; 7 bytes
M000000000000015f: movl 512(%r13), %r14d ; 7 bytes
M0000000000000166: testl %r14d, %r14d ; 3 bytes
M0000000000000169: je 0x40e07a <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x1ba> ; 2 bytes
M000000000000016b: movq %rbx, 8(%rsp) ; 5 bytes
M0000000000000170: leaq 432(%r13), %r15 ; 7 bytes
M0000000000000177: leaq 360(%r13), %rbp ; 7 bytes
M000000000000017e: xorl %ebx, %ebx ; 2 bytes
M0000000000000180: leaq 16(%rsp), %r12 ; 5 bytes
M0000000000000185: nopw %cs:(%rax,%rax) ; 10 bytes
M000000000000018f: nop ; 1 bytes
M0000000000000190: movq %r15, %rdi ; 3 bytes
M0000000000000193: movq %r12, %rsi ; 3 bytes
M0000000000000196: movq %rbp, %rdx ; 3 bytes
M0000000000000199: callq 0x40f0e0 <int BloombergLP::bslmt::ThreadGroup::addThread<bsl::function<void ()> >(bsl::function<void ()> const&, BloombergLP::bslmt::ThreadAttributes const&)> ; 5 bytes
M000000000000019e: testl %eax, %eax ; 2 bytes
M00000000000001a0: jne 0x40e06c <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x1ac> ; 2 bytes
M00000000000001a2: incl %ebx ; 2 bytes
M00000000000001a4: cmpl %ebx, %r14d ; 3 bytes
M00000000000001a7: jne 0x40e050 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x190> ; 2 bytes
M00000000000001a9: movl %r14d, %ebx ; 3 bytes
M00000000000001ac: cmpl %ebx, 512(%r13) ; 7 bytes
M00000000000001b3: movq 8(%rsp), %rbx ; 5 bytes
M00000000000001b8: jne 0x40e0a8 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x1e8> ; 2 bytes
M00000000000001ba: movl 520(%r13), %eax ; 7 bytes
M00000000000001c1: testl %eax, %eax ; 2 bytes
M00000000000001c3: je 0x40e102 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x242> ; 2 bytes
M00000000000001c5: leaq 536(%r13), %rbp ; 7 bytes
M00000000000001cc: nopl (%rax) ; 4 bytes
M00000000000001d0: movq %rbp, %rdi ; 3 bytes
M00000000000001d3: movq %r13, %rsi ; 3 bytes
M00000000000001d6: callq 0x4043a0 <pthread_cond_wait@plt> ; 5 bytes
M00000000000001db: movl 516(%r13), %eax ; 7 bytes
M00000000000001e2: testl %eax, %eax ; 2 bytes
M00000000000001e4: je 0x40e090 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x1d0> ; 2 bytes
M00000000000001e6: jmp 0x40e127 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x267> ; 2 bytes
M00000000000001e8: movl $2, %eax ; 5 bytes
M00000000000001ed: xchgl %eax, 516(%r13) ; 7 bytes
M00000000000001f4: leaq 536(%r13), %rdi ; 7 bytes
M00000000000001fb: callq 0x404590 <pthread_cond_broadcast@plt> ; 5 bytes
M0000000000000200: movq %r13, %rdi ; 3 bytes
M0000000000000203: callq 0x4045e0 <pthread_mutex_unlock@plt> ; 5 bytes
M0000000000000208: movq %r15, %rdi ; 3 bytes
M000000000000020b: callq 0x4118c0 <BloombergLP::bslmt::ThreadGroup::joinAll()> ; 5 bytes
M0000000000000210: movq %r13, %rdi ; 3 bytes
M0000000000000213: callq 0x4044e0 <pthread_mutex_lock@plt> ; 5 bytes
M0000000000000218: movl 520(%r13), %eax ; 7 bytes
M000000000000021f: testl %eax, %eax ; 2 bytes
M0000000000000221: jne 0x40e0ef <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x22f> ; 2 bytes
M0000000000000223: movl $1, %eax ; 5 bytes
M0000000000000228: xchgl %eax, 520(%r13) ; 7 bytes
M000000000000022f: movl $3, %eax ; 5 bytes
M0000000000000234: xchgl %eax, 516(%r13) ; 7 bytes
M000000000000023b: movl $4294967295, %ebp ; 5 bytes
M0000000000000240: jmp 0x40e129 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x269> ; 2 bytes
M0000000000000242: leaq 592(%r13), %rbp ; 7 bytes
M0000000000000249: nopl (%rax) ; 7 bytes
M0000000000000250: movq %rbp, %rdi ; 3 bytes
M0000000000000253: movq %r13, %rsi ; 3 bytes
M0000000000000256: callq 0x4043a0 <pthread_cond_wait@plt> ; 5 bytes
M000000000000025b: movl 520(%r13), %eax ; 7 bytes
M0000000000000262: cmpl $1, %eax ; 3 bytes
M0000000000000265: jne 0x40e110 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x250> ; 2 bytes
M0000000000000267: xorl %ebp, %ebp ; 2 bytes
M0000000000000269: movq %r13, %rdi ; 3 bytes
M000000000000026c: callq 0x4045e0 <pthread_mutex_unlock@plt> ; 5 bytes
M0000000000000271: leaq 232(%rsp), %rsi ; 8 bytes
M0000000000000279: leaq 104(%rsp), %rdx ; 5 bytes
M000000000000027e: movl $2, %edi ; 5 bytes
M0000000000000283: callq 0x4044a0 <pthread_sigmask@plt> ; 5 bytes
M0000000000000288: leaq 16(%rsp), %rdi ; 5 bytes
M000000000000028d: callq 0x4122a0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M0000000000000292: movq %rbx, %rdi ; 3 bytes
M0000000000000295: callq 0x4045e0 <pthread_mutex_unlock@plt> ; 5 bytes
M000000000000029a: movl %ebp, %eax ; 2 bytes
M000000000000029c: addq $360, %rsp ; 7 bytes
M00000000000002a3: popq %rbx ; 1 bytes
M00000000000002a4: popq %r12 ; 2 bytes
M00000000000002a6: popq %r13 ; 2 bytes
M00000000000002a8: popq %r14 ; 2 bytes
M00000000000002aa: popq %r15 ; 2 bytes
M00000000000002ac: popq %rbp ; 1 bytes
M00000000000002ad: retq ; 1 bytes
M00000000000002ae: movq %rax, %r15 ; 3 bytes
M00000000000002b1: movq %r13, %rdi ; 3 bytes
M00000000000002b4: callq 0x4044e0 <pthread_mutex_lock@plt> ; 5 bytes
M00000000000002b9: jmp 0x40e19d <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x2dd> ; 2 bytes
M00000000000002bb: jmp 0x40e17d <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x2bd> ; 2 bytes
M00000000000002bd: movq %rbx, 8(%rsp) ; 5 bytes
M00000000000002c2: movq %rax, %r15 ; 3 bytes
M00000000000002c5: jmp 0x40e1af <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x2ef> ; 2 bytes
M00000000000002c7: movq %rbx, 8(%rsp) ; 5 bytes
M00000000000002cc: movq %rax, %r15 ; 3 bytes
M00000000000002cf: jmp 0x40e1a5 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x2e5> ; 2 bytes
M00000000000002d1: jmp 0x40e195 <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x2d5> ; 2 bytes
M00000000000002d3: jmp 0x40e19a <BloombergLP::bdlmt::MultipriorityThreadPool::startThreads()+0x2da> ; 2 bytes
M00000000000002d5: movq %rbx, 8(%rsp) ; 5 bytes
M00000000000002da: movq %rax, %r15 ; 3 bytes
M00000000000002dd: movq %r13, %rdi ; 3 bytes
M00000000000002e0: callq 0x4045e0 <pthread_mutex_unlock@plt> ; 5 bytes
M00000000000002e5: leaq 16(%rsp), %rdi ; 5 bytes
M00000000000002ea: callq 0x4122a0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000002ef: movq 8(%rsp), %rdi ; 5 bytes
M00000000000002f4: callq 0x4045e0 <pthread_mutex_unlock@plt> ; 5 bytes
M00000000000002f9: movq %r15, %rdi ; 3 bytes
M00000000000002fc: callq 0x404580 <_Unwind_Resume@plt> ; 5 bytes
M0000000000000301: nopw %cs:(%rax,%rax) ; 10 bytes
M000000000000030b: nopl (%rax,%rax) ; 5 bytes