000000000000db20 <g_object_ref>:
    db20:       55                      push   %rbp
    db21:       53                      push   %rbx
    db22:       48 89 fb                mov    %rdi,%rbx
    db25:       48 83 ec 08             sub    $0x8,%rsp
    db29:       48 85 ff                test   %rdi,%rdi
    db2c:       74 1f                   je     db4d <g_object_ref+0x2d>
    db2e:       48 8b 07                mov    (%rdi),%rax
    db31:       48 85 c0                test   %rax,%rax
    db34:       74 06                   je     db3c <g_object_ref+0x1c>
    db36:       48 83 38 50             cmpq   $0x50,(%rax)
    db3a:       74 34                   je     db70 <g_object_ref+0x50>
    db3c:       be 50 00 00 00          mov    $0x50,%esi
    db41:       48 89 df                mov    %rbx,%rdi
    db44:       e8 d7 a3 01 00          callq  27f20 <g_type_check_instance_is_a>
    db49:       85 c0                   test   %eax,%eax
    db4b:       75 23                   jne    db70 <g_object_ref+0x50>
    db4d:       48 8d 15 d6 79 02 00    lea    0x279d6(%rip),%rdx        # 3552a <finfo.10123+0x16>
    db54:       48 8d 35 55 88 02 00    lea    0x28855(%rip),%rsi        # 363b0 <__PRETTY_FUNCTION__.13614>
    db5b:       48 8d 3d 22 6c 02 00    lea    0x26c22(%rip),%rdi        # 34784 <_fini+0x7c>
    db62:       e8 91 b1 ff ff          callq  8cf8 <g_return_if_fail_warning@plt>
    db67:       31 c0                   xor    %eax,%eax
    db69:       48 83 c4 08             add    $0x8,%rsp
    db6d:       5b                      pop    %rbx
    db6e:       5d                      pop    %rbp
    db6f:       c3                      retq   
    db70:       8b 43 08                mov    0x8(%rbx),%eax
    db73:       85 c0                   test   %eax,%eax
    db75:       74 31                   je     dba8 <g_object_ref+0x88>
    db77:       48 8d 7b 08             lea    0x8(%rbx),%rdi
    db7b:       be 01 00 00 00          mov    $0x1,%esi
    db80:       e8 93 ae ff ff          callq  8a18 <g_atomic_int_exchange_and_add@plt>
    db85:       83 f8 01                cmp    $0x1,%eax
    db88:       89 c5                   mov    %eax,%ebp
    db8a:       74 44                   je     dbd0 <g_object_ref+0xb0>
    db8c:       48 8b 05 7d 8d 23 00    mov    0x238d7d(%rip),%rax        # 246910 <_DYNAMIC+0x328>
    db93:       66 83 38 00             cmpw   $0x0,(%rax)
    db97:       75 50                   jne    dbe9 <g_object_ref+0xc9>
    db99:       48 89 d8                mov    %rbx,%rax
    db9c:       48 83 c4 08             add    $0x8,%rsp
    dba0:       5b                      pop    %rbx
    dba1:       5d                      pop    %rbp
    dba2:       c3                      retq   
    dba3:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
    dba8:       48 8d 15 b1 79 02 00    lea    0x279b1(%rip),%rdx        # 35560 <finfo.10123+0x4c>
    dbaf:       48 8d 35 fa 87 02 00    lea    0x287fa(%rip),%rsi        # 363b0 <__PRETTY_FUNCTION__.13614>
    dbb6:       48 8d 3d c7 6b 02 00    lea    0x26bc7(%rip),%rdi        # 34784 <_fini+0x7c>
    dbbd:       e8 36 b1 ff ff          callq  8cf8 <g_return_if_fail_warning@plt>
    dbc2:       31 c0                   xor    %eax,%eax
    dbc4:       eb a3                   jmp    db69 <g_object_ref+0x49>
    dbc6:       66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
    dbcd:       00 00 00 
    dbd0:       48 8d 7b 10             lea    0x10(%rbx),%rdi
    dbd4:       e8 7f b3 ff ff          callq  8f58 <g_atomic_pointer_get@plt>
    dbd9:       a8 01                   test   $0x1,%al
    dbdb:       74 af                   je     db8c <g_object_ref+0x6c>
    dbdd:       31 f6                   xor    %esi,%esi
    dbdf:       48 89 df                mov    %rbx,%rdi
    dbe2:       e8 e9 fe ff ff          callq  dad0 <toggle_refs_notify>
    dbe7:       eb a3                   jmp    db8c <g_object_ref+0x6c>
    dbe9:       48 8b 03                mov    (%rbx),%rax
    dbec:       90                      nop
    dbed:       eb aa                   jmp    db99 <g_object_ref+0x79>
    dbef:       90                      nop

[walters@localhost gobject]$ inroot /src/build/dbus ./run-performance.sh 
gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../glib -I../../gmodule -DG_ENABLE_DEBUG  -DG_DISABLE_SINGLE_INCLUDES -pthread  -g -O2 -Wall -MT performance.o -MD -MP -MF .deps/performance.Tpo -c -o performance.o performance.c
mv -f .deps/performance.Tpo .deps/performance.Po
/bin/sh ../../libtool  --tag=CC   --mode=link gcc  -g -O2 -Wall   -o performance performance.o ../../gobject/libgobject-2.0.la ../../glib/libglib-2.0.la ../../gthread/libgthread-2.0.la 
libtool: link: gcc -g -O2 -Wall -o .libs/performance performance.o  ../../gobject/.libs/libgobject-2.0.so /src/glib/gthread/.libs/libgthread-2.0.so ../../glib/.libs/libglib-2.0.so ../../gthread/.libs/libgthread-2.0.so -lpthread -lrt /src/glib/glib/.libs/libglib-2.0.so -Wl,-rpath -Wl,/src/build/jhbuild/lib64
Testing revision 34a92107046bec75b3ccaf437c4f6f48577be27b
Running test simple-construction
Number of constructed objects per second: 7041237
Running test complex-construction
Number of constructed objects per second: 708507
Running test type-check
Million type checks per second: 21.56
Running test emit
Emissions per second: 1603270
[walters@localhost gobject]$ 

