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