Ignored vs Assumed Semantics in BDE

BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int) - Assumed

000000000041a170 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)>:
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	$40, %rsp	;  4 bytes
M000000000000000e:	testl	%ecx, %ecx	;  2 bytes
M0000000000000010:	je	0x41a30a <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x19a>	;  6 bytes
M0000000000000016:	movl	%ecx, %r12d	;  3 bytes
M0000000000000019:	movl	%edx, %ebp	;  2 bytes
M000000000000001b:	movq	%rdi, %r15	;  3 bytes
M000000000000001e:	movq	%rsi, 32(%rsp)	;  5 bytes
M0000000000000023:	movq	(%rsi), %rax	;  3 bytes
M0000000000000026:	movl	16(%rax), %ecx	;  3 bytes
M0000000000000029:	xorl	%r14d, %r14d	;  3 bytes
M000000000000002c:	cmpl	%edx, %ecx	;  2 bytes
M000000000000002e:	jle	0x41a1a7 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x37>	;  2 bytes
M0000000000000030:	xorl	%r13d, %r13d	;  3 bytes
M0000000000000033:	movl	%ebp, %ebx	;  2 bytes
M0000000000000035:	jmp	0x41a1bf <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x4f>	;  2 bytes
M0000000000000037:	addq	$40, %rax	;  4 bytes
M000000000000003b:	xorl	%r13d, %r13d	;  3 bytes
M000000000000003e:	movl	%ebp, %ebx	;  2 bytes
M0000000000000040:	subl	%ecx, %ebx	;  2 bytes
M0000000000000042:	movl	(%rax), %ecx	;  2 bytes
M0000000000000044:	addq	$24, %rax	;  4 bytes
M0000000000000048:	incq	%r13	;  3 bytes
M000000000000004b:	cmpl	%ecx, %ebx	;  2 bytes
M000000000000004d:	jge	0x41a1b0 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x40>	;  2 bytes
M000000000000004f:	movq	%r15, %rdi	;  3 bytes
M0000000000000052:	callq	0x4182a0 <BloombergLP::bdlbb::Blob::trimLastDataBuffer()>	;  5 bytes
M0000000000000057:	movq	%r15, %rdi	;  3 bytes
M000000000000005a:	callq	0x4180a0 <BloombergLP::bdlbb::Blob::removeUnusedBuffers()>	;  5 bytes
M000000000000005f:	movq	32(%rsp), %rcx	;  5 bytes
M0000000000000064:	movl	36(%rcx), %eax	;  3 bytes
M0000000000000067:	decl	%eax	;  2 bytes
M0000000000000069:	addl	%r12d, %ebp	;  3 bytes
M000000000000006c:	cmpl	%eax, %ebp	;  2 bytes
M000000000000006e:	cmovgel	%eax, %ebp	;  3 bytes
M0000000000000071:	movq	(%rcx), %rax	;  3 bytes
M0000000000000074:	movl	16(%rax), %ecx	;  3 bytes
M0000000000000077:	cmpl	%ebp, %ecx	;  2 bytes
M0000000000000079:	jg	0x41a20f <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x9f>	;  2 bytes
M000000000000007b:	addq	$40, %rax	;  4 bytes
M000000000000007f:	xorl	%r14d, %r14d	;  3 bytes
M0000000000000082:	nopw	%cs:(%rax,%rax)	; 10 bytes
M000000000000008c:	nopl	(%rax)	;  4 bytes
M0000000000000090:	subl	%ecx, %ebp	;  2 bytes
M0000000000000092:	incl	%r14d	;  3 bytes
M0000000000000095:	movl	(%rax), %ecx	;  2 bytes
M0000000000000097:	addq	$24, %rax	;  4 bytes
M000000000000009b:	cmpl	%ecx, %ebp	;  2 bytes
M000000000000009d:	jge	0x41a200 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x90>	;  2 bytes
M000000000000009f:	movl	40(%r15), %eax	;  4 bytes
M00000000000000a3:	subl	%r13d, %r14d	;  3 bytes
M00000000000000a6:	leal	2(%rax,%r14), %esi	;  5 bytes
M00000000000000ab:	movq	%r15, %rdi	;  3 bytes
M00000000000000ae:	callq	0x418aa0 <bsl::vector<BloombergLP::bdlbb::BlobBuffer, bsl::allocator<BloombergLP::bdlbb::BlobBuffer> >::reserve(unsigned long)>	;  5 bytes
M00000000000000b3:	movq	32(%rsp), %rbp	;  5 bytes
M00000000000000b8:	movq	(%rbp), %rax	;  4 bytes
M00000000000000bc:	leaq	(%r13,%r13,2), %r14	;  5 bytes
M00000000000000c1:	movq	(%rax,%r14,8), %rcx	;  4 bytes
M00000000000000c5:	movq	%rcx, 8(%rsp)	;  5 bytes
M00000000000000ca:	movq	8(%rax,%r14,8), %rdx	;  5 bytes
M00000000000000cf:	movq	%rdx, 16(%rsp)	;  5 bytes
M00000000000000d4:	testq	%rdx, %rdx	;  3 bytes
M00000000000000d7:	je	0x41a24e <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0xde>	;  2 bytes
M00000000000000d9:	lock		;  1 bytes
M00000000000000da:	addl	$2, 8(%rdx)	;  4 bytes
M00000000000000de:	movl	16(%rax,%r14,8), %eax	;  5 bytes
M00000000000000e3:	movl	%eax, 24(%rsp)	;  4 bytes
M00000000000000e7:	testl	%ebx, %ebx	;  2 bytes
M00000000000000e9:	jle	0x41a26b <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0xfb>	;  2 bytes
M00000000000000eb:	movl	%ebx, %edx	;  2 bytes
M00000000000000ed:	addq	%rdx, %rcx	;  3 bytes
M00000000000000f0:	movq	%rcx, 8(%rsp)	;  5 bytes
M00000000000000f5:	subl	%ebx, %eax	;  2 bytes
M00000000000000f7:	movl	%eax, 24(%rsp)	;  4 bytes
M00000000000000fb:	cmpl	%r12d, %eax	;  3 bytes
M00000000000000fe:	jle	0x41a275 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x105>	;  2 bytes
M0000000000000100:	movl	%r12d, 24(%rsp)	;  5 bytes
M0000000000000105:	leaq	8(%rsp), %rsi	;  5 bytes
M000000000000010a:	movq	%r15, %rdi	;  3 bytes
M000000000000010d:	callq	0x417d70 <BloombergLP::bdlbb::Blob::appendDataBuffer(BloombergLP::bdlbb::BlobBuffer const&)>	;  5 bytes
M0000000000000112:	subl	24(%rsp), %r12d	;  5 bytes
M0000000000000117:	movq	16(%rsp), %rdi	;  5 bytes
M000000000000011c:	testq	%rdi, %rdi	;  3 bytes
M000000000000011f:	je	0x41a296 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x126>	;  2 bytes
M0000000000000121:	callq	0x41c2e0 <BloombergLP::bslma::SharedPtrRep::releaseRef()>	;  5 bytes
M0000000000000126:	testl	%r12d, %r12d	;  3 bytes
M0000000000000129:	jle	0x41a30a <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x19a>	;  2 bytes
M000000000000012b:	leaq	40(,%r14,8), %rbx	;  8 bytes
M0000000000000133:	leaq	8(%rsp), %r14	;  5 bytes
M0000000000000138:	jmp	0x41a2b9 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x149>	;  2 bytes
M000000000000013a:	nopw	(%rax,%rax)	;  6 bytes
M0000000000000140:	addq	$24, %rbx	;  4 bytes
M0000000000000144:	testl	%r12d, %r12d	;  3 bytes
M0000000000000147:	jle	0x41a30a <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x19a>	;  2 bytes
M0000000000000149:	movq	(%rbp), %rax	;  4 bytes
M000000000000014d:	movq	-16(%rax,%rbx), %rcx	;  5 bytes
M0000000000000152:	movq	%rcx, 8(%rsp)	;  5 bytes
M0000000000000157:	movq	-8(%rax,%rbx), %rcx	;  5 bytes
M000000000000015c:	movq	%rcx, 16(%rsp)	;  5 bytes
M0000000000000161:	testq	%rcx, %rcx	;  3 bytes
M0000000000000164:	je	0x41a2db <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x16b>	;  2 bytes
M0000000000000166:	lock		;  1 bytes
M0000000000000167:	addl	$2, 8(%rcx)	;  4 bytes
M000000000000016b:	movl	(%rax,%rbx), %eax	;  3 bytes
M000000000000016e:	cmpl	%r12d, %eax	;  3 bytes
M0000000000000171:	cmovgl	%r12d, %eax	;  4 bytes
M0000000000000175:	movl	%eax, 24(%rsp)	;  4 bytes
M0000000000000179:	movq	%r15, %rdi	;  3 bytes
M000000000000017c:	movq	%r14, %rsi	;  3 bytes
M000000000000017f:	callq	0x417d70 <BloombergLP::bdlbb::Blob::appendDataBuffer(BloombergLP::bdlbb::BlobBuffer const&)>	;  5 bytes
M0000000000000184:	subl	24(%rsp), %r12d	;  5 bytes
M0000000000000189:	movq	16(%rsp), %rdi	;  5 bytes
M000000000000018e:	testq	%rdi, %rdi	;  3 bytes
M0000000000000191:	je	0x41a2b0 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x140>	;  2 bytes
M0000000000000193:	callq	0x41c2e0 <BloombergLP::bslma::SharedPtrRep::releaseRef()>	;  5 bytes
M0000000000000198:	jmp	0x41a2b0 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x140>	;  2 bytes
M000000000000019a:	addq	$40, %rsp	;  4 bytes
M000000000000019e:	popq	%rbx	;  1 bytes
M000000000000019f:	popq	%r12	;  2 bytes
M00000000000001a1:	popq	%r13	;  2 bytes
M00000000000001a3:	popq	%r14	;  2 bytes
M00000000000001a5:	popq	%r15	;  2 bytes
M00000000000001a7:	popq	%rbp	;  1 bytes
M00000000000001a8:	retq		;  1 bytes
M00000000000001a9:	movq	%rax, %rdi	;  3 bytes
M00000000000001ac:	callq	0x415990 <__clang_call_terminate>	;  5 bytes
M00000000000001b1:	movq	%rax, %rbx	;  3 bytes
M00000000000001b4:	movq	16(%rsp), %rdi	;  5 bytes
M00000000000001b9:	testq	%rdi, %rdi	;  3 bytes
M00000000000001bc:	je	0x41a357 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x1e7>	;  2 bytes
M00000000000001be:	callq	0x41c2e0 <BloombergLP::bslma::SharedPtrRep::releaseRef()>	;  5 bytes
M00000000000001c3:	jmp	0x41a357 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x1e7>	;  2 bytes
M00000000000001c5:	movq	%rax, %rdi	;  3 bytes
M00000000000001c8:	callq	0x415990 <__clang_call_terminate>	;  5 bytes
M00000000000001cd:	movq	%rax, %rdi	;  3 bytes
M00000000000001d0:	callq	0x415990 <__clang_call_terminate>	;  5 bytes
M00000000000001d5:	movq	%rax, %rbx	;  3 bytes
M00000000000001d8:	movq	16(%rsp), %rdi	;  5 bytes
M00000000000001dd:	testq	%rdi, %rdi	;  3 bytes
M00000000000001e0:	je	0x41a357 <BloombergLP::bdlbb::BlobUtil::append(BloombergLP::bdlbb::Blob*, BloombergLP::bdlbb::Blob const&, int, int)+0x1e7>	;  2 bytes
M00000000000001e2:	callq	0x41c2e0 <BloombergLP::bslma::SharedPtrRep::releaseRef()>	;  5 bytes
M00000000000001e7:	movq	%rbx, %rdi	;  3 bytes
M00000000000001ea:	callq	0x4046d0 <_Unwind_Resume@plt>	;  5 bytes
M00000000000001ef:	movq	%rax, %rdi	;  3 bytes
M00000000000001f2:	callq	0x415990 <__clang_call_terminate>	;  5 bytes
M00000000000001f7:	nopw	(%rax,%rax)	;  9 bytes