|
| From: | Helmut Eller |
| Subject: | [Bug-kawa] [bug #27011] ArrayIndexOutOfBoundsException after 20 local variables |
| Date: | Sat, 11 Jul 2009 07:13:52 +0000 |
| User-agent: | Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1 |
URL:
<http://savannah.gnu.org/bugs/?27011>
Summary: ArrayIndexOutOfBoundsException after 20 local
variables
Project: Kawa
Submitted by: ellerh
Submitted on: Sat 11 Jul 2009 07:13:51 AM GMT
Category: None
Severity: 3 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
Compiling code like this:
(define (big-let) ; no argument!
(define x0 "a")
(define x1 "a")
(define x2 "a")
(define x3 "a")
(define x4 "a")
(define x5 "a")
(define x6 "a")
(define x7 "a")
(define x8 "a")
(define x9 "a")
(define x10 "a")
(define x11 "a")
(define x12 "a")
(define x13 "a")
(define x14 "a")
(define x15 "a")
(define x16 "a")
(define x17 "a")
(define x18 "a")
(define x19 "a")
(define x20 "a")
(set! x0 x1 )
(set! x1 x2 )
(set! x2 x3 )
(set! x3 x4 )
(set! x4 x5 )
(set! x5 x6 )
(set! x6 x7 )
(set! x7 x8 )
(set! x8 x9 )
(set! x9 x10)
(set! x10 x11)
(set! x11 x12)
(set! x12 x13)
(set! x13 x14)
(set! x14 x15)
(set! x15 x16)
(set! x16 x17)
(set! x17 x18)
(set! x18 x19)
(set! x19 x20)
(set! x20 x0 )
x0)
aborts with this exception:
big-let.scm:3: internal error while compiling big-let.scm
java.lang.ArrayIndexOutOfBoundsException: 20
at gnu.bytecode.CodeAttr.noteVarType(CodeAttr.java:363)
at gnu.bytecode.CodeAttr.emitStore(CodeAttr.java:1350)
at gnu.expr.Declaration.compileStor(Declaration.java:318)
at gnu.expr.LetExp.store_rest(LetExp.java:137)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.store_rest(LetExp.java:120)
at gnu.expr.LetExp.compile(LetExp.java:188)
at gnu.expr.Expression.compileNotePosition(Expression.java:159)
at gnu.expr.Expression.compileWithPosition(Expression.java:145)
at gnu.expr.LambdaExp.compileBody(LambdaExp.java:1608)
at gnu.expr.LambdaExp.compileAsMethod(LambdaExp.java:1584)
at gnu.expr.LambdaExp.compileSetField(LambdaExp.java:650)
at gnu.expr.SetExp.compile(SetExp.java:172)
at gnu.expr.Expression.compileNotePosition(Expression.java:159)
at gnu.expr.Expression.compileWithPosition(Expression.java:145)
at gnu.expr.LambdaExp.compileBody(LambdaExp.java:1608)
at gnu.expr.Compilation.generateBytecode(Compilation.java:2016)
at gnu.expr.Compilation.process(Compilation.java:1892)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:308)
at gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:293)
at kawa.repl.compileFiles(repl.java:803)
at kawa.repl.processArgs(repl.java:457)
at kawa.repl.main(repl.java:866)
Kawa version: 1.9.3 (revision 6289M)
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?27011>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
| [Prev in Thread] | Current Thread | [Next in Thread] |