; assembly | /* r2dec pseudo code output */ | /* bslstl_map_test3.t/assume @ 0x57b270 */ | #include | ; (fcn) sym._anonymous_namespace_::IntToPairConverter_char_const__char_const__bsl::allocator_bsl::pair_char_const_const__char_const_____::createInplace_bsl::pair_char_const__char_const___int__bsl::allocator_bsl::pair_char_const_const__char_const____ () | uint64_t anonymous_namespace_::IntToPairConverter_char_const_char_const_bsl::allocator_bsl::pair_char_const_const_char_const_::createInplace_bsl::pair_char_const_char_const_int_bsl::allocator_bsl::pair_char_const_const_char_const_ (int64_t arg2, int64_t arg1) { | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::IntToPairConverter > >::createInplace(bsl::pair*, int, bsl::allocator >) */ 0x0057b270 push rbp | 0x0057b271 push r14 | 0x0057b273 push rbx | 0x0057b274 mov ebx, esi | ebx = esi; 0x0057b276 mov r14, rdi | r14 = rdi; 0x0057b279 call 0x402b40 | rax = ctype_b_loc (); 0x0057b27e mov rax, qword [rax] | rax = *(rax); 0x0057b281 mov ebp, ebx | 0x0057b283 test byte [rax + rbp*2 + 1], 2 | | if ((*((rax + rbp*2 + 1)) & 2) == 0) { 0x0057b288 jne 0x57b28f | 0x0057b28a lea ebp, [rbx - 0x11] | ebp = rbx - 0x11; 0x0057b28d jmp 0x57b29d | | } else { 0x0057b28f call 0x402ad0 | rax = ctype_toupper_loc (); 0x0057b294 mov rax, qword [rax] | rax = *(rax); 0x0057b297 mov ebx, dword [rax + rbp*4] | ebx = *((rax + rbp*4)); 0x0057b29a lea ebp, [rbx + 1] | ebp = rbx + 1; | } 0x0057b29d mov al, byte [rip + 0x2b377d] | al = guard variable for (anonymous namespace)::scratchSingleton()::scratch; 0x0057b2a3 test al, al | 0x0057b2a5 je 0x57b2c4 | | while (eax == 0) { | label_0: 0x0057b2a7 mov edi, ebx | 0x0057b2a9 call 0x5eec00 | rax = BloombergLP::bsltf::TemplateTestFacility::nullTerminatedStringForIdentifier(int) (ebx); 0x0057b2ae mov rbx, rax | rbx = rax; 0x0057b2b1 mov edi, ebp | 0x0057b2b3 call 0x5eec00 | rax = BloombergLP::bsltf::TemplateTestFacility::nullTerminatedStringForIdentifier(int) (ebp); 0x0057b2b8 mov qword [r14], rbx | *(r14) = rbx; 0x0057b2bb mov qword [r14 + 8], rax | *((r14 + 8)) = rax; 0x0057b2bf pop rbx | 0x0057b2c0 pop r14 | 0x0057b2c2 pop rbp | 0x0057b2c3 ret | return rax; 0x0057b2c4 mov edi, 0x82ea20 | edi = guard variable for (anonymous namespace)::scratchSingleton()::scratch; 0x0057b2c9 call 0x402c90 | eax = cxa_guard_acquire (); 0x0057b2ce test eax, eax | 0x0057b2d0 je 0x57b2a7 | | } 0x0057b2d2 movzx edx, byte [rip + 0x2b354a] | edx = *(obj.veryVeryVeryVerbose); 0x0057b2d9 mov edi, 0x82e950 | 0x0057b2de mov esi, 0x5f72d9 | 0x0057b2e3 xor ecx, ecx | 0x0057b2e5 call 0x5ef450 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (obj._anonymous_namespace_::scratchSingleton__::scratch, "scratch singleton", rdx, 0); 0x0057b2ea mov edi, 0x5ef520 | edi = BloombergLP::bslma::TestAllocator::~TestAllocator(); 0x0057b2ef mov esi, 0x82e950 | esi = (anonymous namespace)::scratchSingleton()::scratch; 0x0057b2f4 mov edx, 0x5f1df8 | edx = obj.__dso_handle; 0x0057b2f9 call 0x402aa0 | cxa_atexit (); 0x0057b2fe mov edi, 0x82ea20 | edi = guard variable for (anonymous namespace)::scratchSingleton()::scratch; 0x0057b303 call 0x402a70 | cxa_guard_release (); 0x0057b308 jmp 0x57b2a7 | goto label_0; | }