Untitled diff
65 lines
# GCC main
#clang main
<+0>: stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
<+0>: stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr}
<+4>: movs r0, #24
<+4>: mov r0, sp
<+6>: sub sp, #20
<+6>: bl 0x6268 <base::MakeUnique<base::trace_event::TracedValue>()>
<+8>: bl 0x91a8 <operator new(unsigned int)>
<+10>: ldr.w r8, [pc, #136] ; 0x6254 <main()+148>
<+12>: movs r5, #0
<+14>: movs r4, #0
<+14>: mov r4, r0
<+16>: ldr.w r9, [pc, #132] ; 0x6258 <main()+152>
<+16>: bl 0x7730 <base::trace_event::TracedValue::TracedValue()>
<+20>: movw r11, #10000 ; 0x2710
<+20>: ldr r3, [pc, #132] ; (0x377c <main()+156>)
<+24>: ldr.w r10, [pc, #128] ; 0x625c <main()+156>
<+22>: ldr.w r8, [pc, #136] ; 0x3780 <main()+160>
<+28>: add r8, pc
<+26>: ldr.w r9, [pc, #136] ; 0x3784 <main()+164>
<+30>: ldr r5, [pc, #128] ; (0x6260 <main()+160>)
<+30>: ldr.w r10, [pc, #136] ; 0x3788 <main()+168>
<+32>: add r9, pc
<+34>: ldr.w r11, [pc, #136] ; 0x378c <main()+172>
<+34>: ldr r6, [pc, #128] ; (0x6264 <main()+164>)
<+38>: add r3, pc
<+36>: add r10, pc
<+40>: str r3, [sp, #4]
<+38>: add r5, pc
<+42>: add r8, pc
<+40>: add r6, pc
<+44>: add r9, pc
<+42>: b.n 0x6234 <main()+116>
<+46>: add r10, pc
<+44>: mov r0, r7
<+48>: add r11, pc
<+46>: mov r1, r8
<+50>: mov r2, r5
<+48>: mov r2, r4
<+52>: mov r0, r4
<+50>: bl 0x14f88 <base::trace_event::TracedValue::SetInteger(char const*, int)>
<+54>: ldr r1, [sp, #4]
<+54>: ldr r0, [sp, #0]
<+56>: bl 0x774c <base::trace_event::TracedValue::SetInteger(char const*, int)>
<+56>: mov r1, r9
<+60>: mov r0, r4
<+58>: bl 0x15018 <base::trace_event::TracedValue::BeginDictionary(char const*)>
<+62>: mov r1, r8
<+62>: ldr r0, [sp, #0]
<+64>: bl 0x77dc <base::trace_event::TracedValue::BeginDictionary(char const*)>
<+64>: mov r1, r10
<+68>: mov r0, r4
<+66>: bl 0x15064 <base::trace_event::TracedValue::BeginArray(char const*)>
<+70>: mov r1, r9
<+70>: movs r7, #10
<+72>: bl 0x7818 <base::trace_event::TracedValue::BeginArray(char const*)>
<+72>: b.n 0x6222 <main()+98>
<+76>: movs r6, #10
<+74>: bl 0x150a0 <base::trace_event::TracedValue::BeginDictionary()>
<+78>: add r7, sp, #8
<+78>: ldr r0, [sp, #0]
<+80>: mov r0, r4
<+80>: mov r1, r5
<+82>: bl 0x7864 <base::trace_event::TracedValue::BeginDictionary()>
<+82>: mov r2, r6
<+86>: mov r1, r11
<+84>: movs r3, #3
<+88>: mov r0, r7
<+86>: bl 0x14fd0 <base::trace_event::TracedValue::SetString(char const*, base::BasicStringPiece<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >)>
<+90>: bl 0x5690 <base::BasicStringPiece<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >::BasicStringPiece(char const*)>
<+90>: ldr r0, [sp, #0]
<+94>: ldmia.w r7, {r2, r3}
<+92>: bl 0x15054 <base::trace_event::TracedValue::EndDictionary()>
<+98>: mov r0, r4
<+96>: subs r7, #1
<+100>: mov r1, r10
<+98>: ldr r0, [sp, #0]
<+102>: bl 0x7794 <base::trace_event::TracedValue::SetString(char const*, base::BasicStringPiece<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >)>
<+100>: cmp r7, #0
<+106>: mov r0, r4
<+102>: bne.n 0x620a <main()+74>
<+108>: bl 0x7854 <base::trace_event::TracedValue::EndDictionary()>
<+104>: bl 0x150b0 <base::trace_event::TracedValue::EndArray()>
<+112>: subs r6, #1
<+108>: ldr r0, [sp, #0]
<+114>: bne.n 0x3730 <main()+80>
<+110>: bl 0x15054 <base::trace_event::TracedValue::EndDictionary()>
<+116>: mov r0, r4
<+114>: adds r4, #1
<+118>: bl 0x7874 <base::trace_event::TracedValue::EndArray()>
<+116>: ldr r7, [sp, #0]
<+122>: mov r0, r4
<+118>: cmp r4, r11
<+124>: bl 0x7854 <base::trace_event::TracedValue::EndDictionary()>
<+120>: bne.n 0x61ec <main()+44>
<+128>: movw r3, #10000 ; 0x2710
<+122>: movs r0, #0
<+132>: adds r5, #1
<+124>: cmp r7, #0
<+134>: cmp r5, r3
<+126>: str r0, [sp, #0]
<+136>: bne.n 0x3712 <main()+50>
<+128>: beq.n 0x624a <main()+138>
<+138>: ldr r3, [r4, #0]
<+130>: ldr r0, [r7, #0]
<+140>: mov r0, r4
<+132>: ldr r1, [r0, #4]
<+142>: ldr r3, [r3, #4]
<+134>: mov r0, r7
<+144>: blx r3
<+136>: blx r1
<+146>: mov r0, r4
<+138>: mov r0, r7
<+148>: add sp, #20
<+140>: add sp, #4
<+150>: ldmia.w sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
<+142>: ldmia.w sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
<+154>: nop
<+146>: nop
<+156>: andeq r0, r1, r6, ror r10
<+148>: andeq pc, r2, r0, lsr #8
<+160>: andeq r0, r1, r10, ror r10
<+152>: andeq pc, r2, r4, lsr #8
<+164>: andeq r0, r1, r2, lsl #21
<+156>: andeq pc, r2, r10, lsr #8
<+168>: andeq r0, r1, r10, lsl #21
<+160>: andeq pc, r2, lr, lsr #8
0x0000378c <+172>: andeq r0, r1, r4, lsl #21
<+164>: andeq pc, r2, r2, lsr r4 ; <UNPREDICTABLE>
ler dump.