On Thu, Aug 25, 2016 at 12:15 AM, Cholerae Hu <cholerae...@gmail.com> wrote: > Does that mean that only inlined functions will be optimized and any > functions not inlined will not be optimized ?
I'm not really sure what you are asking. A function that is not inlined will not be inlined. That is sufficient to ensure that runtime.KeepAlive works as intended. A function that is not inlined, for whatever reason, will still be optimized as usual. Ian > 在 2016年8月25日星期四 UTC+8上午11:55:12,Ian Lance Taylor写道: >> >> On Wed, Aug 24, 2016 at 7:06 PM, Cholerae Hu <chole...@gmail.com> wrote: >> > >> > I've read the source of package runtime, and found that >> > runtime.KeepAlive is >> > an empty function. If go compiler can do dead code elimination in the >> > future, how to protect runtime.KeepAlive from being optimized? >> >> The KeepAlive function is marked with the magic go:noinline comment, >> so it can't be inlined. >> >> In any case it seems possible that the compiler will recognize the >> function specially in the future, for greater efficiency. >> >> Ian > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.