[Ecls-list] Critical change

Juan Jose Garcia Ripoll lisp at arrakis.es
Tue May 23 02:09:06 UTC 2006


Hi,

I have submitted a compiler fix that, though tested, might have some
problems.

The fix was born to solve problems with inlined function calls with
large number of arguments, such as the test shown below. In the mean
time it has become a drastic change in the compiler which contains
special forms for manipulating the lisp stack. These forms are now used
to handle multiple-value-call, multiple-value-prog1 and unwind-protect,
as well.

If you experience that ECL becomes very unstable or produces strange
results, you can revert to the state before changes with
	cvs update -C -P -d -r ECL_PRE_COMPILER_FIX
But if this is the case, I would appreciate a detailed bug report about
what caused your problems.

Regards,

	Juanjo

........

Before, following would crash ECL

   (let ((form '(lambda ()
		  (list (list
		   'a0 'b0 'c0 'd0 'e0 'f0 'g0 'h0 'i0
		   'j0 'k0 'l0 'm0 'n0 'o0 'p0 'q0
		   'r0 's0 't0 'u0 'v0 'w0 'x0 'y0 'z0
		   'a1 'b1 'c1 'd1 'e1 'f1 'g1 'h1 'i1
		   'j1 'k1 'l1 'm1 'n1 'o1 'p1 'q1
		   'r1 's1 't1 'u1 'v1 'w1 'x1 'y1 'z1
		   'a2 'b2 'c2 'd2 'e2 'f2 'g2 'h2 'i2
		   'j2 'k2 'l2 'm2 'n2 'o2 'p2 'q2
		   'r2 's2 't2 'u2 'v2 'w2 'x2 'y2 'z2
		   'a3 'b3 'c3 'd3 'e3 'f3 'g3 'h3 'i3
		   'j3 'k3 'l3 'm3 'n3 'o3 'p3 'q3
		   'r3 's3 't3 'u3 'v3 'w3 'x3 'y3 'z3
		   'a4 'b4 'c4 'd4 'e4 'f4 'g4 'h4 'i4
		   'j4 'k4 'l4 'm4 'n4 'o4 'p4 'q4
		   'r4 's4 't4 'u4 'v4 'w4 'x4 'y4 'z4
		   'a5 'b5 'c5 'd5 'e5 'f5 'g5 'h5 'i5
		   'j5 'k5 'l5 'm5 'n5 'o5 'p5 'q5
		   'r5 's5 't5 'u5 'v5 'w5 'x5 'y5 'z5
		   'a6 'b6 'c6 'd6 'e6 'f6 'g6 'h6 'i6
		   'j6 'k6 'l6 'm6 'n6 'o6 'p6 'q6
		   'r6 's6 't6 'u6 'v6 'w6 'x6 'y6 'z6)))))
      (equal (funcall (compile 'nil form))
	     (funcall (coerce form 'function))))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20060523/56009d9b/attachment.sig>


More information about the ecl-devel mailing list