Messages in this thread | | | Date | Mon, 25 Apr 2005 15:01:47 +0200 | From | Matthias-Christian Ott <> | Subject | Re: [PATCH GIT 0.6] make use of register variables & size_t |
| |
Matthias-Christian Ott wrote: > Rene Rebe wrote: > >> Hi, >> >> Matthias-Christian Ott wrote: >> >>> The "git" didn't try store small variables, which aren't referenced, >>> in the processor registers. It also didn't use the size_t type. I >>> corrected a C++ style comment too. >> >> >> >> Well, modern compilers take register as a non-binding hint. Your >> register storage specification for those loop counters will not make >> any change. You have not looked into the resulting binary? >> >> Also // is valid C99 ... >> >> Yours, >> > But if you use only /* */ comments and there's a // comment it looks > ugly :). > > I've disassembled the code and it for me (I'm not a professional > assembler coder) it looks like it's stored in a register because the ebp > offsets are smaller and the gcc (4.0) wouldn't cause an error if you > reference them. > > Matthias-Christian Ott > - > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Here's some example code (diff of the assembler codes) which shows what I mean:
- movl %eax, -8(%ebp) + movl %eax, -4(%ebp) [..] - leal 1(%eax), %ecx - movl -52(%ebp), %edx + leal 1(%eax), %edx movl 12(%ebp), %eax - subl %edx, %eax - movl %eax, %edx - movl -52(%ebp), %eax + movl %eax, %ecx + subl -80(%ebp), %ecx + movl -80(%ebp), %eax sall $2, %eax movl %eax, %ebx addl 8(%ebp), %ebx
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |