#292: Large generated functions problems -----------------------+---------------------------------------------------- Reporter: sboukarev | Owner: ehuelsmann Type: defect | Status: new Priority: major | Milestone: Component: compiler | Version: Keywords: | -----------------------+---------------------------------------------------- Some components of f2cl, which are generated from Fortran, have functions with lots of code in it.
If there's too much code between go and a label, ABCL can't compile it.
{{{ (defmacro labels-galore (n) `(prog () (go label1) label2 ,@(loop for i to n collect `(print ,i) ) (return) label1 (go label2)))
(defun test () (labels-galore 10000)) }}}
The assertion (<= -32768 JVM::OFFSET 32767) failed.
Increasing the number will eventually lead to a stack overflow.
Just a large body:
{{{ (defmacro large-body (n) `(progn ,@(loop for i to n collect `(print ,i))))
(defun test () (large-body 10000)) }}}
The assertion (< 0 (LENGTH JVM::C) 65536) failed.