Re: Question about JUMP and LINK

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

 




On 2012年03月16日 23:23, Dave Hylands wrote:
> Hi Bill,
>
> On Thu, Mar 15, 2012 at 11:52 PM, bill4carson<bill4carson@xxxxxxxxx>  wrote:
>> Hi, All
>>
>> The question is simple.
>>
>> func_a {
>>
>>     call func_b
>> }
>>
>> func_b {
>>
>>     call func_c
>> }
>>
>> func_c {
>>
>>         return to func_a
>> }
>>
>>
>> The compiler I use let func_c to return func_a directly, IOW when func_b
>> calls func_c, it use JUMP, other JUMP and LINK, and it's definitely not
>> a question about inline or noinline.
>>
>> So can I ask why how to let the compiler use JUMP and LINK when func_b
>> calls func_c?
>
> This is called Tail Optimization. See
> http://c2.com/cgi/wiki?TailCallOptimization
>
> gcc (I'm using 4.4.4) with -O3 does this.
>
Thanks for the information.


>> If it's not the right place to post this, sorry for the noise.
>
> The kernel newbies list is probably not the right place (since this
> has nothing to do with the kernel). It also has nothing to do with
> binutils. It's a gcc optimization, so picking a gcc list would
> probably be more appropriate.
>

-- 
I am a slow learner
but I will keep trying to fight for my dreams!

--bill

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux