Thiemo Seufer wrote:
> > Hm. 32bit Mips has 2GB user process space. The stack grows downward
> > from 0x7fffffff, the space from 0x2a000000 upwards is used for shared
> > libraries, executables load text at 0x00400000, and data at 0x10000000.
> > Using the space between 0x30000000 and 0x70000000 might work, I'll give
> > it a try.
> It works mostly, but sbcl uses the j and jal instructions for jumps,
> and those are limited to a 256MB aligned memory section of 256MB size.
> The insn definition for j and jal (in compiler/mips/insts.lisp) should
> be extended to check the distance to the jump target, and use jr/jalr
> if it is out of range, or isn't known.
> Unfortunately I don't know enough lisp to do that myself.
With the heap increased to 96MB (at the expense of read-only/static
space) I get those failures in ansi-tests-compiled.log:
73 out of 20336 total tests failed: DOLIST.17, CALL-NEXT-METHOD.ERROR.1,
CALL-NEXT-METHOD.ERROR.2, ATANH.4, ATANH.5A, /.ERROR.5, /.ERROR.6, /.ERROR.7,
/.ERROR.8, COPY-SEQ.19, MAP.ERROR.10, STRUCT-TEST-65/ERROR.3,
STRUCT-TEST-65/ERROR.4, SUBTYPEP-FUNCTION.1, SUBTYPEP-FUNCTION.2,
SUBTYPEP-FUNCTION.3, SUBTYPEP-FUNCTION.4, SUBTYPEP-COMPLEX.8,
PATHNAME-HOST.9, LOGICAL-PATHNAME.ERROR.2, LOGICAL-PATHNAME.ERROR.10,
READ-SEQUENCE.ERROR.7, WRITE-SEQUENCE.ERROR.3, FILE-LENGTH.ERROR.8,
MAKE-BROADCAST-STREAM.5, MAKE-BROADCAST-STREAM.7, MAKE-BROADCAST-STREAM.8,
WITH-OUTPUT-TO-STRING.16, PRINT.BACKQUOTE.RANDOM.6, PRINT.BACKQUOTE.RANDOM.7,
PRINT.BACKQUOTE.RANDOM.12, PRINT.BACKQUOTE.RANDOM.14, PPRINT-FILL.14,
PPRINT-FILL.15, PPRINT-LINEAR.14, PPRINT-TABULAR.13, PPRINT-LOGICAL-BLOCK.17,
PPRINT-POP.7, PPRINT-POP.8, PPRINT-POP.9, PRINT-LEVEL.2, PRINT-LEVEL.6,
FORMAT.LOGICAL-BLOCK.CIRCLE.3, READ-SUPPRESS.14, READ-SUPPRESS.15,
SYNTAX.DOT-ERROR.7, COMPILE-FILE.2, COMPILE-FILE.13, COMPILE-FILE.14,
COMPILE-FILE.16, LOAD-PATHNAME.1, LOAD-TRUENAME.1, APROPOS.ERROR.2,
APROPOS-LIST.ERROR.2, MISC.63, MISC.64, MISC.65, MISC.89, MISC.89A, MISC.89B,
MISC.293A, MISC.363, MISC.414, MISC.439, MISC.460, MISC.534, MISC.555,
2442.838 seconds of real time
2225.42 seconds of user run time
205.3 seconds of system run time
2382 page faults and
14,363,331,488 bytes consed.