Greetings!  I believe this is addressed in t4, though verification is
always helpful.  The compiler suddenly became smart enought to
distinguish boolean from t, disabling the boolean inlining.  Boolean
inline entries now automatically generate t values inlines as well.
Needs testing, but looks good so far.

take care,

Robert Boyer <[EMAIL PROTECTED]> writes:

> On an early examination, in at least some cases, the newest GCL 2.7.0 seems
> slow to me.
> 
> I am wondering about the following.  Consider:
> 
>   (defun foo (x) (consp x))
> 
> which disassembles now as
> 
>    static void L1()
>    {register object *base=vs_base;
>          register object *sup=base+VM1; VC1
>          vs_check;
>          {object V1;
>          V1=(base[0]);
>          vs_top=sup;
>          goto TTL;
>    TTL:;
>          base[1]= (V1);
>          vs_top=(vs_base=base+1)+1;
>          Lconsp();
>          return;
>          }
>    }
>  
> Isn't that passing by the KCL stack and doing a function call?  Isn't that
> slower than GCL 2.6.6's:
> 
>    static void L1()
>    {register object *base=vs_base;
>          register object *sup=base+VM1; VC1
>          vs_check;
>          {object V1;
>          V1=(base[0]);
>          vs_top=sup;
>          goto TTL;
>    TTL:;
>          base[1]= (type_of((V1))==t_cons?Ct:Cnil);
>          vs_top=(vs_base=base+1)+1;
>          return;
>          }
>    }
> 
> Thanks,
> 
> Bob
> 
> 
> 

-- 
Camm Maguire                                            [EMAIL PROTECTED]
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah


_______________________________________________
Gcl-devel mailing list
Gcl-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/gcl-devel

Reply via email to