Boost logo

Boost :

Subject: Re: [boost] [Block Pointer] benchmark
From: Phil Bouchard (philippe_at_[hidden])
Date: 2011-05-26 18:02:55


With the jump labels:

*** worker_make ***:
push %r12
xor %r12d,%r12d
push %rbp
xor %ebp,%ebp
push %rbx
nopl 0x0(%rax)

<void worker_make<std::auto_ptr<int>, &(std::auto_ptr<int>
make_auto<int>())>()+16>:
mov $0x4,%edi
callq 0x405288 <_Znwm_at_plt> (operator new)
mov %rax,%rbx
xor %edi,%edi
callq 0x405058 <_ZdlPv_at_plt> (operator delete)
cmp %rbx,%r12
je 0x406464 <void worker_make<std::auto_ptr<int>, &(std::auto_ptr<int>
make_auto<int>())>()+52>
mov %r12,%rdi
mov %rbx,%r12
callq 0x405058 <_ZdlPv_at_plt> (operator delete)

<void worker_make<std::auto_ptr<int>, &(std::auto_ptr<int>
make_auto<int>())>()+52>:
xor %edi,%edi
add $0x1,%ebp
callq 0x405058 <_ZdlPv_at_plt> (operator delete)
cmp $0x186a0,%ebp
jne 0x406440 <void worker_make<std::auto_ptr<int>, &(std::auto_ptr<int>
make_auto<int>())>()+16>
pop %rbx
pop %rbp
mov %r12,%rdi
pop %r12
jmpq 0x405058 <_ZdlPv_at_plt> (operator delete)
mov %rax,%rbx
mov %r12,%rdi
callq 0x405058 <_ZdlPv_at_plt> (operator delete)
mov %rbx,%rdi
callq 0x405298 <_Unwind_Resume_at_plt>

*** worker_new ***:
push %r12
xor %r12d,%r12d
push %rbp
xor %ebp,%ebp
push %rbx
nopl 0x0(%rax)

<void worker_new<std::auto_ptr<int>, int>()+16>:
mov $0x4,%edi
callq 0x405288 <_Znwm_at_plt> (operator new)
cmp %rax,%r12
mov %rax,%rbx
je 0x405e4d <void worker_new<std::auto_ptr<int>, int>()+45>
mov %r12,%rdi
mov %rbx,%r12
callq 0x405058 <_ZdlPv_at_plt> (operator delete)

<void worker_new<std::auto_ptr<int>, int>()+45>:
add $0x1,%ebp
cmp $0x186a0,%ebp
jne 0x405e30 <void worker_new<std::auto_ptr<int>, int>()+16>
pop %rbx
pop %rbp
mov %r12,%rdi
pop %r12
jmpq 0x405058 <_ZdlPv_at_plt> (operator delete)
mov %rax,%rbx
mov %r12,%rdi
callq 0x405058 <_ZdlPv_at_plt> (operator delete)
mov %rbx,%rdi
callq 0x405298 <_Unwind_Resume_at_plt>

-Phil


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk