gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: Curious about consp compilation


From: Camm Maguire
Subject: [Gcl-devel] Re: Curious about consp compilation
Date: 09 Aug 2005 01:29:43 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

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 <address@hidden> 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                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]