; assembly | /* r2dec pseudo code output */ | /* bslstl_boyermoorehorspoolsearcher.t/none @ 0x41bea0 */ | #include | ; (fcn) sym.void_testMoveConstructors_char_const__CharHashCaseInsensitive__CharEqualCaseInsensitive__true___ () | int64_t void_testMoveConstructors_char_const_CharHashCaseInsensitive_CharEqualCaseInsensitive_true_ (void) { | int64_t var_7h; | uint32_t var_8h; | uint32_t var_10h; | size_t var_18h; | int64_t var_20h; | int64_t var_28h; | int64_t var_30h; | int64_t var_38h; | int64_t var_40h; | int64_t var_48h; | int64_t var_50h; | int64_t var_58h; | int64_t var_68h; | int64_t var_70h; | int64_t var_78h; | int64_t var_80h; | int64_t var_88h; | uint32_t var_90h; | int64_t var_98h; | int64_t var_a0h; | int64_t var_b0h; | int64_t var_c0h; | uint32_t var_c8h; | uint32_t var_d0h; | uint32_t var_d8h; | int64_t var_e0h; | int64_t var_e8h; | int64_t var_130h; | int64_t var_140h; | int64_t var_150h; | int64_t var_1b8h; | int64_t var_200h; | int64_t var_210h; | int64_t var_220h; | int64_t var_288h; | int64_t var_2d0h; | int64_t var_2e0h; | int64_t var_2f0h; | int64_t var_358h; | int64_t var_3a0h; | int64_t var_3b0h; | int64_t var_3c0h; | /* void testMoveConstructors() */ 0x0041bea0 push rbp | 0x0041bea1 push r15 | 0x0041bea3 push r14 | 0x0041bea5 push r13 | 0x0041bea7 push r12 | 0x0041bea9 push rbx | 0x0041beaa sub rsp, 0x428 | 0x0041beb1 cmp byte [rip + 0x26587c], 0 | | if (*(obj.veryVerbose) != 0) { 0x0041beb8 je 0x41c025 | 0x0041bebe mov rax, qword [rip + 0x265893] | rax = BloombergLP::bsls::NameOf::s_buffer_p; 0x0041bec5 test rax, rax | | if (rax == 0) { 0x0041bec8 jne 0x41bf05 | 0x0041beca mov eax, dword [rip + 0x265470] | eax = BloombergLP::bsls::NameOf::NameOf()::once; 0x0041bed0 cmp eax, 0xdeaf | | if (eax == 0xdeaf) { 0x0041bed5 je 0x41bf05 | goto label_2; | } 0x0041bed7 mov edi, 0x681340 | 0x0041bedc call 0x448a20 | al = BloombergLP::bsls::BslOnce::doEnter() (method.BloombergLP::bsls::NameOf_char_const_.NameOf__::once); 0x0041bee1 test al, al | | if (al == 0) { 0x0041bee3 je 0x41bf05 | goto label_2; | } 0x0041bee5 mov edi, 0x6817b0 | 0x0041beea mov esi, 0x466a74 | 0x0041beef call 0x448f20 | rax = BloombergLP::bsls::NameOf_Base::initBuffer(char*,char const*) (method.BloombergLP::bsls::NameOf_char_const_.NameOf__::buffer, "BloombergLP::bsls::NameOf::NameOf() [TYPE = const char *]"); 0x0041bef4 xchg qword [rip + 0x26585d], rax | tmp_0 = obj.BloombergLP::bsls::NameOf_char_const_::s_buffer_p; | obj.BloombergLP::bsls::NameOf_char_const_::s_buffer_p = rax; | rax = tmp_0; 0x0041befb mov dword [rip + 0x26543b], 0xdeaf | *(method.BloombergLP::bsls::NameOf_char_const_.NameOf__::once) = 0xdeaf; | } | label_2: 0x0041bf05 mov edi, 0x466856 | 0x0041bf0a call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("bsls::NameOf() = "); 0x0041bf0f mov rdi, qword [rip + 0x265842] | 0x0041bf16 call 0x448bc0 | BloombergLP::bsls::debugprint(char const*) (*(obj.BloombergLP::bsls::NameOf_char_const_::s_buffer_p)); 0x0041bf1b mov edi, 0x466484 | 0x0041bf20 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041bf25 call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041bf2a mov rax, qword [rip + 0x265857] | rax = BloombergLP::bsls::NameOf::s_buffer_p; 0x0041bf31 test rax, rax | | if (rax == 0) { 0x0041bf34 jne 0x41bf71 | 0x0041bf36 mov eax, dword [rip + 0x265410] | eax = BloombergLP::bsls::NameOf::NameOf()::once; 0x0041bf3c cmp eax, 0xdeaf | | if (eax == 0xdeaf) { 0x0041bf41 je 0x41bf71 | goto label_3; | } 0x0041bf43 mov edi, 0x68134c | 0x0041bf48 call 0x448a20 | al = BloombergLP::bsls::BslOnce::doEnter() (method.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_.NameOf__::once); 0x0041bf4d test al, al | | if (al == 0) { 0x0041bf4f je 0x41bf71 | goto label_3; | } 0x0041bf51 mov edi, 0x681860 | 0x0041bf56 mov esi, 0x466b60 | 0x0041bf5b call 0x448f20 | rax = BloombergLP::bsls::NameOf_Base::initBuffer(char*,char const*) (method.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_.NameOf__::buffer, "BloombergLP::bsls::NameOf::NameOf() [TYPE = CharHashCaseInsensitive]"); 0x0041bf60 xchg qword [rip + 0x265821], rax | tmp_1 = obj.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_::s_buffer_p; | obj.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_::s_buffer_p = rax; | rax = tmp_1; 0x0041bf67 mov dword [rip + 0x2653db], 0xdeaf | *(method.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_.NameOf__::once) = 0xdeaf; | } | label_3: 0x0041bf71 mov edi, 0x466874 | 0x0041bf76 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("bsls::NameOf() = "); 0x0041bf7b mov rdi, qword [rip + 0x265806] | 0x0041bf82 call 0x448bc0 | BloombergLP::bsls::debugprint(char const*) (*(obj.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_::s_buffer_p)); 0x0041bf87 mov edi, 0x466484 | 0x0041bf8c call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041bf91 call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041bf96 mov rax, qword [rip + 0x2657fb] | rax = BloombergLP::bsls::NameOf::s_buffer_p; 0x0041bf9d test rax, rax | | if (rax == 0) { 0x0041bfa0 jne 0x41bfdd | 0x0041bfa2 mov eax, dword [rip + 0x2653a8] | eax = BloombergLP::bsls::NameOf::NameOf()::once; 0x0041bfa8 cmp eax, 0xdeaf | | if (eax == 0xdeaf) { 0x0041bfad je 0x41bfdd | goto label_4; | } 0x0041bfaf mov edi, 0x681350 | 0x0041bfb4 call 0x448a20 | al = BloombergLP::bsls::BslOnce::doEnter() (method.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_.NameOf__::once); 0x0041bfb9 test al, al | | if (al == 0) { 0x0041bfbb je 0x41bfdd | goto label_4; | } 0x0041bfbd mov edi, 0x6818b0 | 0x0041bfc2 mov esi, 0x466bbe | 0x0041bfc7 call 0x448f20 | rax = BloombergLP::bsls::NameOf_Base::initBuffer(char*,char const*) (method.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_.NameOf__::buffer, "BloombergLP::bsls::NameOf::NameOf() [TYPE = CharEqualCaseInsensitive]"); 0x0041bfcc xchg qword [rip + 0x2657c5], rax | tmp_2 = obj.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_::s_buffer_p; | obj.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_::s_buffer_p = rax; | rax = tmp_2; 0x0041bfd3 mov dword [rip + 0x265373], 0xdeaf | *(method.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_.NameOf__::once) = 0xdeaf; | } | label_4: 0x0041bfdd mov edi, 0x46688c | 0x0041bfe2 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("bsls::NameOf() = "); 0x0041bfe7 mov rdi, qword [rip + 0x2657aa] | 0x0041bfee call 0x448bc0 | BloombergLP::bsls::debugprint(char const*) (*(obj.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_::s_buffer_p)); 0x0041bff3 mov edi, 0x466484 | 0x0041bff8 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041bffd call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c002 mov edi, 0x4668a5 | 0x0041c007 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("areFunctorsComparable = "); 0x0041c00c mov edi, 1 | 0x0041c011 call 0x448ab0 | BloombergLP::bsls::debugprint(bool) (1); 0x0041c016 mov edi, 0x466484 | 0x0041c01b call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041c020 call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); | } 0x0041c025 movzx edx, byte [rip + 0x265709] | edx = *(obj.veryVeryVeryVerbose); 0x0041c02c lea rdi, [rsp + 0xe8] | 0x0041c034 mov esi, 0x4644f0 | 0x0041c039 xor ecx, ecx | 0x0041c03b call 0x446230 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0xe8, "footprint", rdx, 0); 0x0041c040 movzx edx, byte [rip + 0x2656ee] | edx = *(obj.veryVeryVeryVerbose); 0x0041c047 lea rdi, [rsp + 0x358] | 0x0041c04f mov esi, 0x464020 | 0x0041c054 xor ecx, ecx | 0x0041c056 call 0x446230 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0x358, "default", rdx, 0); 0x0041c05b movzx edx, byte [rip + 0x2656d3] | edx = *(obj.veryVeryVeryVerbose); 0x0041c062 lea rdi, [rsp + 0x1b8] | 0x0041c06a mov esi, 0x4642ea | 0x0041c06f xor ecx, ecx | 0x0041c071 call 0x446230 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0x1b8, "supplied", rdx, 0); 0x0041c076 movzx edx, byte [rip + 0x2656b8] | edx = *(obj.veryVeryVeryVerbose); 0x0041c07d lea rdi, [rsp + 0x288] | 0x0041c085 mov esi, 0x4668be | 0x0041c08a xor ecx, ecx | 0x0041c08c call 0x446230 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0x288, "different", rdx, 0); 0x0041c091 lea rdi, [rsp + 0xc0] | 0x0041c099 lea rsi, [rsp + 0x358] | 0x0041c0a1 call 0x445e60 | eax = BloombergLP::bslma::DefaultAllocatorGuard::DefaultAllocatorGuard(BloombergLP::bslma::Allocator*) (rsp + 0xc0, rsp + 0x358); 0x0041c0a6 lea r12, [rsp + 8] | r12 = rsp + 8; 0x0041c0ab xor eax, eax | eax = 0; 0x0041c0ad mov qword [rsp + 0x88], rax | *((rsp + 0x88)) = rax; 0x0041c0b5 jmp 0x41c0e0 | goto label_5; | label_1: 0x0041c0c0 mov rcx, qword [rsp + 0x88] | rcx = *((rsp + 0x88)); 0x0041c0c8 inc rcx | rcx++; 0x0041c0cb mov rax, rcx | rax = rcx; 0x0041c0ce mov qword [rsp + 0x88], rcx | *((rsp + 0x88)) = rcx; 0x0041c0d6 cmp rcx, 0x2f | | if (rcx == 0x2f) { 0x0041c0da je 0x41cada | goto label_6; | } | label_5: 0x0041c0e0 mov rax, qword [rsp + 0x88] | rax = *((rsp + 0x88)); 0x0041c0e8 lea rbx, [rax*8] | rbx = rax*8; 0x0041c0f0 mov r13, qword [rbx + rbx*4 + 0x449ba8] | r13 = *((rbx + rbx*4 + 0x449ba8)); 0x0041c0f8 mov rbp, qword [rbx + rbx*4 + 0x449bb0] | rbp = *((rbx + rbx*4 + 0x449bb0)); 0x0041c100 cmp byte [rip + 0x26562d], 0 | | if (*(obj.veryVerbose) != 0) { 0x0041c107 je 0x41c170 | 0x0041c109 mov edi, 0x464056 | 0x0041c10e call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("LINE = "); 0x0041c113 mov edi, dword [rbx + rbx*4 + 0x449ba0] | 0x0041c11a call 0x448b20 | BloombergLP::bsls::debugprint(int) (*((rbx + rbx*4 + obj.DATA))); 0x0041c11f mov edi, 0x468da6 | 0x0041c124 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x468da6); 0x0041c129 call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c12e mov edi, 0x46445b | 0x0041c133 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("HAYSTACK = "); 0x0041c138 mov rdi, r13 | 0x0041c13b call 0x448bc0 | BloombergLP::bsls::debugprint(char const*) (r13); 0x0041c140 mov edi, 0x468da6 | 0x0041c145 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x468da6); 0x0041c14a call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c14f mov edi, 0x464467 | 0x0041c154 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("NEEDLE = "); 0x0041c159 mov rdi, rbp | 0x0041c15c call 0x448bc0 | BloombergLP::bsls::debugprint(char const*) (rbp); 0x0041c161 mov edi, 0x466484 | 0x0041c166 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041c16b call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); | } 0x0041c170 mov r14b, 1 | r14b = 1; 0x0041c173 mov ebx, 0x61 | ebx = 0x61; 0x0041c178 mov qword [rsp + 0x98], rbp | *((rsp + 0x98)) = rbp; | label_0: 0x0041c180 cmp byte [rip + 0x2655ad], 0 | | if (*(obj.veryVerbose) != 0) { 0x0041c187 je 0x41c1aa | 0x0041c189 mov edi, 0x464e9d | 0x0041c18e call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("CONFIG = "); 0x0041c193 movsx edi, bl | edi = (int32_t) bl; 0x0041c196 call 0x448ad0 | BloombergLP::bsls::debugprint(char) (rdi); 0x0041c19b mov edi, 0x466484 | 0x0041c1a0 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041c1a5 call 0x448a70 | BloombergLP::bsls::BslTestUtil::flush() (); | } 0x0041c1aa mov rdi, rbp | 0x0041c1ad call 0x402d00 | rax = strlen (rbp); 0x0041c1b2 lea rdx, [rbp + rax] | 0x0041c1b7 mov qword [rsp + 8], rbp | *((rsp + 8)) = rbp; 0x0041c1bc mov qword [rsp + 0x10], rdx | *((rsp + 0x10)) = rdx; 0x0041c1c1 mov qword [rsp + 0x18], rax | *((rsp + 0x18)) = rax; 0x0041c1c6 lea rdi, [rsp + 0x20] | 0x0041c1cb mov rsi, rbp | 0x0041c1ce xor ecx, ecx | 0x0041c1d0 xor r8d, r8d | 0x0041c1d3 lea r9, [rsp + 0x1b8] | 0x0041c1db call 0x41fd60 | eax = BloombergLP::bslstl::BoyerMooreHorspoolSearcher_GeneralImp::BoyerMooreHorspoolSearcher_GeneralImp(char const*,char const*,CharHashCaseInsensitive,CharEqualCaseInsensitive,BloombergLP::bslma::Allocator*) (rsp + 0x20, rbp, rbp + rax, 0, 0, rsp + 0x1b8); 0x0041c1e0 cmp rbp, qword [rsp + 8] | | if (rbp != *((rsp + 8))) { 0x0041c1e5 je 0x41c210 | 0x0041c1e7 mov edi, 0x465243 | 0x0041c1ec mov edx, 0x4668c8 | edx = "NEEDLE == Z.needleFirst()"; 0x0041c1f1 mov esi, 0xe2c | esi = 0xe2c; 0x0041c1f6 xor eax, eax | eax = 0; 0x0041c1f8 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c1fd mov eax, dword [rip + 0x265551] | eax = (anonymous namespace)::testStatus; 0x0041c203 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c206 ja 0x41c210 | goto label_7; | } 0x0041c208 inc eax | eax++; 0x0041c20a mov dword [rip + 0x265544], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_7: 0x0041c210 mov rdi, rbp | 0x0041c213 call 0x402d00 | rax = strlen (rbp); 0x0041c218 add rax, rbp | rax += rbp; 0x0041c21b cmp rax, qword [rsp + 0x10] | | if (rax != *((rsp + 0x10))) { 0x0041c220 je 0x41c24b | 0x0041c222 mov edi, 0x465243 | 0x0041c227 mov edx, 0x4668e2 | edx = "NEEDLE + BSL::strlen(NEEDLE) == Z.needleLast()"; 0x0041c22c mov esi, 0xe2d | esi = 0xe2d; 0x0041c231 xor eax, eax | eax = 0; 0x0041c233 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c238 mov eax, dword [rip + 0x265516] | eax = (anonymous namespace)::testStatus; 0x0041c23e cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c241 ja 0x41c24b | goto label_8; | } 0x0041c243 inc eax | eax++; 0x0041c245 mov dword [rip + 0x265509], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_8: 0x0041c24b mov rdi, r13 | 0x0041c24e call 0x402d00 | strlen (r13); 0x0041c253 lea rdx, [rax + r13] | 0x0041c257 mov rdi, r12 | 0x0041c25a mov rsi, r13 | 0x0041c25d call 0x41cf70 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r12, r13, rax + r13); 0x0041c262 mov r12, rax | r12 = rax; 0x0041c265 mov rsi, qword [rsp + 0x130] | rsi = *((rsp + 0x130)); 0x0041c26d mov rax, qword [rsp + 0x140] | rax = *((rsp + 0x140)); 0x0041c275 mov rax, qword [rsp + 0x150] | rax = *((rsp + 0x150)); 0x0041c27d mov rcx, qword [rsp + 0x3a0] | rcx = *((rsp + 0x3a0)); 0x0041c285 mov rax, qword [rsp + 0x3b0] | rax = *((rsp + 0x3b0)); 0x0041c28d mov rax, qword [rsp + 0x3c0] | rax = *((rsp + 0x3c0)); 0x0041c295 mov rax, qword [rsp + 0x200] | rax = *((rsp + 0x200)); 0x0041c29d mov rax, qword [rsp + 0x210] | rax = *((rsp + 0x210)); 0x0041c2a5 mov rax, qword [rsp + 0x220] | rax = *((rsp + 0x220)); 0x0041c2ad mov rbp, qword [rsp + 0x2d0] | rbp = *((rsp + 0x2d0)); 0x0041c2b5 mov rax, qword [rsp + 0x2e0] | rax = *((rsp + 0x2e0)); 0x0041c2bd mov rax, qword [rsp + 0x2f0] | rax = *((rsp + 0x2f0)); 0x0041c2c5 lea eax, [rbx - 0x61] | eax = rbx - 0x61; 0x0041c2c8 cmp eax, 3 | 0x0041c2cb mov byte [rsp + 7], r14b | *((rsp + 7)) = r14b; 0x0041c2d0 mov qword [rsp + 0x90], rbx | *((rsp + 0x90)) = rbx; | if (eax > 3) { 0x0041c2d8 ja 0x41c97b | goto label_9; | } 0x0041c2de mov qword [rsp + 0xc8], rdx | *((rsp + 0xc8)) = rdx; 0x0041c2e6 mov qword [rsp + 0xd0], rsi | *((rsp + 0xd0)) = rsi; 0x0041c2ee mov qword [rsp + 0xd8], rcx | *((rsp + 0xd8)) = rcx; 0x0041c2f6 mov qword [rsp + 0xe0], rbp | *((rsp + 0xe0)) = rbp; | /* switch table (4 cases) at 0x449a60 */ 0x0041c2fe jmp qword [rax*8 + 0x449a60] | 0x0041c305 mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c30d mov esi, 0x80 | esi = 0x80; 0x0041c312 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c31a call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c31d mov r15, rax | r15 = rax; 0x0041c320 mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c325 mov qword [r15], rax | *(r15) = rax; 0x0041c328 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c32d mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c331 mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c336 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c33a mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c33f mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c343 mov rax, qword [rsp + 0x38] | rax = *((rsp + 0x38)); 0x0041c348 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0041c34b movups xmmword [r15 + 0x20], xmm0 | __asm ("movups xmmword [r15 + 0x20], xmm0"); 0x0041c350 mov qword [r15 + 0x30], rax | *((r15 + 0x30)) = rax; 0x0041c354 mov rbp, r15 | 0x0041c357 add rbp, 0x38 | rbp += 0x38; 0x0041c35b movups xmmword [r15 + 0x38], xmm0 | __asm ("movups xmmword [r15 + 0x38], xmm0"); 0x0041c360 mov dword [r15 + 0x48], 1 | *((r15 + 0x48)) = 1; 0x0041c368 call 0x421af0 | rax = BloombergLP::bslstl::HashTable_ImpDetails::defaultBucketAddress() (); 0x0041c36d mov qword [r15 + 0x50], rax | *((r15 + 0x50)) = rax; 0x0041c371 mov qword [r15 + 0x58], 1 | *((r15 + 0x58)) = 1; 0x0041c379 xorps xmm1, xmm1 | __asm ("xorps xmm1, xmm1"); 0x0041c37c movups xmmword [r15 + 0x60], xmm1 | __asm ("movups xmmword [r15 + 0x60], xmm1"); 0x0041c381 mov qword [r15 + 0x70], 0 | *((r15 + 0x70)) = 0; 0x0041c389 mov dword [r15 + 0x78], 0x3f800000 | *((r15 + 0x78)) = 0x3f800000; 0x0041c391 mov rax, qword [rsp + 0x28] | rax = *((rsp + 0x28)); 0x0041c396 movups xmm0, xmmword [r15 + 0x20] | __asm ("movups xmm0, xmmword [r15 + 0x20]"); 0x0041c39b mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041c39f mov rax, qword [rsp + 0x30] | rax = *((rsp + 0x30)); 0x0041c3a4 mov qword [r15 + 0x28], rax | *((r15 + 0x28)) = rax; 0x0041c3a8 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x0041c3ad mov eax, dword [r15 + 0x48] | eax = *((r15 + 0x48)); 0x0041c3b1 mov ecx, dword [rsp + 0x50] | ecx = *((rsp + 0x50)); 0x0041c3b5 mov dword [r15 + 0x48], ecx | *((r15 + 0x48)) = ecx; 0x0041c3b9 mov dword [rsp + 0x50], eax | *((rsp + 0x50)) = eax; 0x0041c3bd mov rax, qword [r15 + 0x40] | rax = *((r15 + 0x40)); 0x0041c3c1 mov rcx, qword [rsp + 0x48] | rcx = *((rsp + 0x48)); 0x0041c3c6 mov qword [r15 + 0x40], rcx | *((r15 + 0x40)) = rcx; 0x0041c3ca mov qword [rsp + 0x48], rax | *((rsp + 0x48)) = rax; 0x0041c3cf mov rax, qword [r15 + 0x38] | rax = *((r15 + 0x38)); 0x0041c3d3 mov rcx, qword [rsp + 0x40] | rcx = *((rsp + 0x40)); 0x0041c3d8 mov qword [r15 + 0x38], rcx | *((r15 + 0x38)) = rcx; 0x0041c3dc mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0041c3e1 mov rax, qword [r15 + 0x60] | rax = *((r15 + 0x60)); 0x0041c3e5 mov qword [rsp + 0xb0], rax | *((rsp + 0xb0)) = rax; 0x0041c3ed movups xmm0, xmmword [r15 + 0x50] | __asm ("movups xmm0, xmmword [r15 + 0x50]"); 0x0041c3f2 movaps xmmword [rsp + 0xa0], xmm0 | *((rsp + 0xa0)) = xmm0; 0x0041c3fa lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0041c3ff mov rax, qword [rcx + 0x48] | rax = *((rcx + 0x48)); 0x0041c403 mov qword [r15 + 0x60], rax | *((r15 + 0x60)) = rax; 0x0041c407 movups xmm0, xmmword [rcx + 0x38] | __asm ("movups xmm0, xmmword [rcx + 0x38]"); 0x0041c40b movups xmmword [r15 + 0x50], xmm0 | __asm ("movups xmmword [r15 + 0x50], xmm0"); 0x0041c410 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x0041c418 mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041c41c movaps xmm0, xmmword [rsp + 0xa0] | xmm0 = *((rsp + 0xa0)); 0x0041c424 movups xmmword [rcx + 0x38], xmm0 | __asm ("movups xmmword [rcx + 0x38], xmm0"); 0x0041c428 mov rax, qword [rsp + 0x70] | rax = *((rsp + 0x70)); 0x0041c42d mov qword [r15 + 0x68], rax | *((r15 + 0x68)) = rax; 0x0041c431 mov rax, qword [rsp + 0x78] | rax = *((rsp + 0x78)); 0x0041c436 mov qword [r15 + 0x70], rax | *((r15 + 0x70)) = rax; 0x0041c43a movups xmmword [rsp + 0x70], xmm1 | __asm ("movups xmmword [rsp + 0x70], xmm1"); 0x0041c43f movss xmm0, dword [rsp + 0x80] | xmm0 = *((rsp + 0x80)); 0x0041c448 movss dword [r15 + 0x78], xmm0 | *((r15 + 0x78)) = xmm0; 0x0041c44e mov dword [rsp + 0x80], 0x3f800000 | *((rsp + 0x80)) = 0x3f800000; 0x0041c459 mov rax, qword [r15] | rax = *(r15); 0x0041c45c mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041c461 mov rax, qword [r15] | rax = *(r15); 0x0041c464 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0041c469 mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0041c472 lea rbp, [rsp + 0x1b8] | rbp = rsp + 0x1b8; 0x0041c47a cmp dword [r15 + 0x20], 0 | | if (*((r15 + 0x20)) == 0) { 0x0041c47f jne 0x41c637 | 0x0041c485 jmp 0x41c660 | goto label_10; 0x0041c48a mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c492 mov esi, 0x80 | esi = 0x80; 0x0041c497 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c49f call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c4a2 mov r15, rax | r15 = rax; 0x0041c4a5 mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c4aa mov qword [r15], rax | *(r15) = rax; 0x0041c4ad mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c4b2 mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c4b6 mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c4bb mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c4bf mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c4c4 mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c4c8 lea rax, [rsp + 0x1b8] | rax = rsp + 0x1b8; 0x0041c4d0 mov qword [rsp + 0xa0], rax | *((rsp + 0xa0)) = rax; 0x0041c4d8 mov rdi, r15 | 0x0041c4db add rdi, 0x20 | rdi += 0x20; 0x0041c4df lea rsi, [rsp + 0x28] | 0x0041c4e4 lea rdx, [rsp + 0xa0] | 0x0041c4ec call 0x420860 | BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>::HashTable(BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>&&,bsl::allocator>const&) (r15, rsp + 0x28, rsp + 0xa0); 0x0041c4f1 jmp 0x41c55a | goto label_11; 0x0041c4f3 mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c4fb mov esi, 0x80 | esi = 0x80; 0x0041c500 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c508 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c50b mov r15, rax | r15 = rax; 0x0041c50e mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c513 mov qword [r15], rax | *(r15) = rax; 0x0041c516 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c51b mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c51f mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c524 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c528 mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c52d mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c531 lea rax, [rsp + 0x288] | rax = rsp + 0x288; 0x0041c539 mov qword [rsp + 0xa0], rax | *((rsp + 0xa0)) = rax; 0x0041c541 mov rdi, r15 | 0x0041c544 add rdi, 0x20 | rdi += 0x20; 0x0041c548 lea rsi, [rsp + 0x28] | 0x0041c54d lea rdx, [rsp + 0xa0] | 0x0041c555 call 0x420860 | BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>::HashTable(BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>&&,bsl::allocator>const&) (r15, rsp + 0x28, rsp + 0xa0); | label_11: 0x0041c55a mov rax, qword [r15] | rax = *(r15); 0x0041c55d mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041c562 mov rax, qword [r15] | rax = *(r15); 0x0041c565 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0041c56a mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0041c573 cmp dword [rsp + 0x90], 0x63 | 0x0041c57b lea rbp, [rsp + 0x288] | rbp = rsp + 0x288; 0x0041c583 lea rax, [rsp + 0x1b8] | rax = rsp + 0x1b8; | if (*((rsp + 0x90)) == 0x63) { 0x0041c58b cmove rbp, rax | | } 0x0041c58f cmp dword [r15 + 0x20], 0 | | if (*((r15 + 0x20)) != 0) { 0x0041c594 jne 0x41c637 | goto label_12; | } 0x0041c59a jmp 0x41c660 | goto label_10; 0x0041c59f mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c5a7 mov esi, 0x80 | esi = 0x80; 0x0041c5ac lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c5b4 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c5b7 mov r15, rax | r15 = rax; 0x0041c5ba mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c5bf mov qword [r15], rax | *(r15) = rax; 0x0041c5c2 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c5c7 mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c5cb mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c5d0 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c5d4 mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c5d9 mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c5dd mov rax, qword [rip + 0x26532c] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0041c5e4 test rax, rax | | if (rax == 0) { 0x0041c5e7 jne 0x41c5ee | 0x0041c5e9 call 0x445de0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0041c5ee mov qword [rsp + 0xa0], rax | *((rsp + 0xa0)) = rax; 0x0041c5f6 mov rdi, r15 | 0x0041c5f9 add rdi, 0x20 | rdi += 0x20; 0x0041c5fd lea rsi, [rsp + 0x28] | 0x0041c602 lea rdx, [rsp + 0xa0] | 0x0041c60a call 0x420860 | BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>::HashTable(BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>&&,bsl::allocator>const&) (r15, rsp + 0x28, rsp + 0xa0); 0x0041c60f mov rax, qword [r15] | rax = *(r15); 0x0041c612 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041c617 mov rax, qword [r15] | rax = *(r15); 0x0041c61a mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0041c61f mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0041c628 lea rbp, [rsp + 0x358] | rbp = rsp + 0x358; 0x0041c630 cmp dword [r15 + 0x20], 0 | | if (*((r15 + 0x20)) == 0) { 0x0041c635 je 0x41c660 | goto label_10; | } | } | label_12: 0x0041c637 mov edi, 0x465243 | 0x0041c63c mov edx, 0x466911 | edx = "(CompareFunctors().areEqual( HASH(), X.hash()))"; 0x0041c641 mov esi, 0xe55 | esi = 0xe55; 0x0041c646 xor eax, eax | eax = 0; 0x0041c648 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c64d mov eax, dword [rip + 0x265101] | eax = (anonymous namespace)::testStatus; 0x0041c653 cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c656 ja 0x41c660 | 0x0041c658 inc eax | eax++; 0x0041c65a mov dword [rip + 0x2650f4], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_10: 0x0041c660 cmp dword [r15 + 0x28], 0 | | if (*((r15 + 0x28)) != 0) { 0x0041c665 je 0x41c690 | 0x0041c667 mov edi, 0x465243 | 0x0041c66c mov edx, 0x466960 | edx = "(CompareFunctors().areEqual( EQUAL(), X.equal()))"; 0x0041c671 mov esi, 0xe59 | esi = 0xe59; 0x0041c676 xor eax, eax | eax = 0; 0x0041c678 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c67d mov eax, dword [rip + 0x2650d1] | eax = (anonymous namespace)::testStatus; 0x0041c683 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c686 ja 0x41c690 | goto label_13; | } 0x0041c688 inc eax | eax++; 0x0041c68a mov dword [rip + 0x2650c4], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_13: 0x0041c690 cmp rbp, qword [r15 + 0x30] | | if (rbp != *((r15 + 0x30))) { 0x0041c694 je 0x41c6bf | 0x0041c696 mov edi, 0x465243 | 0x0041c69b mov edx, 0x4669b2 | edx = "&oa == X.allocator()"; 0x0041c6a0 mov esi, 0xe5a | esi = 0xe5a; 0x0041c6a5 xor eax, eax | eax = 0; 0x0041c6a7 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c6ac mov eax, dword [rip + 0x2650a2] | eax = (anonymous namespace)::testStatus; 0x0041c6b2 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c6b5 ja 0x41c6bf | goto label_14; | } 0x0041c6b7 inc eax | eax++; 0x0041c6b9 mov dword [rip + 0x265095], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_14: 0x0041c6bf mov rdi, r13 | 0x0041c6c2 call 0x402d00 | strlen (r13); 0x0041c6c7 lea rdx, [rax + r13] | 0x0041c6cb mov rdi, r15 | 0x0041c6ce mov rsi, r13 | 0x0041c6d1 call 0x41cf70 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r15, r13, rax + r13); 0x0041c6d6 mov r14, rax | r14 = rax; 0x0041c6d9 mov rbp, rdx | 0x0041c6dc cmp r12, rax | | if (r12 == rax) { 0x0041c6df jne 0x41c6eb | 0x0041c6e1 cmp qword [rsp + 0xc8], rbp | | if (*((rsp + 0xc8)) == rbp) { 0x0041c6e9 je 0x41c714 | goto label_15; | } | } 0x0041c6eb mov edi, 0x465243 | 0x0041c6f0 mov edx, 0x4648c3 | edx = "resultZ == resultX"; 0x0041c6f5 mov esi, 0xe5f | esi = 0xe5f; 0x0041c6fa xor eax, eax | eax = 0; 0x0041c6fc call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c701 mov eax, dword [rip + 0x26504d] | eax = (anonymous namespace)::testStatus; 0x0041c707 cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c70a ja 0x41c714 | 0x0041c70c inc eax | eax++; 0x0041c70e mov dword [rip + 0x265040], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_15: 0x0041c714 mov rax, qword [rsp + 0x98] | rax = *((rsp + 0x98)); 0x0041c71c cmp rax, qword [rsp + 8] | | if (rax != *((rsp + 8))) { 0x0041c721 je 0x41c74c | 0x0041c723 mov edi, 0x465243 | 0x0041c728 mov edx, 0x4668c8 | edx = "NEEDLE == Z.needleFirst()"; 0x0041c72d mov esi, 0xe64 | esi = 0xe64; 0x0041c732 xor eax, eax | eax = 0; 0x0041c734 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c739 mov eax, dword [rip + 0x265015] | eax = (anonymous namespace)::testStatus; 0x0041c73f cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c742 ja 0x41c74c | goto label_16; | } 0x0041c744 inc eax | eax++; 0x0041c746 mov dword [rip + 0x265008], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_16: 0x0041c74c mov rax, qword [rsp + 0x98] | rax = *((rsp + 0x98)); 0x0041c754 cmp rax, qword [rsp + 0x10] | 0x0041c759 lea r12, [rsp + 8] | r12 = rsp + 8; | if (rax != *((rsp + 0x10))) { 0x0041c75e je 0x41c789 | 0x0041c760 mov edi, 0x465243 | 0x0041c765 mov edx, 0x4669c7 | edx = "NEEDLE == Z.needleLast()"; 0x0041c76a mov esi, 0xe65 | esi = 0xe65; 0x0041c76f xor eax, eax | eax = 0; 0x0041c771 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c776 mov eax, dword [rip + 0x264fd8] | eax = (anonymous namespace)::testStatus; 0x0041c77c cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c77f ja 0x41c789 | goto label_17; | } 0x0041c781 inc eax | eax++; 0x0041c783 mov dword [rip + 0x264fcb], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_17: 0x0041c789 mov rdi, r13 | 0x0041c78c call 0x402d00 | strlen (r13); 0x0041c791 lea rdx, [rax + r13] | 0x0041c795 mov rdi, r12 | 0x0041c798 mov rsi, r13 | 0x0041c79b call 0x41cf70 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r12, r13, rax + r13); 0x0041c7a0 cmp r13, rax | | if (r13 == rax) { 0x0041c7a3 jne 0x41c7aa | 0x0041c7a5 cmp r13, rdx | | if (r13 == rdx) { 0x0041c7a8 je 0x41c7d3 | goto label_18; | } | } 0x0041c7aa mov edi, 0x465243 | 0x0041c7af mov edx, 0x4669e0 | edx = "expected == resultZafter"; 0x0041c7b4 mov esi, 0xe6c | esi = 0xe6c; 0x0041c7b9 xor eax, eax | eax = 0; 0x0041c7bb call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c7c0 mov eax, dword [rip + 0x264f8e] | eax = (anonymous namespace)::testStatus; 0x0041c7c6 cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c7c9 ja 0x41c7d3 | 0x0041c7cb inc eax | eax++; 0x0041c7cd mov dword [rip + 0x264f81], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_18: 0x0041c7d3 mov rdi, r12 | 0x0041c7d6 mov rsi, r15 | 0x0041c7d9 call 0x41d0c0 | BloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator=(BloombergLP::bslstl::BoyerMooreHorspoolSearcherconst&) (r12, r15); 0x0041c7de mov rdi, r13 | 0x0041c7e1 call 0x402d00 | strlen (r13); 0x0041c7e6 lea rdx, [rax + r13] | 0x0041c7ea mov rdi, r12 | 0x0041c7ed mov rsi, r13 | 0x0041c7f0 call 0x41cf70 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r12, r13, rax + r13); 0x0041c7f5 cmp r14, rax | | if (r14 == rax) { 0x0041c7f8 jne 0x41c7ff | 0x0041c7fa cmp rbp, rdx | | if (rbp == rdx) { 0x0041c7fd je 0x41c828 | goto label_19; | } | } 0x0041c7ff mov edi, 0x465243 | 0x0041c804 mov edx, 0x4669f9 | edx = "resultX == resultZrestored"; 0x0041c809 mov esi, 0xe73 | esi = 0xe73; 0x0041c80e xor eax, eax | eax = 0; 0x0041c810 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c815 mov eax, dword [rip + 0x264f39] | eax = (anonymous namespace)::testStatus; 0x0041c81b cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c81e ja 0x41c828 | 0x0041c820 inc eax | eax++; 0x0041c822 mov dword [rip + 0x264f2c], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_19: 0x0041c828 mov rax, qword [r15 + 0x60] | rax = *((r15 + 0x60)); 0x0041c82c test rax, rax | | if (rax == 0) { 0x0041c82f je 0x41c855 | goto label_20; | } 0x0041c831 mov rcx, qword [r15 + 0x40] | rcx = *((r15 + 0x40)); 0x0041c835 nop word cs:[rax + rax] | 0x0041c83f nop | | do { 0x0041c840 mov rdx, qword [rax] | rdx = *(rax); 0x0041c843 mov qword [rax], rcx | *(rax) = rcx; 0x0041c846 mov qword [r15 + 0x40], rax | *((r15 + 0x40)) = rax; 0x0041c84a mov rcx, rax | rcx = rax; 0x0041c84d mov rax, rdx | rax = rdx; 0x0041c850 test rdx, rdx | 0x0041c853 jne 0x41c840 | | } while (rdx != 0); | label_20: 0x0041c855 lea r14, [r15 + 0x20] | r14 = r15 + 0x20; 0x0041c859 mov rbx, qword [r15 + 0x30] | rbx = *((r15 + 0x30)); 0x0041c85d mov rbp, qword [r15 + 0x50] | rbp = *((r15 + 0x50)); 0x0041c861 call 0x421af0 | rax = BloombergLP::bslstl::HashTable_ImpDetails::defaultBucketAddress() (); 0x0041c866 cmp rax, rbp | | if (rax == rbp) { 0x0041c869 je 0x41c880 | goto label_21; | } 0x0041c86b mov rax, qword [rbx] | rax = *(rbx); 0x0041c86e mov rdi, rbx | rdi = rbx; 0x0041c871 mov rsi, rbp | rsi = rbp; 0x0041c874 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041c877 nop word [rax + rax] | | do { | label_21: 0x0041c880 mov rsi, qword [r15 + 0x38] | rsi = *((r15 + 0x38)); 0x0041c884 test rsi, rsi | | if (rsi == 0) { 0x0041c887 je 0x41c8a0 | goto label_22; | } 0x0041c889 mov rax, qword [rsi] | rax = *(rsi); 0x0041c88c mov qword [r15 + 0x38], rax | *((r15 + 0x38)) = rax; 0x0041c890 mov rdi, qword [r15 + 0x30] | rdi = *((r15 + 0x30)); 0x0041c894 mov rax, qword [rdi] | rax = *(rdi); 0x0041c897 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041c89a jmp 0x41c880 | | } while (1); | label_22: 0x0041c8a0 mov qword [r15 + 0x40], 0 | *((r15 + 0x40)) = 0; 0x0041c8a8 mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c8b0 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c8b8 mov rsi, r15 | rsi = r15; 0x0041c8bb call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041c8be mov rax, qword [rsp + 0x130] | rax = *((rsp + 0x130)); 0x0041c8c6 cmp rax, qword [rsp + 0xd0] | | if (rax != *((rsp + 0xd0))) { 0x0041c8ce je 0x41c8f9 | 0x0041c8d0 mov edi, 0x465243 | 0x0041c8d5 mov edx, 0x466a14 | edx = "0 == fam.numBlocksInUseChange()"; 0x0041c8da mov esi, 0xe77 | esi = 0xe77; 0x0041c8df xor eax, eax | eax = 0; 0x0041c8e1 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c8e6 mov eax, dword [rip + 0x264e68] | eax = (anonymous namespace)::testStatus; 0x0041c8ec cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c8ef ja 0x41c8f9 | goto label_23; | } 0x0041c8f1 inc eax | eax++; 0x0041c8f3 mov dword [rip + 0x264e5b], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_23: 0x0041c8f9 mov rax, qword [rsp + 0x3a0] | rax = *((rsp + 0x3a0)); 0x0041c901 cmp rax, qword [rsp + 0xd8] | 0x0041c909 mov rbx, qword [rsp + 0xe0] | rbx = *((rsp + 0xe0)); | if (rax != *((rsp + 0xd8))) { 0x0041c911 je 0x41c93c | 0x0041c913 mov edi, 0x465243 | 0x0041c918 mov edx, 0x466a34 | edx = "0 == dam.numBlocksInUseChange()"; 0x0041c91d mov esi, 0xe78 | esi = 0xe78; 0x0041c922 xor eax, eax | eax = 0; 0x0041c924 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c929 mov eax, dword [rip + 0x264e25] | eax = (anonymous namespace)::testStatus; 0x0041c92f cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c932 ja 0x41c93c | goto label_24; | } 0x0041c934 inc eax | eax++; 0x0041c936 mov dword [rip + 0x264e18], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_24: 0x0041c93c mov rax, qword [rsp + 0x2d0] | rax = *((rsp + 0x2d0)); 0x0041c944 mov r14b, 1 | r14b = 1; 0x0041c947 cmp rax, rbx | | if (rax != rbx) { 0x0041c94a je 0x41c9e0 | 0x0041c950 mov edi, 0x465243 | 0x0041c955 mov edx, 0x466a54 | edx = "0 == zam.numBlocksInUseChange()"; 0x0041c95a mov esi, 0xe79 | esi = 0xe79; 0x0041c95f xor eax, eax | eax = 0; 0x0041c961 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c966 mov eax, dword [rip + 0x264de8] | eax = (anonymous namespace)::testStatus; 0x0041c96c cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c96f ja 0x41c9e0 | goto label_25; | } 0x0041c971 inc eax | eax++; 0x0041c973 mov dword [rip + 0x264ddb], eax | *(obj._anonymous_namespace_::testStatus) = eax; 0x0041c979 jmp 0x41c9e0 | goto label_25; | label_9: 0x0041c97b mov edi, 0x464ea7 | 0x0041c980 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("CONFIG: "); 0x0041c985 movsx edi, byte [rsp + 0x90] | edi = *((rsp + 0x90)); 0x0041c98d call 0x448ad0 | BloombergLP::bsls::debugprint(char) (rdi); 0x0041c992 mov edi, 0x466484 | 0x0041c997 call 0x448a80 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x466484); 0x0041c99c call 0x448a70 | eax = BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c9a1 xor r14d, r14d | r14d = 0; 0x0041c9a4 mov edi, 0x465243 | 0x0041c9a9 mov edx, 0x464525 | edx = "!\"Bad allocator config.\"; 0x0041c9ae mov esi, 0xe47 | esi = 0xe47; 0x0041c9b3 xor eax, eax | eax = 0; 0x0041c9b5 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c9ba mov eax, dword [rip + 0x264d94] | eax = (anonymous namespace)::testStatus; 0x0041c9c0 cmp eax, 0x64 | 0x0041c9c3 lea r12, [rsp + 8] | r12 = rsp + 8; | if (eax > 0x64) { 0x0041c9c8 ja 0x41c9e0 | goto label_25; | } 0x0041c9ca inc eax | eax++; 0x0041c9cc mov dword [rip + 0x264d82], eax | *(obj._anonymous_namespace_::testStatus) = eax; 0x0041c9d2 xor r14d, r14d | r14d = 0; 0x0041c9d5 nop word cs:[rax + rax] | 0x0041c9df nop | | } | label_25: 0x0041c9e0 mov rax, qword [rsp + 0x68] | rax = *((rsp + 0x68)); 0x0041c9e5 test rax, rax | | if (rax == 0) { 0x0041c9e8 je 0x41ca06 | goto label_26; | } 0x0041c9ea mov rcx, qword [rsp + 0x48] | rcx = *((rsp + 0x48)); 0x0041c9ef nop | | do { 0x0041c9f0 mov rdx, qword [rax] | rdx = *(rax); 0x0041c9f3 mov qword [rax], rcx | *(rax) = rcx; 0x0041c9f6 mov qword [rsp + 0x48], rax | *((rsp + 0x48)) = rax; 0x0041c9fb mov rcx, rax | rcx = rax; 0x0041c9fe mov rax, rdx | rax = rdx; 0x0041ca01 test rdx, rdx | 0x0041ca04 jne 0x41c9f0 | | } while (rdx != 0); | label_26: 0x0041ca06 mov rbp, qword [rsp + 0x38] | rbp = *((rsp + 0x38)); 0x0041ca0b mov rbx, qword [rsp + 0x58] | rbx = *((rsp + 0x58)); 0x0041ca10 call 0x421af0 | rax = BloombergLP::bslstl::HashTable_ImpDetails::defaultBucketAddress() (); 0x0041ca15 cmp rax, rbx | | if (rax != rbx) { 0x0041ca18 je 0x41ca27 | 0x0041ca1a mov rax, qword [rbp] | rax = *(rbp); 0x0041ca1e mov rdi, rbp | rdi = rbp; 0x0041ca21 mov rsi, rbx | rsi = rbx; 0x0041ca24 call qword [rax + 0x18] | rax = uint64_t (*rax + 0x18)() (); | } 0x0041ca27 mov rsi, qword [rsp + 0x40] | rsi = *((rsp + 0x40)); 0x0041ca2c test rsi, rsi | 0x0041ca2f mov rbx, qword [rsp + 0x90] | rbx = *((rsp + 0x90)); | if (rsi == 0) { 0x0041ca37 je 0x41ca5d | goto label_27; | } 0x0041ca39 nop dword [rax] | | do { 0x0041ca40 mov rax, qword [rsi] | rax = *(rsi); 0x0041ca43 mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0041ca48 mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x0041ca4d mov rax, qword [rdi] | rax = *(rdi); 0x0041ca50 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041ca53 mov rsi, qword [rsp + 0x40] | rsi = *((rsp + 0x40)); 0x0041ca58 test rsi, rsi | 0x0041ca5b jne 0x41ca40 | | } while (rsi != 0); | label_27: 0x0041ca5d test r14b, r14b | | if (r14b == 0) { 0x0041ca60 je 0x41ca90 | goto label_28; | } 0x0041ca62 cmp ebx, 0x64 | 0x0041ca65 lea eax, [rbx + 1] | eax = rbx + 1; 0x0041ca68 setb r14b | r14b = (ebx < 0x64) ? 1 : 0; 0x0041ca6c mov ebx, eax | ebx = eax; 0x0041ca6e cmp eax, 0x65 | 0x0041ca71 mov rbp, qword [rsp + 0x98] | rbp = *((rsp + 0x98)); | if (eax != 0x65) { 0x0041ca79 jne 0x41c180 | goto label_0; | } 0x0041ca7f jmp 0x41ca97 | goto label_29; | label_28: 0x0041ca90 test byte [rsp + 7], 1 | | if ((*((rsp + 7)) & 1) != 0) { 0x0041ca95 jne 0x41cada | goto label_6; | } | label_29: 0x0041ca97 mov rax, qword [rsp + 0x200] | rax = *((rsp + 0x200)); 0x0041ca9f test rax, rax | | if (rax == 0) { 0x0041caa2 je 0x41c0c0 | goto label_1; | } 0x0041caa8 mov edi, 0x465243 | 0x0041caad mov edx, 0x464703 | edx = "0 == sa.numBlocksInUse()"; 0x0041cab2 mov esi, 0xe7c | esi = 0xe7c; 0x0041cab7 xor eax, eax | eax = 0; 0x0041cab9 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-none/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041cabe mov eax, dword [rip + 0x264c90] | eax = (anonymous namespace)::testStatus; 0x0041cac4 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041cac7 ja 0x41c0c0 | goto label_1; | } 0x0041cacd inc eax | eax++; 0x0041cacf mov dword [rip + 0x264c7f], eax | *(obj._anonymous_namespace_::testStatus) = eax; 0x0041cad5 jmp 0x41c0c0 | goto label_1; | label_6: 0x0041cada lea rdi, [rsp + 0xc0] | 0x0041cae2 call 0x445e90 | BloombergLP::bslma::DefaultAllocatorGuard::~DefaultAllocatorGuard() (rsp + 0xc0); 0x0041cae7 lea rdi, [rsp + 0x288] | 0x0041caef call 0x446300 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0x288); 0x0041caf4 lea rdi, [rsp + 0x1b8] | 0x0041cafc call 0x446300 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0x1b8); 0x0041cb01 lea rdi, [rsp + 0x358] | 0x0041cb09 call 0x446300 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0x358); 0x0041cb0e lea rdi, [rsp + 0xe8] | 0x0041cb16 call 0x446300 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0xe8); 0x0041cb1b add rsp, 0x428 | 0x0041cb22 pop rbx | 0x0041cb23 pop r12 | 0x0041cb25 pop r13 | 0x0041cb27 pop r14 | 0x0041cb29 pop r15 | 0x0041cb2b pop rbp | 0x0041cb2c ret | return rax; | }