Re: [PATCH GIT 0.6] make use of register variables & size_t

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux