[mythtv] dynamic_cast generated code
Peter Bennett
pb.mythtv at gmail.com
Mon Jan 27 22:24:58 UTC 2020
Hi Mark
Does this help?
It calls a function __dynamic_cast and puts the result in sp #120 which
must be the location of dce. I can't see what __dynamic_cast is doing.
Peter
_the source_
795 void StandardSettingDialog::customEvent(QEvent *event)
796 {
797 if (event->type() == DialogCompletionEvent::kEventType)
798 {
799 auto dce = dynamic_cast<DialogCompletionEvent*>(event);
800 if (dce == nullptr)
801 return;
_the assembler from -S option_
.text
.globl _ZN21StandardSettingDialog11customEventEP6QEvent // --
Begin function _ZN21StandardSettingDialog11customEventEP6QEvent
.p2align 2
.type _ZN21StandardSettingDialog11customEventEP6QEvent, at function
_ZN21StandardSettingDialog11customEventEP6QEvent: //
@_ZN21StandardSettingDialog11customEventEP6QEvent
.Lfunc_begin167:
.loc 68 796 0 is_stmt 1 // standardsettings.cpp:796:0
.cfi_startproc
.cfi_personality 156, DW.ref.__gxx_personality_v0
.cfi_lsda 28, .Lexception51
// %bb.0:
sub sp, sp, #192 // =192
str x30, [sp, #176] // 8-byte Folded Spill
.cfi_def_cfa_offset 192
.cfi_offset w30, -16
mrs x8, TPIDR_EL0
ldr x8, [x8, #40]
str x8, [sp, #168]
str x0, [sp, #136]
str x1, [sp, #128]
ldr x8, [sp, #136]
.Ltmp2139:
.loc 68 797 9 prologue_end // standardsettings.cpp:797:9
ldr x0, [sp, #128]
str x8, [sp, #72] // 8-byte Folded Spill
.loc 68 797 16 is_stmt 0 // standardsettings.cpp:797:16
bl _ZNK6QEvent4typeEv
.loc 68 797 26 // standardsettings.cpp:797:26
adrp x8, :got:_ZN21DialogCompletionEvent10kEventTypeE
ldr x8, [x8, :got_lo12:_ZN21DialogCompletionEvent10kEventTypeE]
ldr w9, [x8]
.Ltmp2140:
.loc 68 797 9 // standardsettings.cpp:797:9
subs w9, w0, w9
b.ne .LBB167_42
b .LBB167_1
.LBB167_1:
.Ltmp2141:
.loc 68 799 57 is_stmt 1 // standardsettings.cpp:799:57
ldr x8, [sp, #128]
mov x0, x8
str x0, [sp, #64] // 8-byte Folded Spill
.loc 68 799 20 is_stmt 0 // standardsettings.cpp:799:20
cbz x8, .LBB167_3
b .LBB167_2
.LBB167_2:
adrp x1, :got:_ZTI6QEvent
ldr x1, [x1, :got_lo12:_ZTI6QEvent]
adrp x2, :got:_ZTI21DialogCompletionEvent
ldr x2, [x2, :got_lo12:_ZTI21DialogCompletionEvent]
mov x0, xzr
ldr x3, [sp, #64] // 8-byte Folded Reload
str x0, [sp, #56] // 8-byte Folded Spill
mov x0, x3
ldr x3, [sp, #56] // 8-byte Folded Reload
bl __dynamic_cast
str x0, [sp, #48] // 8-byte Folded Spill
b .LBB167_4
.LBB167_3:
.loc 68 0 20 // standardsettings.cpp:0:20
mov x0, xzr
str x0, [sp, #48] // 8-byte Folded Spill
.loc 68 799 20 // standardsettings.cpp:799:20
b .LBB167_4
.LBB167_4:
.loc 68 0 20 // standardsettings.cpp:0:20
ldr x8, [sp, #48] // 8-byte Folded Reload
.loc 68 799 14 // standardsettings.cpp:799:14
str x8, [sp, #120]
.Ltmp2142:
.loc 68 800 13 is_stmt 1 // standardsettings.cpp:800:13
ldr x8, [sp, #120]
.Ltmp2143:
.loc 68 800 13 is_stmt 0 // standardsettings.cpp:800:13
cbnz x8, .LBB167_6
b .LBB167_5
.LBB167_5:
.Ltmp2144:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20200127/83f53e90/attachment.htm>
More information about the mythtv-dev
mailing list