gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] New random tester failures


From: Paul F. Dietz
Subject: Re: [Gcl-devel] New random tester failures
Date: Mon, 29 Nov 2004 20:43:06 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040803

Camm Maguire wrote:
Greetings!

Interesting -- I had thought we'd hit gcl memory limits far before
gcc.
In any case, I can't do anything with just this C file.  Need at least
the .h and .data files too, and most prefereably the lisp.  You can
save all these files by

Here is an example of a function that causes an explosion in the C
file, and a very long compile time (using > 500 MB):

(defun foo (a)
   (declare (type (integer 0 100000) a))
   (declare (optimize (safety 2)))
   (MAX A 7 12 A -6705 A A -3 -1 A -5432 112919 A A 244544 -981))

(The two declarations are necessary to see this behavior.)

The .c file compresses from 1256840 bytes down to 48627 under
gzip, so there's clearly a great deal of code duplication in
it.

This behavior probably started because I increased the maximum
arity of n-ary forms generated by the random tester.  I suspect
the C code size is exponential in the number of arguments to max,
but haven't done the experiments to confirm that.

Files attached.

        Paul





Attachment: gazonk114.c.gz
Description: Unix tar archive

       
#(
#(-6705 -5432 112919 244544 (system::%init . #((system::mf (lisp::quote 
cl-test::foo) 0) (system::debugger (lisp::quote cl-test::foo) (lisp::quote 
(cl-test::a))))))
)
static void L1();
#define VC1
#define VM1 2
static char * VVi[5]={
#define Cdata VV[4]
(char *)(L1)
};
#define VV ((object *)VVi)
(lisp::defun cl-test::foo (cl-test::a) (lisp::declare (lisp::type 
(lisp::integer 0 100000) cl-test::a)) (lisp::declare (lisp::optimize 
(lisp::safety 2))) (lisp::max cl-test::a 7 12 cl-test::a -6705 cl-test::a 
cl-test::a -3 -1 cl-test::a -5432 112919 cl-test::a cl-test::a 244544 -981))

reply via email to

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