Re: What's cooking in git.git (Aug 2009, #04; Sun, 23)

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

 



Brandon Casey <brandon.casey.ctr@xxxxxxxxxxxxxxx> writes:

> Nicolas is right, the code compiles and executes correctly on Solaris as-is.
>
> Here is the state of the two unsubmitted optimization patches:
>
>   1) Change things like __i386__ to __i386 since GCC defines both, but
>      SUNWspro only defines __i386.
>
>      This works correctly in my testing.  I'm assuming that a test for
>      __amd64 is not necessary and expect that __x86_64 is set whenever
>      __amd64 is set.
>
>   2) Set __GNUC__ on SUNWspro v5.10 and up.
>
>      This compiles correctly and passes the test suite, but produces
>      warnings for __attribute__'s that sun's compiler has not implemented.
>      This produces a very noisy compile.
>
> I've wanted to do some performance testing to see whether this actually
> produces an _improvement_.  I'll try today.

Thanks.

I agree (1) would be a reasonable thing to do.

(2) feels very iffy/hacky.  As far as I can see, by defining __GNUC__,
Solaris would also use builtin-alloca in compat/regex/regex.c, which may
or may not be what you want.

It might be cleaner to do:

	#if __GNUC__ || SUNWspro > 5.10
        #define GCC_LIKE_INLINE_ASM
        #define GCC_LIKE_STMT_EXPR
        #endif

and use them, instead of __GNUC__, to enable the inline assembly used in
the block sha1 codepath.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]