Created
June 24, 2015 23:53
-
-
Save teknoman117/0f0741d09c86adba345d to your computer and use it in GitHub Desktop.
MIPS -O3 output for reflectcpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.file 1 "test.cpp" | |
.section .mdebug.abi32 | |
.previous | |
.gnu_attribute 4, 1 | |
.abicalls | |
.option pic0 | |
.section .text._ZN1A3SetEi,"axG",@progbits,_ZN1A3SetEi,comdat | |
.align 2 | |
.weak _ZN1A3SetEi | |
$LFB1762 = . | |
.cfi_startproc | |
.set nomips16 | |
.ent _ZN1A3SetEi | |
.type _ZN1A3SetEi, @function | |
_ZN1A3SetEi: | |
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 | |
.mask 0x00000000,0 | |
.fmask 0x00000000,0 | |
.set noreorder | |
.set nomacro | |
j $31 | |
sw $5,0($4) | |
.set macro | |
.set reorder | |
.end _ZN1A3SetEi | |
.cfi_endproc | |
$LFE1762: | |
.size _ZN1A3SetEi, .-_ZN1A3SetEi | |
.section .text._ZN1A3GetEv,"axG",@progbits,_ZN1A3GetEv,comdat | |
.align 2 | |
.weak _ZN1A3GetEv | |
$LFB1763 = . | |
.cfi_startproc | |
.set nomips16 | |
.ent _ZN1A3GetEv | |
.type _ZN1A3GetEv, @function | |
_ZN1A3GetEv: | |
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 | |
.mask 0x00000000,0 | |
.fmask 0x00000000,0 | |
.set noreorder | |
.set nomacro | |
lw $2,0($4) | |
j $31 | |
nop | |
.set macro | |
.set reorder | |
.end _ZN1A3GetEv | |
.cfi_endproc | |
$LFE1763: | |
.size _ZN1A3GetEv, .-_ZN1A3GetEv | |
.section .text._ZN1A9IncrementEv,"axG",@progbits,_ZN1A9IncrementEv,comdat | |
.align 2 | |
.weak _ZN1A9IncrementEv | |
$LFB1764 = . | |
.cfi_startproc | |
.set nomips16 | |
.ent _ZN1A9IncrementEv | |
.type _ZN1A9IncrementEv, @function | |
_ZN1A9IncrementEv: | |
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 | |
.mask 0x00000000,0 | |
.fmask 0x00000000,0 | |
.set noreorder | |
.set nomacro | |
lw $2,0($4) | |
nop | |
addiu $2,$2,1 | |
j $31 | |
sw $2,0($4) | |
.set macro | |
.set reorder | |
.end _ZN1A9IncrementEv | |
.cfi_endproc | |
$LFE1764: | |
.size _ZN1A9IncrementEv, .-_ZN1A9IncrementEv | |
.section .text._ZN10MethodImplI1AFivEE6InvokeEPv,"axG",@progbits,_ZN10MethodImplI1AFivEE6InvokeEPv,comdat | |
.align 2 | |
.weak _ZN10MethodImplI1AFivEE6InvokeEPv | |
$LFB1834 = . | |
.cfi_startproc | |
.set nomips16 | |
.ent _ZN10MethodImplI1AFivEE6InvokeEPv | |
.type _ZN10MethodImplI1AFivEE6InvokeEPv, @function | |
_ZN10MethodImplI1AFivEE6InvokeEPv: | |
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 | |
.mask 0x00000000,0 | |
.fmask 0x00000000,0 | |
.set noreorder | |
.set nomacro | |
lw $2,4($4) | |
nop | |
andi $3,$2,0x1 | |
beq $3,$0,$L8 | |
sra $2,$2,1 | |
addu $5,$5,$2 | |
lw $3,0($5) | |
lw $2,0($4) | |
nop | |
addu $2,$3,$2 | |
lw $25,0($2) | |
nop | |
jr $25 | |
move $4,$5 | |
$L8: | |
lw $25,0($4) | |
nop | |
jr $25 | |
addu $4,$5,$2 | |
.set macro | |
.set reorder | |
.end _ZN10MethodImplI1AFivEE6InvokeEPv | |
.cfi_endproc | |
$LFE1834: | |
.size _ZN10MethodImplI1AFivEE6InvokeEPv, .-_ZN10MethodImplI1AFivEE6InvokeEPv | |
.section .rodata.str1.4,"aMS",@progbits,1 | |
.align 2 | |
$LC0: | |
.ascii "value: \000" | |
.align 2 | |
$LC1: | |
.ascii "vector too small for function\000" | |
.section .text.startup,"ax",@progbits | |
.align 2 | |
.globl main | |
$LFB1765 = . | |
.cfi_startproc | |
.cfi_personality 0x80,DW.ref.__gxx_personality_v0 | |
.cfi_lsda 0,$LLSDA1765 | |
.set nomips16 | |
.ent main | |
.type main, @function | |
main: | |
.frame $sp,80,$31 # vars= 32, regs= 5/0, args= 16, gp= 8 | |
.mask 0x800f0000,-4 | |
.fmask 0x00000000,0 | |
.set noreorder | |
.set nomacro | |
addiu $sp,$sp,-80 | |
.cfi_def_cfa_offset 80 | |
li $2,7 # 0x7 | |
sw $18,68($sp) | |
sw $17,64($sp) | |
sw $2,40($sp) | |
.cfi_offset 18, -12 | |
.cfi_offset 17, -16 | |
lui $18,%hi(_ZSt4cout) | |
lui $17,%hi($LC0) | |
lui $2,%hi(_ZN1A3GetEv) | |
addiu $4,$18,%lo(_ZSt4cout) | |
addiu $5,$17,%lo($LC0) | |
addiu $2,$2,%lo(_ZN1A3GetEv) | |
sw $31,76($sp) | |
sw $16,60($sp) | |
sw $19,72($sp) | |
.cfi_offset 31, -4 | |
.cfi_offset 16, -20 | |
.cfi_offset 19, -8 | |
sw $2,24($sp) | |
sw $0,28($sp) | |
$LEHB0 = . | |
jal _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
sw $0,36($sp) | |
addiu $4,$sp,24 | |
addiu $5,$sp,36 | |
jal _ZN10MethodImplI1AFivEE6InvokeEPv | |
move $16,$2 | |
move $5,$2 | |
jal _ZNSolsEi | |
move $4,$16 | |
jal _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ | |
move $4,$2 | |
addiu $2,$sp,40 | |
li $4,4 # 0x4 | |
jal _Znwj | |
sw $2,32($sp) | |
$LEHE0 = . | |
beq $2,$0,$L10 | |
move $16,$2 | |
lw $2,32($sp) | |
nop | |
sw $2,0($16) | |
$L10: | |
lw $2,0($16) | |
nop | |
lw $5,0($2) | |
jal _ZN1A3SetEi | |
addiu $4,$sp,36 | |
addiu $4,$18,%lo(_ZSt4cout) | |
$LEHB1 = . | |
jal _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
addiu $5,$17,%lo($LC0) | |
addiu $4,$sp,24 | |
addiu $5,$sp,36 | |
jal _ZN10MethodImplI1AFivEE6InvokeEPv | |
move $19,$2 | |
$L18 = . | |
$L17 = . | |
move $4,$19 | |
jal _ZNSolsEi | |
move $5,$2 | |
jal _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ | |
move $4,$2 | |
jal _ZN1A9IncrementEv | |
addiu $4,$sp,36 | |
addiu $4,$18,%lo(_ZSt4cout) | |
jal _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
addiu $5,$17,%lo($LC0) | |
addiu $4,$sp,24 | |
addiu $5,$sp,36 | |
jal _ZN10MethodImplI1AFivEE6InvokeEPv | |
move $17,$2 | |
move $4,$17 | |
jal _ZNSolsEi | |
move $5,$2 | |
jal _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ | |
move $4,$2 | |
$LEHE1 = . | |
jal _ZdlPv | |
move $4,$16 | |
lw $31,76($sp) | |
lw $19,72($sp) | |
lw $18,68($sp) | |
lw $17,64($sp) | |
lw $16,60($sp) | |
move $2,$0 | |
j $31 | |
addiu $sp,$sp,80 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 0 | |
.cfi_restore 16 | |
.cfi_restore 17 | |
.cfi_restore 18 | |
.cfi_restore 19 | |
.cfi_restore 31 | |
$L16: | |
.cfi_restore_state | |
move $17,$4 | |
jal _ZdlPv | |
move $4,$16 | |
$LEHB2 = . | |
jal _Unwind_Resume | |
move $4,$17 | |
$LEHE2 = . | |
.set macro | |
.set reorder | |
.end main | |
.cfi_endproc | |
$LFE1765: | |
.globl __gxx_personality_v0 | |
.section .gcc_except_table,"a",@progbits | |
$LLSDA1765: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 $LLSDACSE1765-$LLSDACSB1765 | |
$LLSDACSB1765: | |
.uleb128 $LEHB0-$LFB1765 | |
.uleb128 $LEHE0-$LEHB0 | |
.uleb128 0 | |
.uleb128 0 | |
.uleb128 $LEHB1-$LFB1765 | |
.uleb128 $LEHE1-$LEHB1 | |
.uleb128 $L16-$LFB1765 | |
.uleb128 0 | |
.uleb128 $LEHB2-$LFB1765 | |
.uleb128 $LEHE2-$LEHB2 | |
.uleb128 0 | |
.uleb128 0 | |
$LLSDACSE1765: | |
.section .text.startup | |
.size main, .-main | |
.align 2 | |
$LFB2018 = . | |
.cfi_startproc | |
.set nomips16 | |
.ent _GLOBAL__sub_I_main | |
.type _GLOBAL__sub_I_main, @function | |
_GLOBAL__sub_I_main: | |
.frame $sp,32,$31 # vars= 0, regs= 2/0, args= 16, gp= 8 | |
.mask 0x80010000,-4 | |
.fmask 0x00000000,0 | |
.set noreorder | |
.set nomacro | |
addiu $sp,$sp,-32 | |
.cfi_def_cfa_offset 32 | |
sw $16,24($sp) | |
.cfi_offset 16, -8 | |
lui $16,%hi(_ZStL8__ioinit) | |
sw $31,28($sp) | |
.cfi_offset 31, -4 | |
jal _ZNSt8ios_base4InitC1Ev | |
addiu $4,$16,%lo(_ZStL8__ioinit) | |
lw $31,28($sp) | |
lui $4,%hi(_ZNSt8ios_base4InitD1Ev) | |
addiu $5,$16,%lo(_ZStL8__ioinit) | |
lui $6,%hi(__dso_handle) | |
lw $16,24($sp) | |
addiu $4,$4,%lo(_ZNSt8ios_base4InitD1Ev) | |
addiu $6,$6,%lo(__dso_handle) | |
.cfi_restore 16 | |
.cfi_restore 31 | |
j __cxa_atexit | |
addiu $sp,$sp,32 | |
.cfi_def_cfa_offset 0 | |
.set macro | |
.set reorder | |
.end _GLOBAL__sub_I_main | |
.cfi_endproc | |
$LFE2018: | |
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main | |
.section .ctors,"aw",@progbits | |
.align 2 | |
.word _GLOBAL__sub_I_main | |
.local _ZStL8__ioinit | |
.comm _ZStL8__ioinit,1,4 | |
.hidden DW.ref.__gxx_personality_v0 | |
.weak DW.ref.__gxx_personality_v0 | |
.section .data.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat | |
.align 2 | |
.type DW.ref.__gxx_personality_v0, @object | |
.size DW.ref.__gxx_personality_v0, 4 | |
DW.ref.__gxx_personality_v0: | |
.word __gxx_personality_v0 | |
.hidden __dso_handle | |
.ident "GCC: (GNU) 4.8.3" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment