0000000000426840 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)>:
M0000000000000000: pushq %r15 ; 2 bytes
M0000000000000002: pushq %r14 ; 2 bytes
M0000000000000004: pushq %r12 ; 2 bytes
M0000000000000006: pushq %rbx ; 1 bytes
M0000000000000007: subq $264, %rsp ; 7 bytes
M000000000000000e: movq %rcx, %r15 ; 3 bytes
M0000000000000011: movq %rsi, %r14 ; 3 bytes
M0000000000000014: movq %rdi, %r12 ; 3 bytes
M0000000000000017: cmpl $0, 588(%rdi) ; 7 bytes
M000000000000001e: je 0x42696c <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x12c> ; 6 bytes
M0000000000000024: movq (%rdx), %rbx ; 3 bytes
M0000000000000027: movq %rbx, 8(%rsp) ; 5 bytes
M000000000000002c: movq 2600469(%rip), %rax # 6a1688 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M0000000000000033: testq %rax, %rax ; 3 bytes
M0000000000000036: jne 0x42687d <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x3d> ; 2 bytes
M0000000000000038: callq 0x4381c0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M000000000000003d: movq %rax, 64(%rsp) ; 5 bytes
M0000000000000042: xorps %xmm0, %xmm0 ; 3 bytes
M0000000000000045: movups %xmm0, 72(%rsp) ; 5 bytes
M000000000000004a: leaq 16(%rsp), %rdi ; 5 bytes
M000000000000004f: movl $16, %esi ; 5 bytes
M0000000000000054: callq 0x43be10 <BloombergLP::bslstl::Function_Rep::allocateBuf(unsigned long)> ; 5 bytes
M0000000000000059: movq $4372192, 72(%rsp) ; 9 bytes
M0000000000000062: movq $4365744, 16(%rsp) ; 9 bytes
M000000000000006b: movq %rbx, 24(%rsp) ; 5 bytes
M0000000000000070: movq $4372176, 80(%rsp) ; 9 bytes
M0000000000000079: leaq 96(%rsp), %rdi ; 5 bytes
M000000000000007e: leaq 16(%rsp), %rdx ; 5 bytes
M0000000000000083: movq %r15, %rsi ; 3 bytes
M0000000000000086: callq 0x428420 <BloombergLP::bdlmt::EventScheduler::EventData::EventData(bsl::function<void ()> const&, bsl::function<long long ()> const&)> ; 5 bytes
M000000000000008b: leaq 80(%r12), %r15 ; 5 bytes
M0000000000000090: movq %r15, %rdi ; 3 bytes
M0000000000000093: callq 0x436060 <BloombergLP::bdlcc::SkipList_RandomLevelGenerator::randomLevel()> ; 5 bytes
M0000000000000098: leaq 8(%rsp), %rdx ; 5 bytes
M000000000000009d: leaq 96(%rsp), %rcx ; 5 bytes
M00000000000000a2: movq %r15, %rdi ; 3 bytes
M00000000000000a5: movl %eax, %esi ; 2 bytes
M00000000000000a7: callq 0x42b390 <BloombergLP::bdlcc::SkipList<long long, BloombergLP::bdlmt::EventScheduler::EventData>::allocateNode(int, long long const&, BloombergLP::bdlmt::EventScheduler::EventData const&)> ; 5 bytes
M00000000000000ac: movq %rax, %rbx ; 3 bytes
M00000000000000af: testq %r14, %r14 ; 3 bytes
M00000000000000b2: je 0x4268ff <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0xbf> ; 2 bytes
M00000000000000b4: movq %rbx, %rdi ; 3 bytes
M00000000000000b7: callq 0x436000 <BloombergLP::bdlcc::SkipList_Control::incrementRefCount()> ; 5 bytes
M00000000000000bc: movq %rbx, (%r14) ; 3 bytes
M00000000000000bf: leaq 7(%rsp), %rsi ; 5 bytes
M00000000000000c4: movq %r15, %rdi ; 3 bytes
M00000000000000c7: movq %rbx, %rdx ; 3 bytes
M00000000000000ca: movl $1, %ecx ; 5 bytes
M00000000000000cf: callq 0x42b4b0 <BloombergLP::bdlcc::SkipList<long long, BloombergLP::bdlmt::EventScheduler::EventData>::addNodeImpR(bool*, BloombergLP::bdlcc::SkipList_Node<long long, BloombergLP::bdlmt::EventScheduler::EventData>*, bool)> ; 5 bytes
M00000000000000d4: leaq 176(%rsp), %rdi ; 8 bytes
M00000000000000dc: callq 0x43bdb0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000000e1: leaq 96(%rsp), %rdi ; 5 bytes
M00000000000000e6: callq 0x43bdb0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000000eb: leaq 16(%rsp), %rdi ; 5 bytes
M00000000000000f0: callq 0x43bdb0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M00000000000000f5: cmpb $0, 7(%rsp) ; 5 bytes
M00000000000000fa: je 0x426a21 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1e1> ; 6 bytes
M0000000000000100: leaq 408(%r12), %rbx ; 8 bytes
M0000000000000108: movq %rbx, %rdi ; 3 bytes
M000000000000010b: callq 0x4046c0 <pthread_mutex_lock@plt> ; 5 bytes
M0000000000000110: addq $448, %r12 ; 7 bytes
M0000000000000117: movq %r12, %rdi ; 3 bytes
M000000000000011a: callq 0x404080 <pthread_cond_signal@plt> ; 5 bytes
M000000000000011f: movq %rbx, %rdi ; 3 bytes
M0000000000000122: callq 0x404790 <pthread_mutex_unlock@plt> ; 5 bytes
M0000000000000127: jmp 0x426a21 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1e1> ; 5 bytes
M000000000000012c: movq (%rdx), %rcx ; 3 bytes
M000000000000012f: movabsq $4835703278458516699, %rdx ; 10 bytes
M0000000000000139: movq %rcx, %rax ; 3 bytes
M000000000000013c: imulq %rdx ; 3 bytes
M000000000000013f: movq %rdx, %rax ; 3 bytes
M0000000000000142: shrq $63, %rax ; 4 bytes
M0000000000000146: sarq $18, %rdx ; 4 bytes
M000000000000014a: addq %rax, %rdx ; 3 bytes
M000000000000014d: imull $4293967296, %edx, %eax ; 6 bytes
M0000000000000153: addl %eax, %ecx ; 2 bytes
M0000000000000155: imull $1000, %ecx, %eax ; 6 bytes
M000000000000015b: movq %rdx, 96(%rsp) ; 5 bytes
M0000000000000160: leal 999999999(%rax), %ecx ; 6 bytes
M0000000000000166: cmpl $1999999999, %ecx ; 6 bytes
M000000000000016c: jb 0x4269d8 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x198> ; 2 bytes
M000000000000016e: movslq %eax, %rcx ; 3 bytes
M0000000000000171: imulq $1152921505, %rcx, %rcx ; 7 bytes
M0000000000000178: movq %rcx, %rsi ; 3 bytes
M000000000000017b: shrq $63, %rsi ; 4 bytes
M000000000000017f: sarq $60, %rcx ; 4 bytes
M0000000000000183: addl %esi, %ecx ; 2 bytes
M0000000000000185: movslq %ecx, %rcx ; 3 bytes
M0000000000000188: addq %rcx, %rdx ; 3 bytes
M000000000000018b: movq %rdx, 96(%rsp) ; 5 bytes
M0000000000000190: imull $1000000000, %ecx, %ecx ; 6 bytes
M0000000000000196: subl %ecx, %eax ; 2 bytes
M0000000000000198: movl %eax, 104(%rsp) ; 4 bytes
M000000000000019c: testq %rdx, %rdx ; 3 bytes
M000000000000019f: jle 0x4269f4 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1b4> ; 2 bytes
M00000000000001a1: testl %eax, %eax ; 2 bytes
M00000000000001a3: jns 0x426a0e <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1ce> ; 2 bytes
M00000000000001a5: decq %rdx ; 3 bytes
M00000000000001a8: movq %rdx, 96(%rsp) ; 5 bytes
M00000000000001ad: addl $1000000000, %eax ; 5 bytes
M00000000000001b2: jmp 0x426a0a <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1ca> ; 2 bytes
M00000000000001b4: testl %eax, %eax ; 2 bytes
M00000000000001b6: jle 0x426a0e <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1ce> ; 2 bytes
M00000000000001b8: testq %rdx, %rdx ; 3 bytes
M00000000000001bb: je 0x426a0e <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x1ce> ; 2 bytes
M00000000000001bd: incq %rdx ; 3 bytes
M00000000000001c0: movq %rdx, 96(%rsp) ; 5 bytes
M00000000000001c5: addl $3294967296, %eax ; 5 bytes
M00000000000001ca: movl %eax, 104(%rsp) ; 4 bytes
M00000000000001ce: leaq 96(%rsp), %rdx ; 5 bytes
M00000000000001d3: movq %r12, %rdi ; 3 bytes
M00000000000001d6: movq %r14, %rsi ; 3 bytes
M00000000000001d9: movq %r15, %rcx ; 3 bytes
M00000000000001dc: callq 0x433900 <BloombergLP::bdlmt::EventScheduler::scheduleEventRaw(BloombergLP::bdlmt::EventScheduler::Event**, BloombergLP::bsls::TimeInterval const&, bsl::function<void ()> const&)> ; 5 bytes
M00000000000001e1: addq $264, %rsp ; 7 bytes
M00000000000001e8: popq %rbx ; 1 bytes
M00000000000001e9: popq %r12 ; 2 bytes
M00000000000001eb: popq %r14 ; 2 bytes
M00000000000001ed: popq %r15 ; 2 bytes
M00000000000001ef: retq ; 1 bytes
M00000000000001f0: movq %rax, %rbx ; 3 bytes
M00000000000001f3: jmp 0x426a54 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x214> ; 2 bytes
M00000000000001f5: movq %rax, %rbx ; 3 bytes
M00000000000001f8: jmp 0x426a54 <void BloombergLP::bdlmt::EventScheduler::scheduleEventRaw<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > >(BloombergLP::bdlmt::EventScheduler::Event**, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&, bsl::function<void ()> const&)+0x214> ; 2 bytes
M00000000000001fa: movq %rax, %rbx ; 3 bytes
M00000000000001fd: leaq 176(%rsp), %rdi ; 8 bytes
M0000000000000205: callq 0x43bdb0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M000000000000020a: leaq 96(%rsp), %rdi ; 5 bytes
M000000000000020f: callq 0x43bdb0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M0000000000000214: leaq 16(%rsp), %rdi ; 5 bytes
M0000000000000219: callq 0x43bdb0 <BloombergLP::bslstl::Function_Rep::~Function_Rep()> ; 5 bytes
M000000000000021e: movq %rbx, %rdi ; 3 bytes
M0000000000000221: callq 0x404730 <_Unwind_Resume@plt> ; 5 bytes
M0000000000000226: nopw %cs:(%rax,%rax) ; 10 bytes