Ignored vs Assumed Semantics in BDE

BloombergLP::ball::AsyncFileObserver::startPublicationThread() - Assumed

000000000042e260 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()>:
M0000000000000000:	pushq	%rbp	;  1 bytes
M0000000000000001:	pushq	%r14	;  2 bytes
M0000000000000003:	pushq	%rbx	;  1 bytes
M0000000000000004:	subq	$80, %rsp	;  4 bytes
M0000000000000008:	movq	%rdi, %rbx	;  3 bytes
M000000000000000b:	leaq	1728(%rdi), %r14	;  7 bytes
M0000000000000012:	movq	%r14, %rdi	;  3 bytes
M0000000000000015:	callq	0x4079c0 <pthread_mutex_lock@plt>	;  5 bytes
M000000000000001a:	movq	545615(%rip), %rax  # 4b35d0 <BloombergLP::bslmt::ThreadUtilImpl<BloombergLP::bslmt::Platform::PosixThreads>::INVALID_HANDLE>	;  7 bytes
M0000000000000021:	xorl	%ebp, %ebp	;  2 bytes
M0000000000000023:	cmpq	1248(%rbx), %rax	;  7 bytes
M000000000000002a:	jne	0x42e378 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x118>	;  6 bytes
M0000000000000030:	xorl	%eax, %eax	;  2 bytes
M0000000000000032:	xchgl	%eax, 1624(%rbx)	;  6 bytes
M0000000000000038:	jmp	0x42e2a5 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x45>	;  2 bytes
M000000000000003a:	nopw	(%rax,%rax)	;  6 bytes
M0000000000000040:	callq	0x407060 <sched_yield@plt>	;  5 bytes
M0000000000000045:	movq	1376(%rbx), %rcx	;  7 bytes
M000000000000004c:	testl	$16777216, %ecx	;  6 bytes
M0000000000000052:	je	0x42e2fe <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x9e>	;  2 bytes
M0000000000000054:	movq	%rcx, %rax	;  3 bytes
M0000000000000057:	sarq	$28, %rax	;  4 bytes
M000000000000005b:	movl	%ecx, %edx	;  2 bytes
M000000000000005d:	andl	$16777215, %edx	;  6 bytes
M0000000000000063:	cmpq	%rdx, %rax	;  3 bytes
M0000000000000066:	jl	0x42e2a0 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x40>	;  2 bytes
M0000000000000068:	movq	%rcx, %rax	;  3 bytes
M000000000000006b:	andq	$-251658241, %rax	;  6 bytes
M0000000000000071:	leal	16777216(%rcx), %edx	;  6 bytes
M0000000000000077:	andl	$251658240, %edx	;  6 bytes
M000000000000007d:	orq	%rax, %rdx	;  3 bytes
M0000000000000080:	movq	%rcx, %rax	;  3 bytes
M0000000000000083:	lock		;  1 bytes
M0000000000000084:	cmpxchgq	%rdx, 1376(%rbx)	;  8 bytes
M000000000000008c:	cmpq	%rax, %rcx	;  3 bytes
M000000000000008f:	cmovneq	%rax, %rdx	;  4 bytes
M0000000000000093:	movq	%rdx, %rcx	;  3 bytes
M0000000000000096:	testl	$16777216, %ecx	;  6 bytes
M000000000000009c:	jne	0x42e2b4 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x54>	;  2 bytes
M000000000000009e:	leaq	8(%rsp), %rdi	;  5 bytes
M00000000000000a3:	callq	0x46d0a0 <BloombergLP::bslmt::ThreadAttributes::ThreadAttributes()>	;  5 bytes
M00000000000000a8:	leaq	32(%rsp), %rdi	;  5 bytes
M00000000000000ad:	movq	56(%rsp), %rbp	;  5 bytes
M00000000000000b2:	movq	$0, 56(%rsp)	;  9 bytes
M00000000000000bb:	movl	$4811896, %esi	;  5 bytes
M00000000000000c0:	movl	$13, %edx	;  5 bytes
M00000000000000c5:	movl	$4811910, %ecx	;  5 bytes
M00000000000000ca:	callq	0x471090 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::privateAppend(char const*, unsigned long, char const*)>	;  5 bytes
M00000000000000cf:	movq	2846298(%rip), %rcx  # 6e5190 <BloombergLP::bslma::Default::s_globalAllocator>	;  7 bytes
M00000000000000d6:	testq	%rcx, %rcx	;  3 bytes
M00000000000000d9:	jne	0x42e343 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0xe3>	;  2 bytes
M00000000000000db:	callq	0x46aca0 <BloombergLP::bslma::NewDeleteAllocator::singleton()>	;  5 bytes
M00000000000000e0:	movq	%rax, %rcx	;  3 bytes
M00000000000000e3:	leaq	1248(%rbx), %rdi	;  7 bytes
M00000000000000ea:	addq	$1648, %rbx	;  7 bytes
M00000000000000f1:	leaq	8(%rsp), %rsi	;  5 bytes
M00000000000000f6:	movq	%rbx, %rdx	;  3 bytes
M00000000000000f9:	callq	0x42f3c0 <int BloombergLP::bslmt::ThreadUtil::createWithAllocator<bsl::function<void ()> >(unsigned long*, BloombergLP::bslmt::ThreadAttributes const&, bsl::function<void ()> const&, BloombergLP::bslma::Allocator*)>	;  5 bytes
M00000000000000fe:	movl	%eax, %ebp	;  2 bytes
M0000000000000100:	cmpq	$23, 64(%rsp)	;  6 bytes
M0000000000000106:	je	0x42e378 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x118>	;  2 bytes
M0000000000000108:	movq	32(%rsp), %rsi	;  5 bytes
M000000000000010d:	movq	72(%rsp), %rdi	;  5 bytes
M0000000000000112:	movq	(%rdi), %rax	;  3 bytes
M0000000000000115:	callq	*24(%rax)	;  3 bytes
M0000000000000118:	movq	%r14, %rdi	;  3 bytes
M000000000000011b:	callq	0x407ae0 <pthread_mutex_unlock@plt>	;  5 bytes
M0000000000000120:	movl	%ebp, %eax	;  2 bytes
M0000000000000122:	addq	$80, %rsp	;  4 bytes
M0000000000000126:	popq	%rbx	;  1 bytes
M0000000000000127:	popq	%r14	;  2 bytes
M0000000000000129:	popq	%rbp	;  1 bytes
M000000000000012a:	retq		;  1 bytes
M000000000000012b:	movq	%rax, %rdi	;  3 bytes
M000000000000012e:	callq	0x429440 <__clang_call_terminate>	;  5 bytes
M0000000000000133:	movq	%rax, %rbx	;  3 bytes
M0000000000000136:	movq	%rbp, 56(%rsp)	;  5 bytes
M000000000000013b:	jmp	0x42e3a5 <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x145>	;  2 bytes
M000000000000013d:	movq	%rax, %rbx	;  3 bytes
M0000000000000140:	jmp	0x42e3bd <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x15d>	;  2 bytes
M0000000000000142:	movq	%rax, %rbx	;  3 bytes
M0000000000000145:	cmpq	$23, 64(%rsp)	;  6 bytes
M000000000000014b:	je	0x42e3bd <BloombergLP::ball::AsyncFileObserver::startPublicationThread()+0x15d>	;  2 bytes
M000000000000014d:	movq	32(%rsp), %rsi	;  5 bytes
M0000000000000152:	movq	72(%rsp), %rdi	;  5 bytes
M0000000000000157:	movq	(%rdi), %rax	;  3 bytes
M000000000000015a:	callq	*24(%rax)	;  3 bytes
M000000000000015d:	movq	%r14, %rdi	;  3 bytes
M0000000000000160:	callq	0x407ae0 <pthread_mutex_unlock@plt>	;  5 bytes
M0000000000000165:	movq	%rbx, %rdi	;  3 bytes
M0000000000000168:	callq	0x407a80 <_Unwind_Resume@plt>	;  5 bytes
M000000000000016d:	movq	%rax, %rdi	;  3 bytes
M0000000000000170:	callq	0x429440 <__clang_call_terminate>	;  5 bytes
M0000000000000175:	nopw	%cs:(%rax,%rax)	; 10 bytes
M000000000000017f:	nop		;  1 bytes