.file "fps.cpp" .text .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string " INIT TIME COUNTER: %d FPS \n" .text .align 2 .p2align 4 .globl _ZN3FPS15InitTimeCounterEv .type _ZN3FPS15InitTimeCounterEv, @function _ZN3FPS15InitTimeCounterEv: .LFB34: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %rbx subq $8, %rsp .cfi_offset 3, -24 1: call mcount xorl %esi, %esi movq %rdi, %rbx leaq 16(%rdi), %rdi call gettimeofday movl $60, 32(%rbx) movq -8(%rbp), %rbx movl $60, %esi leave .cfi_def_cfa 7, 8 movl $.LC0, %edi xorl %eax, %eax jmp printf .cfi_endproc .LFE34: .size _ZN3FPS15InitTimeCounterEv, .-_ZN3FPS15InitTimeCounterEv .align 2 .p2align 4 .globl _ZN3FPS17UpdateTimeCounterEf .type _ZN3FPS17UpdateTimeCounterEf, @function _ZN3FPS17UpdateTimeCounterEf: .LFB35: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 pushq %rbx subq $8, %rsp .cfi_offset 3, -24 1: call mcount xorl %esi, %esi movss 36(%rdi), %xmm0 movq %rdi, %rbx movss %xmm0, 40(%rdi) call gettimeofday movq 8(%rbx), %rax pxor %xmm0, %xmm0 subq 24(%rbx), %rax cvtsi2ssq %rax, %xmm0 pxor %xmm1, %xmm1 movq (%rbx), %rax subq 16(%rbx), %rax cvtsi2ssq %rax, %xmm1 cvtss2sd %xmm0, %xmm0 mulsd .LC1(%rip), %xmm0 cvtss2sd %xmm1, %xmm1 addsd %xmm1, %xmm0 cvtsd2ss %xmm0, %xmm0 movss %xmm0, 36(%rbx) movq -8(%rbp), %rbx leave .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE35: .size _ZN3FPS17UpdateTimeCounterEf, .-_ZN3FPS17UpdateTimeCounterEf .section .rodata.str1.1 .LC2: .string "%4.1f SECONDS * %04.2f FPS\n" .text .align 2 .p2align 4 .globl _ZN3FPS12CalculateFPSEv .type _ZN3FPS12CalculateFPSEv, @function _ZN3FPS12CalculateFPSEv: .LFB36: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 1: call mcount movl Frame(%rip), %eax movl 32(%rdi), %ecx addl $1, %eax movss 36(%rdi), %xmm0 cltd movl %eax, Frame(%rip) idivl %ecx testl %edx, %edx je .L5 movss 44(%rdi), %xmm1 .L6: movl $.LC2, %edi movl $2, %eax popq %rbp .cfi_remember_state .cfi_def_cfa 7, 8 cvtss2sd %xmm0, %xmm0 cvtss2sd %xmm1, %xmm1 jmp printf .p2align 4,,10 .p2align 3 .L5: .cfi_restore_state pxor %xmm1, %xmm1 movaps %xmm0, %xmm2 subss prevTime(%rip), %xmm2 movss %xmm0, prevTime(%rip) cvtsi2ssl %ecx, %xmm1 divss %xmm2, %xmm1 movss %xmm1, 44(%rdi) jmp .L6 .cfi_endproc .LFE36: .size _ZN3FPS12CalculateFPSEv, .-_ZN3FPS12CalculateFPSEv .globl Frame .data .align 4 .type Frame, @object .size Frame, 4 Frame: .long 1 .globl prevTime .bss .align 4 .type prevTime, @object .size prevTime, 4 prevTime: .zero 4 .section .rodata.cst8,"aM",@progbits,8 .align 8 .LC1: .long -1598689907 .long 1051772663 .ident "GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)" .section .note.GNU-stack,"",@progbits