|
From: | tk |
Subject: | [Bug-kawa] [bug #36592] nested map causes compiler inliner NPE |
Date: | Tue, 05 Jun 2012 10:57:27 +0000 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1160.0 Safari/537.1 |
URL: <http://savannah.gnu.org/bugs/?36592> Summary: nested map causes compiler inliner NPE Project: Kawa Submitted by: huh Submitted on: Tue 05 Jun 2012 10:57:26 AM GMT Category: Code generation Severity: 3 - Normal Item Group: Compile-time exception Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any _______________________________________________________ Details: nested calls to map with lambda expression cause exception when compiler attempts to inline inner expression (Kawa 1.12.1 (revision 7245M)) #|kawa:1|# (map (lambda (x) x) (map (lambda (x) x) '(1 2 3))) /dev/stdin:1:21: caught exception in inliner for #<procedure map> - java.lang.NullPointerException gnu.expr.InlineCalls.visit(InlineCalls.java:50) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:537) gnu.expr.InlineCalls.visitLetExp(InlineCalls.java:36) gnu.expr.LetExp.visit(LetExp.java:204) gnu.expr.ExpVisitor.visit(ExpVisitor.java:57) gnu.expr.InlineCalls.visit(InlineCalls.java:52) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:135) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:36) gnu.expr.ApplyExp.visit(ApplyExp.java:436) gnu.expr.ExpVisitor.visit(ExpVisitor.java:57) gnu.expr.InlineCalls.visit(InlineCalls.java:52) gnu.expr.QuoteExp.validateApply(QuoteExp.java:165) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:139) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:36) gnu.expr.ApplyExp.visit(ApplyExp.java:436) gnu.expr.ExpVisitor.visit(ExpVisitor.java:57) gnu.expr.InlineCalls.visit(InlineCalls.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:36) gnu.expr.ExpVisitor.visitAndUpdate(ExpVisitor.java:143) gnu.expr.ExpVisitor.visitExps(ExpVisitor.java:157) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:441) gnu.expr.LambdaExp.validateApply(LambdaExp.java:1788) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:197) gnu.expr.InlineCalls.visitApplyOnly(InlineCalls.java:162) gnu.kawa.functions.CompileMisc.validateApplyMap(CompileMisc.java:725) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:852) gnu.expr.QuoteExp.validateApply(QuoteExp.java:153) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:197) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:139) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:36) gnu.expr.ApplyExp.visit(ApplyExp.java:436) gnu.expr.ExpVisitor.visit(ExpVisitor.java:53) gnu.expr.InlineCalls.visit(InlineCalls.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:36) gnu.expr.ExpVisitor.visitAndUpdate(ExpVisitor.java:143) gnu.expr.ExpVisitor.visitExps(ExpVisitor.java:157) gnu.expr.ApplyExp.visitArgs(ApplyExp.java:441) gnu.expr.LambdaExp.validateApply(LambdaExp.java:1788) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:197) gnu.expr.InlineCalls.visitApplyOnly(InlineCalls.java:162) gnu.kawa.functions.CompileMisc.validateApplyMap(CompileMisc.java:744) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:852) gnu.expr.QuoteExp.validateApply(QuoteExp.java:153) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:197) gnu.kawa.functions.CompilationHelpers.validateApplyToArgs(CompilationHelpers.java:73) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) gnu.expr.InlineCalls.maybeInline(InlineCalls.java:852) gnu.expr.QuoteExp.validateApply(QuoteExp.java:153) gnu.expr.ReferenceExp.validateApply(ReferenceExp.java:197) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:139) gnu.expr.InlineCalls.visitApplyExp(InlineCalls.java:36) gnu.expr.ApplyExp.visit(ApplyExp.java:436) gnu.expr.ExpVisitor.visit(ExpVisitor.java:53) gnu.expr.InlineCalls.visit(InlineCalls.java:52) gnu.expr.InlineCalls.visit(InlineCalls.java:36) gnu.expr.LambdaExp.visitChildrenOnly(LambdaExp.java:1715) gnu.expr.LambdaExp.visitChildren(LambdaExp.java:1702) gnu.expr.InlineCalls.visitScopeExp(InlineCalls.java:444) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:644) gnu.expr.InlineCalls.visitLambdaExp(InlineCalls.java:36) gnu.expr.ExpVisitor.visitModuleExp(ExpVisitor.java:105) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:492) gnu.expr.InlineCalls.visitModuleExp(InlineCalls.java:36) gnu.expr.ModuleExp.visit(ModuleExp.java:462) gnu.expr.ExpVisitor.visit(ExpVisitor.java:53) gnu.expr.InlineCalls.visit(InlineCalls.java:52) gnu.expr.InlineCalls.inlineCalls(InlineCalls.java:40) gnu.expr.Compilation.walkModule(Compilation.java:959) gnu.expr.Compilation.process(Compilation.java:1933) gnu.expr.ModuleInfo.loadByStages(ModuleInfo.java:305) gnu.expr.ModuleExp.evalModule1(ModuleExp.java:223) gnu.expr.ModuleExp.evalModule(ModuleExp.java:195) kawa.Shell.run(Shell.java:279) kawa.Shell.run(Shell.java:194) kawa.Shell.run(Shell.java:175) kawa.repl.main(repl.java:957) _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?36592> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |