Ignored vs Assumed Semantics in BDE

BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum) - Assumed

000000000042b650 <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)>:
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:	pushq	%rax	;  1 bytes
M000000000000000b:	movl	%r8d, %r13d	;  3 bytes
M000000000000000e:	movl	%ecx, %r15d	;  3 bytes
M0000000000000011:	movq	%rdx, %r12	;  3 bytes
M0000000000000014:	movq	%rsi, %rbp	;  3 bytes
M0000000000000017:	movq	%rdi, %rbx	;  3 bytes
M000000000000001a:	movq	%rsi, %rdi	;  3 bytes
M000000000000001d:	callq	0x431590 <unsigned long (anonymous namespace)::utf16BufferLength<(anonymous namespace)::Utf8::ZeroBasedEnd>(char const*, (anonymous namespace)::Utf8::ZeroBasedEnd)>	;  5 bytes
M0000000000000022:	movq	%rax, %r14	;  3 bytes
M0000000000000025:	movb	(%rbx), %al	;  2 bytes
M0000000000000027:	testb	$1, %al	;  2 bytes
M0000000000000029:	jne	0x42b688 <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x38>	;  2 bytes
M000000000000002b:	movzbl	%al, %ecx	;  3 bytes
M000000000000002e:	shrq	%rcx	;  3 bytes
M0000000000000031:	cmpq	%rcx, %r14	;  3 bytes
M0000000000000034:	ja	0x42b691 <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x41>	;  2 bytes
M0000000000000036:	jmp	0x42b6a0 <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x50>	;  2 bytes
M0000000000000038:	movq	8(%rbx), %rcx	;  4 bytes
M000000000000003c:	cmpq	%rcx, %r14	;  3 bytes
M000000000000003f:	jbe	0x42b6a0 <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x50>	;  2 bytes
M0000000000000041:	movq	%rbx, %rdi	;  3 bytes
M0000000000000044:	movq	%r14, %rsi	;  3 bytes
M0000000000000047:	xorl	%edx, %edx	;  2 bytes
M0000000000000049:	callq	0x4035c0 <_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw@plt>	;  5 bytes
M000000000000004e:	movb	(%rbx), %al	;  2 bytes
M0000000000000050:	testb	$1, %al	;  2 bytes
M0000000000000052:	jne	0x42b6aa <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x5a>	;  2 bytes
M0000000000000054:	leaq	4(%rbx), %rdi	;  4 bytes
M0000000000000058:	jmp	0x42b6ae <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x5e>	;  2 bytes
M000000000000005a:	movq	16(%rbx), %rdi	;  4 bytes
M000000000000005e:	movq	%rsp, %rcx	;  3 bytes
M0000000000000061:	movq	%rbp, %rsi	;  3 bytes
M0000000000000064:	movq	%r12, %rdx	;  3 bytes
M0000000000000067:	movl	%r15d, %r8d	;  3 bytes
M000000000000006a:	testl	%r13d, %r13d	;  3 bytes
M000000000000006d:	je	0x42b6c6 <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x76>	;  2 bytes
M000000000000006f:	callq	0x431ad0 <int (anonymous namespace)::localUtf8ToUtf16<wchar_t, (anonymous namespace)::NoOpCapacity, (anonymous namespace)::Utf8::ZeroBasedEnd, (anonymous namespace)::Swapper<wchar_t> >(wchar_t*, (anonymous namespace)::NoOpCapacity, char const*, (anonymous namespace)::Utf8::ZeroBasedEnd, (anonymous namespace)::Swapper<wchar_t>, unsigned long*, unsigned long*, wchar_t)>	;  5 bytes
M0000000000000074:	jmp	0x42b6cb <BloombergLP::bdlde::CharConvertUtf16::utf8ToUtf16(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >*, char const*, unsigned long*, wchar_t, BloombergLP::bdlde::ByteOrder::Enum)+0x7b>	;  2 bytes
M0000000000000076:	callq	0x431710 <int (anonymous namespace)::localUtf8ToUtf16<wchar_t, (anonymous namespace)::NoOpCapacity, (anonymous namespace)::Utf8::ZeroBasedEnd, (anonymous namespace)::NoOpSwapper<wchar_t> >(wchar_t*, (anonymous namespace)::NoOpCapacity, char const*, (anonymous namespace)::Utf8::ZeroBasedEnd, (anonymous namespace)::NoOpSwapper<wchar_t>, unsigned long*, unsigned long*, wchar_t)>	;  5 bytes
M000000000000007b:	movl	%eax, %ebp	;  2 bytes
M000000000000007d:	movq	(%rsp), %rsi	;  4 bytes
M0000000000000081:	cmpq	%r14, %rsi	;  3 bytes
M0000000000000084:	decq	%rsi	;  3 bytes
M0000000000000087:	movq	%rbx, %rdi	;  3 bytes
M000000000000008a:	xorl	%edx, %edx	;  2 bytes
M000000000000008c:	callq	0x4035c0 <_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw@plt>	;  5 bytes
M0000000000000091:	movl	%ebp, %eax	;  2 bytes
M0000000000000093:	addq	$8, %rsp	;  4 bytes
M0000000000000097:	popq	%rbx	;  1 bytes
M0000000000000098:	popq	%r12	;  2 bytes
M000000000000009a:	popq	%r13	;  2 bytes
M000000000000009c:	popq	%r14	;  2 bytes
M000000000000009e:	popq	%r15	;  2 bytes
M00000000000000a0:	popq	%rbp	;  1 bytes
M00000000000000a1:	retq		;  1 bytes
M00000000000000a2:	nopw	%cs:(%rax,%rax)	; 10 bytes
M00000000000000ac:	nopl	(%rax)	;  4 bytes