Skip to content

Instantly share code, notes, and snippets.

@teknoman117
Created June 24, 2015 23:53
Show Gist options
  • Save teknoman117/0f0741d09c86adba345d to your computer and use it in GitHub Desktop.
Save teknoman117/0f0741d09c86adba345d to your computer and use it in GitHub Desktop.
MIPS -O3 output for reflectcpp
.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