[Bug c++/64500] push_to_top_level() shows up high during Chromium build.

2016-02-16 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64500

--- Comment #3 from Markus Trippelsdorf  ---
And it immediately jumps back up again:

   │6cc:   mov0x10(%rbx),%rbx
   │   test   %rbx,%rbx
   │ ↑ jnec0

[Bug c++/64500] push_to_top_level() shows up high during Chromium build.

2016-02-16 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64500

--- Comment #2 from Markus Trippelsdorf  ---
sassembly of section .text:
   │
   │ 00ddaba0 :
   │ _Z17push_to_top_levelv():
  0.00 │   push   %r15
  0.03 │   push   %r14
   │   mov$0xb,%edi
   │   push   %r13
   │  b:   push   %r12
   │   push   %rbp
   │   push   %rbx
   │   sub$0x18,%rsp
   │ → callq  timevar_cond_start(timevar_id_t)
   │   xor%edx,%edx
   │   xor%esi,%esi
   │   mov$0x1,%ecx
  0.00 │   mov$0xc0,%edi
   │   mov%al,0xf(%rsp)
   │ → callq  ggc_internal_cleared_alloc(unsigned long, void
(*)(void*), unsigned long, unsigned long)
   │   mov%rax,%r15
   │   movscope_chain,%rax
   │   test   %rax,%rax
   │ ↓ je 636
   │   movcfun,%rbx
   │ 49:   test   %rbx,%rbx
   │ ↓ jne65b
  0.01 │   mov0xa8(%rax),%r14
   │   xor%r13d,%r13d
   │ 5c:   mov0x50(%rax),%rbp
  0.01 │   test   %rbp,%rbp
   │ ↓ je 693
   │   mov0x28(%rbp),%rdi
  0.00 │   mov%r15,%rsi
   │ → callq  store_class_bindings(vec

[Bug c++/64500] push_to_top_level() shows up high during Chromium build.

2015-01-20 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64500

--- Comment #1 from Martin Liška marxin at gcc dot gnu.org ---
Created attachment 34498
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34498action=edit
perf report for the testcase