[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] CALL-ARGUMENTS-LIMIT and other things
From: |
Mike Thomas |
Subject: |
[Gcl-devel] CALL-ARGUMENTS-LIMIT and other things |
Date: |
Mon, 1 Nov 2004 15:49:59 +1000 |
Hi Camm.
1. While trawling through the ANSI tester output a few days ago I noticed
that call-arguments-limit (set to 64) conflicts with the test in "eval.c"
based on the C macro MAX_ARGS (63) defined in "h/funlink.h".
I played it safe and set call-arguments-limit to MAX_ARGS (in "eval.c")
which I left at 63. This fixed the failure of SUBTRACT.3 in the ANSI tests:
(LET ((ARGS NIL))
(LOOP
FOR
I
FROM
1
TO
(MIN 256 (1- CALL-ARGUMENTS-LIMIT))
DO
(PUSH 1 ARGS)
ALWAYS
(EQL (APPLY #'- 1000 ARGS) (- 1000 I))))
but is not necessarily a high quality design decision. I also set
LAMBDA-PARAMETERS-LIMIT to MAX_ARGS.
Now in CVS.
2. Also now in CVS is stack size configuration for Windows. I still need to
link it to the test for C stack origin by passing a switch to the linker for
that test. It is possible that other platforms may be affected accidentally
by these changes - hopefully not.
3. I am proposing a patch to GCL along the general lines set out below to
remove compiler warnings about the unknown optimizer quality "debug" as
frequently seen in the ANSI test output. These changes (*debug* and
appropriate checks in "cmpnew/gcl_cmpmain.lsp") are sufficient to remove
those warnings but I've hesitated about an appropriate compiler response to
the debug quality in light of the CLHS discussion:
http://www.lispworks.com/reference/HyperSpec/Issues/iss251_w.htm
I imagine that the right thing would be for that quality to put debug
switches in the C compiler command line via *c-debug* , leaving manipulation
of C optimizer switches to the other optimizer qualities (it might be
beneficial, on occasion, to have maximum optimization with debug symbols).
The negative side to this patch is that I renamed "si::debug" to
"si::debugger" to avoid a namespace clash with the compiler debug quality
symbol.
Not yet in CVS
After these changes 1164 of the ANSI tests fail on Windows.
Cheers
Mike Thomas.